Mikhail Glushenkov
a73e586495
Remove -llvmc-temp-hack from tblgen.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117197 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-23 07:32:53 +00:00
Mikhail Glushenkov
17ef94fe1b
Syntax tweak in llvmc: (something [a,b,c]) -> (something a, b, c).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117196 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-23 07:32:46 +00:00
Mikhail Glushenkov
c761f7dca2
Trailing whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117195 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-23 07:32:37 +00:00
Evan Cheng
5c2d428f43
Enable ARM fastcc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117194 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-23 02:19:37 +00:00
Evan Cheng
ec6906ba47
Properly model the latency of register defs which are 1) function returns or
...
2) live-outs.
Previously the post-RA schedulers completely ignore these dependencies since
returns, branches, etc. are all scheduling barriers. This patch model the
latencies between instructions being scheduled and the barriers. It also
handle calls by marking their register uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117193 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-23 02:10:46 +00:00
Evan Cheng
dd9dd6f857
Latency between CPSR def and branch is zero.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117192 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-23 02:04:38 +00:00
Jakob Stoklund Olesen
7871687604
Verify LiveIntervals against the CFG, ensuring that live-in values are live-out
...
of all predecessors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117191 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-23 00:49:09 +00:00
Owen Anderson
61f34bc4bc
Add tests for NEON encoding of vhsub.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117189 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 23:58:22 +00:00
Jim Grosbach
a9a968d1ef
Trailing whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117188 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 23:48:29 +00:00
Jim Grosbach
48c9f2081d
Add a CMP test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117187 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 23:48:01 +00:00
Owen Anderson
884f228692
Add tests for NEON encoding of vsubw.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117186 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 23:46:07 +00:00
Jim Grosbach
b2331553f8
tidy up
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117185 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 23:46:04 +00:00
Owen Anderson
2b6b97c815
Add tests for NEON encoding of vsubl.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117183 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 23:36:36 +00:00
Andrew Trick
f433106054
Nonvirtual dtor that was accessible enough to be bad.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117180 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 23:33:19 +00:00
Owen Anderson
313252022d
Add tests for NEON encoding of vsub.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117177 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 23:21:04 +00:00
Gabor Greif
41f31ef28e
fix memory-layout assumption which only holds on little-endian systems
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117176 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 23:16:11 +00:00
Andrew Trick
14e8d71cc9
This is a prototype of an experimental register allocation
...
framework. It's purpose is not to improve register allocation per se,
but to make it easier to develop powerful live range splitting. I call
it the basic allocator because it is as simple as a global allocator
can be but provides the building blocks for sophisticated register
allocation with live range splitting.
A minimal implementation is provided that trivially spills whenever it
runs out of registers. I'm checking in now to get high-level design
and style feedback. I've only done minimal testing. The next step is
implementing a "greedy" allocation algorithm that does some register
reassignment and makes better splitting decisions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117174 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 23:09:15 +00:00
Owen Anderson
c9db331433
Add tests for NEON encoding of vqdmlsl.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117173 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 23:08:47 +00:00
Bob Wilson
04b2bb30f6
Do not install libBugpointPasses.dylib for Apple builds. Radar 8585383.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117172 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 23:04:17 +00:00
Owen Anderson
353f8668b8
Add tests for NEON encoding of vmlsl.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117171 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 23:02:27 +00:00
Jakob Stoklund Olesen
3bf7cf9f0e
Add more verification of LiveIntervals.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117170 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 22:48:58 +00:00
Jakob Stoklund Olesen
2bfb324684
Be more strict about detecting multi-use blocks for isolation.
...
When a block has exactly two uses and the register is both live-in and live-out,
don't isolate the block. We would be inserting two copies, so we haven't really
made any progress.
If the live-in and live-out values separate into disconnected components after
splitting, we would be making progress. We can't detect that for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117169 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 22:48:56 +00:00
Jim Grosbach
432a8142ef
tidy up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117166 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 22:15:48 +00:00
Jim Grosbach
f8da5f5dfa
ARM mode encoding information for CLZ, RBIT, REV*, and PKH*.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117165 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 22:12:16 +00:00
Bob Wilson
abf4b382a6
Fix the name of libLLVMHello.dylib so that it does not get installed for
...
Apple builds. Radar 8585383.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117164 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 22:10:57 +00:00
Jim Grosbach
871bf8752f
Remove duplicate test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117158 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 22:04:28 +00:00
Jim Grosbach
d0ad5d52b8
tidy up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117157 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 22:01:56 +00:00
Jim Grosbach
487119a08c
FileCheck-ize a few tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117156 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 21:55:03 +00:00
Evan Cheng
c8f46c45a0
Unbreak build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117155 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 21:49:09 +00:00
Bob Wilson
364f17c471
Teach instcombine to set the alignment arguments for NEON load/store intrinsics.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117154 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 21:41:48 +00:00
Evan Cheng
b179b46cc5
Transfer implicit ops when forming load multiple and return instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117151 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 21:29:58 +00:00
Owen Anderson
458509476b
Add tests for the correct encoding of NEON vmls.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117145 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 20:31:24 +00:00
Jakob Stoklund Olesen
2c1442e1b2
Be more strict when detecting critical edges before loop splitting.
...
An exit block with a critical edge must only have predecessors in the loop, or
just before the loop. This guarantees that the inserted copies in the loop
predecessors dominate the exit block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117144 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 20:28:23 +00:00
Jakob Stoklund Olesen
532de3dc6e
Add print methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117143 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 20:28:21 +00:00
Owen Anderson
9b26497273
Add correct NEON encodings for vqdmlal.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117134 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 19:35:48 +00:00
Jim Grosbach
385e136dce
Add the encoding information for the rest of the ARM mode multiply instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117133 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 19:15:30 +00:00
Michael J. Spencer
2e6048f869
I hate line endings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117132 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 19:14:39 +00:00
Owen Anderson
92205842ca
Provide correct encodings for NEON vmlal.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117131 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 19:05:25 +00:00
Oscar Fuentes
01a575e2fc
Loadable modules are not supported on Cygwin. PR 6655.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117130 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 19:03:24 +00:00
Evan Cheng
1f8b40d51c
Silence compiler warnings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117128 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 18:57:05 +00:00
Owen Anderson
18341e9e31
Provide correct NEON encodings for vmla.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117126 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 18:54:37 +00:00
Michael J. Spencer
fd7c230c85
Endian: Get rid of LLVM_IS_HOST_BIG_ENDIAN.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117124 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 18:45:12 +00:00
Stuart Hastings
ef4fc2cd6d
Temporarily revert r117079; it broke a tester. Radar 6635085.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117122 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 18:44:22 +00:00
Jim Grosbach
3870b750e6
More ARM multiply instuction binary encodings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117121 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 18:35:16 +00:00
Evan Cheng
76f920d316
Add fastcc cc: pass and return VFP / NEON values in registers. Controlled by -arm-fastcc for now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117119 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 18:23:05 +00:00
Owen Anderson
81faa805ce
Add testscases for encoding of NEON vdqmull.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117115 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 17:57:37 +00:00
Jim Grosbach
929a7056d8
Parameterize a bit of ARM encoding information, simplifying some instruction
...
definitions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117114 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 17:42:06 +00:00
Oscar Fuentes
8c0cd08459
Avoid stalled file dependency when tablegenning.
...
Patch by Frits van Bommel!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117113 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 17:37:42 +00:00
Benjamin Kramer
a3ac427507
Make some symbols static, move classes into anonymous namespaces.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117111 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 17:35:07 +00:00
Oscar Fuentes
c54ca79854
Don't try to guess svn version when current path is a symlink.
...
See PR 8473.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117109 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22 17:16:26 +00:00