oota-llvm.git
13 years agoOnly read one bit for testing for a readonly type, leaving the other
Dan Gohman [Mon, 25 Oct 2010 20:22:29 +0000 (20:22 +0000)]
Only read one bit for testing for a readonly type, leaving the other
bits open for future uses.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117301 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMC/AsmParser: Fix relative precedence of {+,-} and comparison ops.
Daniel Dunbar [Mon, 25 Oct 2010 20:18:56 +0000 (20:18 +0000)]
MC/AsmParser: Fix relative precedence of {+,-} and comparison ops.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117299 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMC/AsmLexer: Fix bug in source location for Slash token.
Daniel Dunbar [Mon, 25 Oct 2010 20:18:53 +0000 (20:18 +0000)]
MC/AsmLexer: Fix bug in source location for Slash token.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117298 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agotweak test.
Daniel Dunbar [Mon, 25 Oct 2010 20:18:49 +0000 (20:18 +0000)]
tweak test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117297 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agollvm-mc: Teach -as-lex to print the raw token string as well.
Daniel Dunbar [Mon, 25 Oct 2010 20:18:46 +0000 (20:18 +0000)]
llvm-mc: Teach -as-lex to print the raw token string as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117296 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMC/AsmParser: Rewrite test to actually check some parts of expression parsing,
Daniel Dunbar [Mon, 25 Oct 2010 20:18:41 +0000 (20:18 +0000)]
MC/AsmParser: Rewrite test to actually check some parts of expression parsing,
now that we have macros and friends. Uncovered a bug in macro expansion...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117295 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAttempt to provide correct encodings for NEON vbit and vbif, even though we can't...
Owen Anderson [Mon, 25 Oct 2010 20:17:22 +0000 (20:17 +0000)]
Attempt to provide correct encodings for NEON vbit and vbif, even though we can't test them at the moment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117294 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoProvide correct NEON encodings for vbsl.
Owen Anderson [Mon, 25 Oct 2010 20:13:13 +0000 (20:13 +0000)]
Provide correct NEON encodings for vbsl.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117293 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoimm12 operands aren't Thumb2 only, so rename the printer helper function.
Jim Grosbach [Mon, 25 Oct 2010 20:00:01 +0000 (20:00 +0000)]
imm12 operands aren't Thumb2 only, so rename the printer helper function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117291 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a comment.
Dan Gohman [Mon, 25 Oct 2010 19:47:25 +0000 (19:47 +0000)]
Add a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117288 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMake the description of the hotpatch attribute even more generic. Spotted by
Charles Davis [Mon, 25 Oct 2010 19:07:39 +0000 (19:07 +0000)]
Make the description of the hotpatch attribute even more generic. Spotted by
Michael Spencer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117286 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd correct instruction encodings for vbic, vorn, and vmvn.
Owen Anderson [Mon, 25 Oct 2010 18:43:52 +0000 (18:43 +0000)]
Add correct instruction encodings for vbic, vorn, and vmvn.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117282 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a virtual destructor.
Rafael Espindola [Mon, 25 Oct 2010 18:38:32 +0000 (18:38 +0000)]
Add a virtual destructor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117280 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoProvide correct NEON encodings for vand, veor, and vorr.
Owen Anderson [Mon, 25 Oct 2010 18:28:30 +0000 (18:28 +0000)]
Provide correct NEON encodings for vand, veor, and vorr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117279 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd tests for NEON encoding of vtst.
Owen Anderson [Mon, 25 Oct 2010 18:10:34 +0000 (18:10 +0000)]
Add tests for NEON encoding of vtst.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117277 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd NEON encoding tests for vcgt and vacgt.
Owen Anderson [Mon, 25 Oct 2010 18:03:59 +0000 (18:03 +0000)]
Add NEON encoding tests for vcgt and vacgt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117276 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd support for emitting ARM file attributes.
Rafael Espindola [Mon, 25 Oct 2010 17:50:35 +0000 (17:50 +0000)]
Add support for emitting ARM file attributes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117275 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd tests for NEON encodings of vcge and vacge.
Owen Anderson [Mon, 25 Oct 2010 17:49:32 +0000 (17:49 +0000)]
Add tests for NEON encodings of vcge and vacge.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117274 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a warning about our inability to test the encoding of vceq with immediate zero.
Owen Anderson [Mon, 25 Oct 2010 17:33:02 +0000 (17:33 +0000)]
Add a warning about our inability to test the encoding of vceq with immediate zero.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117273 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoIn which I learn how to forward declare template classes.
Jakob Stoklund Olesen [Mon, 25 Oct 2010 17:27:30 +0000 (17:27 +0000)]
In which I learn how to forward declare template classes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117272 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd tests for NEON encoding of vceq.
Owen Anderson [Mon, 25 Oct 2010 17:20:26 +0000 (17:20 +0000)]
Add tests for NEON encoding of vceq.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117270 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd tests for NEON encoding of vsubhn and vrsubhn.
Owen Anderson [Mon, 25 Oct 2010 17:12:46 +0000 (17:12 +0000)]
Add tests for NEON encoding of vsubhn and vrsubhn.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117269 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUpdate comments; BasicAA is no longer necessarily the end of the chain.
Dan Gohman [Mon, 25 Oct 2010 16:29:52 +0000 (16:29 +0000)]
Update comments; BasicAA is no longer necessarily the end of the chain.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117268 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMake hotpatch attribute description a little less Wintel-specific.
Charles Davis [Mon, 25 Oct 2010 16:29:03 +0000 (16:29 +0000)]
Make hotpatch attribute description a little less Wintel-specific.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117267 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoReintroduce these asserts, now that BasicAA is a normal AliasAnalysis pass.
Dan Gohman [Mon, 25 Oct 2010 16:28:57 +0000 (16:28 +0000)]
Reintroduce these asserts, now that BasicAA is a normal AliasAnalysis pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117266 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix a case where instcombine was stripping metadata (and alignment)
Dan Gohman [Mon, 25 Oct 2010 16:16:27 +0000 (16:16 +0000)]
Fix a case where instcombine was stripping metadata (and alignment)
from stores when folding in bitcasts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117265 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a new 'hotpatch' attribute. This attribute will insert a two-byte no-op
Charles Davis [Mon, 25 Oct 2010 15:37:09 +0000 (15:37 +0000)]
Add a new 'hotpatch' attribute. This attribute will insert a two-byte no-op
instruction at the beginning of each function that has the attribute, allowing
the function to be easily hooked and/or patched.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117264 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoReference RegionPass to stop it being eliminated.
Tobias Grosser [Mon, 25 Oct 2010 15:36:50 +0000 (15:36 +0000)]
Reference RegionPass to stop it being eliminated.

Contributed by: ether

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117263 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoATTRIBUTE_UNUSED has been renamed to LLVM_ATTRIBUTE_UNUSED.
Duncan Sands [Mon, 25 Oct 2010 13:10:03 +0000 (13:10 +0000)]
ATTRIBUTE_UNUSED has been renamed to LLVM_ATTRIBUTE_UNUSED.
Rather than rename this instance, use the cast-to-void idiom
instead.  This will hopefully fix the windows buildbots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117262 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove deprecated macro names. Hopefully this will unbreak the
Duncan Sands [Mon, 25 Oct 2010 12:47:22 +0000 (12:47 +0000)]
Remove deprecated macro names.  Hopefully this will unbreak the
smooshlab build.  The breakage seems to be due to a collision
between LLVM's ATTRIBUTE_UNUSED and gcc's which was previously
hidden due to header files being included in a lucky order.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117260 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUpdate target feature matrix for CellSPU
Kalle Raiskila [Mon, 25 Oct 2010 08:57:30 +0000 (08:57 +0000)]
Update target feature matrix for CellSPU

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117255 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUpdate target feature matrix for Blackfin.
Jakob Stoklund Olesen [Sun, 24 Oct 2010 20:04:05 +0000 (20:04 +0000)]
Update target feature matrix for Blackfin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117245 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUpdating target feature matrix to indicate current MBlaze status.
Wesley Peck [Sun, 24 Oct 2010 18:50:12 +0000 (18:50 +0000)]
Updating target feature matrix to indicate current MBlaze status.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117244 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd X86::reloc_global_offset_table and use it to have a single place where
Rafael Espindola [Sun, 24 Oct 2010 17:35:42 +0000 (17:35 +0000)]
Add X86::reloc_global_offset_table and use it to have a single place where
we check for _GLOBAL_OFFSET_TABLE_.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117241 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agobroken link
Chris Lattner [Sun, 24 Oct 2010 16:24:22 +0000 (16:24 +0000)]
broken link

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117232 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoadd a big table with target features.
Chris Lattner [Sun, 24 Oct 2010 16:18:00 +0000 (16:18 +0000)]
add a big table with target features.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117230 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd svn:ignore
Che-Liang Chiou [Sun, 24 Oct 2010 15:40:18 +0000 (15:40 +0000)]
Add svn:ignore

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117228 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix PR8445: a block with no predecessors may be the entry block, in which case
Duncan Sands [Sun, 24 Oct 2010 12:23:30 +0000 (12:23 +0000)]
Fix PR8445: a block with no predecessors may be the entry block, in which case
it isn't unreachable and should not be zapped.  The check for the entry block
was missing in one case: a block containing a unwind instruction.  While there,
do some small cleanups: "M" is not a great name for a Function* (it would be
more appropriate for a Module*), change it to "Fn"; use Fn in more places.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117224 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd tests for NEON encoding of vqsub.
Owen Anderson [Sat, 23 Oct 2010 18:02:16 +0000 (18:02 +0000)]
Add tests for NEON encoding of vqsub.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117214 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoSmallVectorize.
Benjamin Kramer [Sat, 23 Oct 2010 17:10:24 +0000 (17:10 +0000)]
SmallVectorize.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117213 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMove rejection of NEON parameters earlier in fast isel call processing,
Eric Christopher [Sat, 23 Oct 2010 09:37:17 +0000 (09:37 +0000)]
Move rejection of NEON parameters earlier in fast isel call processing,
note that we can actually handle some f64 arguments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117209 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoConstify another 2 disassembler tables.
Benjamin Kramer [Sat, 23 Oct 2010 09:28:42 +0000 (09:28 +0000)]
Constify another 2 disassembler tables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117208 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMake the disassembler tables const so they end up in read-only memory.
Benjamin Kramer [Sat, 23 Oct 2010 09:10:44 +0000 (09:10 +0000)]
Make the disassembler tables const so they end up in read-only memory.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117206 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoX86: Emit _fltused instead of __fltused on Windows x64.
Michael J. Spencer [Sat, 23 Oct 2010 09:06:59 +0000 (09:06 +0000)]
X86: Emit _fltused instead of __fltused on Windows x64.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117205 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMove the remaining attribute macros to systematic names based on the attribute
Chandler Carruth [Sat, 23 Oct 2010 08:40:19 +0000 (08:40 +0000)]
Move the remaining attribute macros to systematic names based on the attribute
name and prefixed with 'LLVM_'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117203 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove a define which is never referenced.
Chandler Carruth [Sat, 23 Oct 2010 08:25:16 +0000 (08:25 +0000)]
Remove a define which is never referenced.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117202 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoSwitch attribute macros to use 'LLVM_' as a prefix. We retain the old names
Chandler Carruth [Sat, 23 Oct 2010 08:10:43 +0000 (08:10 +0000)]
Switch attribute macros to use 'LLVM_' as a prefix. We retain the old names
until other LLVM projects using these are cleaned up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117200 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix a likely bug in an assertion by adding parentheses around '||'. This bug
Chandler Carruth [Sat, 23 Oct 2010 07:46:14 +0000 (07:46 +0000)]
Fix a likely bug in an assertion by adding parentheses around '||'. This bug
was found by a GCC warning. ;]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117199 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoResurrect mcc16, it is useful as an example.
Mikhail Glushenkov [Sat, 23 Oct 2010 07:33:02 +0000 (07:33 +0000)]
Resurrect mcc16, it is useful as an example.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117198 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove -llvmc-temp-hack from tblgen.
Mikhail Glushenkov [Sat, 23 Oct 2010 07:32:53 +0000 (07:32 +0000)]
Remove -llvmc-temp-hack from tblgen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117197 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoSyntax tweak in llvmc: (something [a,b,c]) -> (something a, b, c).
Mikhail Glushenkov [Sat, 23 Oct 2010 07:32:46 +0000 (07:32 +0000)]
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

13 years agoTrailing whitespace.
Mikhail Glushenkov [Sat, 23 Oct 2010 07:32:37 +0000 (07:32 +0000)]
Trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117195 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoEnable ARM fastcc.
Evan Cheng [Sat, 23 Oct 2010 02:19:37 +0000 (02:19 +0000)]
Enable ARM fastcc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117194 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoProperly model the latency of register defs which are 1) function returns or
Evan Cheng [Sat, 23 Oct 2010 02:10:46 +0000 (02:10 +0000)]
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

13 years agoLatency between CPSR def and branch is zero.
Evan Cheng [Sat, 23 Oct 2010 02:04:38 +0000 (02:04 +0000)]
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

13 years agoVerify LiveIntervals against the CFG, ensuring that live-in values are live-out
Jakob Stoklund Olesen [Sat, 23 Oct 2010 00:49:09 +0000 (00:49 +0000)]
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

13 years agoAdd tests for NEON encoding of vhsub.
Owen Anderson [Fri, 22 Oct 2010 23:58:22 +0000 (23:58 +0000)]
Add tests for NEON encoding of vhsub.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117189 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoTrailing whitespace.
Jim Grosbach [Fri, 22 Oct 2010 23:48:29 +0000 (23:48 +0000)]
Trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117188 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a CMP test.
Jim Grosbach [Fri, 22 Oct 2010 23:48:01 +0000 (23:48 +0000)]
Add a CMP test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117187 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd tests for NEON encoding of vsubw.
Owen Anderson [Fri, 22 Oct 2010 23:46:07 +0000 (23:46 +0000)]
Add tests for NEON encoding of vsubw.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117186 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agotidy up
Jim Grosbach [Fri, 22 Oct 2010 23:46:04 +0000 (23:46 +0000)]
tidy up

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117185 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd tests for NEON encoding of vsubl.
Owen Anderson [Fri, 22 Oct 2010 23:36:36 +0000 (23:36 +0000)]
Add tests for NEON encoding of vsubl.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117183 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoNonvirtual dtor that was accessible enough to be bad.
Andrew Trick [Fri, 22 Oct 2010 23:33:19 +0000 (23:33 +0000)]
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

13 years agoAdd tests for NEON encoding of vsub.
Owen Anderson [Fri, 22 Oct 2010 23:21:04 +0000 (23:21 +0000)]
Add tests for NEON encoding of vsub.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117177 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agofix memory-layout assumption which only holds on little-endian systems
Gabor Greif [Fri, 22 Oct 2010 23:16:11 +0000 (23:16 +0000)]
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

13 years agoThis is a prototype of an experimental register allocation
Andrew Trick [Fri, 22 Oct 2010 23:09:15 +0000 (23:09 +0000)]
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

13 years agoAdd tests for NEON encoding of vqdmlsl.
Owen Anderson [Fri, 22 Oct 2010 23:08:47 +0000 (23:08 +0000)]
Add tests for NEON encoding of vqdmlsl.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117173 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDo not install libBugpointPasses.dylib for Apple builds. Radar 8585383.
Bob Wilson [Fri, 22 Oct 2010 23:04:17 +0000 (23:04 +0000)]
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

13 years agoAdd tests for NEON encoding of vmlsl.
Owen Anderson [Fri, 22 Oct 2010 23:02:27 +0000 (23:02 +0000)]
Add tests for NEON encoding of vmlsl.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117171 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd more verification of LiveIntervals.
Jakob Stoklund Olesen [Fri, 22 Oct 2010 22:48:58 +0000 (22:48 +0000)]
Add more verification of LiveIntervals.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117170 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoBe more strict about detecting multi-use blocks for isolation.
Jakob Stoklund Olesen [Fri, 22 Oct 2010 22:48:56 +0000 (22:48 +0000)]
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

13 years agotidy up.
Jim Grosbach [Fri, 22 Oct 2010 22:15:48 +0000 (22:15 +0000)]
tidy up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117166 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoARM mode encoding information for CLZ, RBIT, REV*, and PKH*.
Jim Grosbach [Fri, 22 Oct 2010 22:12:16 +0000 (22:12 +0000)]
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

13 years agoFix the name of libLLVMHello.dylib so that it does not get installed for
Bob Wilson [Fri, 22 Oct 2010 22:10:57 +0000 (22:10 +0000)]
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

13 years agoRemove duplicate test.
Jim Grosbach [Fri, 22 Oct 2010 22:04:28 +0000 (22:04 +0000)]
Remove duplicate test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117158 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agotidy up.
Jim Grosbach [Fri, 22 Oct 2010 22:01:56 +0000 (22:01 +0000)]
tidy up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117157 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFileCheck-ize a few tests.
Jim Grosbach [Fri, 22 Oct 2010 21:55:03 +0000 (21:55 +0000)]
FileCheck-ize a few tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117156 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUnbreak build.
Evan Cheng [Fri, 22 Oct 2010 21:49:09 +0000 (21:49 +0000)]
Unbreak build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117155 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoTeach instcombine to set the alignment arguments for NEON load/store intrinsics.
Bob Wilson [Fri, 22 Oct 2010 21:41:48 +0000 (21:41 +0000)]
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

13 years agoTransfer implicit ops when forming load multiple and return instructions.
Evan Cheng [Fri, 22 Oct 2010 21:29:58 +0000 (21:29 +0000)]
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

13 years agoAdd tests for the correct encoding of NEON vmls.
Owen Anderson [Fri, 22 Oct 2010 20:31:24 +0000 (20:31 +0000)]
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

13 years agoBe more strict when detecting critical edges before loop splitting.
Jakob Stoklund Olesen [Fri, 22 Oct 2010 20:28:23 +0000 (20:28 +0000)]
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

13 years agoAdd print methods
Jakob Stoklund Olesen [Fri, 22 Oct 2010 20:28:21 +0000 (20:28 +0000)]
Add print methods

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117143 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd correct NEON encodings for vqdmlal.
Owen Anderson [Fri, 22 Oct 2010 19:35:48 +0000 (19:35 +0000)]
Add correct NEON encodings for vqdmlal.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117134 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd the encoding information for the rest of the ARM mode multiply instructions.
Jim Grosbach [Fri, 22 Oct 2010 19:15:30 +0000 (19:15 +0000)]
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

13 years agoI hate line endings.
Michael J. Spencer [Fri, 22 Oct 2010 19:14:39 +0000 (19:14 +0000)]
I hate line endings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117132 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoProvide correct encodings for NEON vmlal.
Owen Anderson [Fri, 22 Oct 2010 19:05:25 +0000 (19:05 +0000)]
Provide correct encodings for NEON vmlal.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117131 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoLoadable modules are not supported on Cygwin. PR 6655.
Oscar Fuentes [Fri, 22 Oct 2010 19:03:24 +0000 (19:03 +0000)]
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

13 years agoSilence compiler warnings.
Evan Cheng [Fri, 22 Oct 2010 18:57:05 +0000 (18:57 +0000)]
Silence compiler warnings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117128 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoProvide correct NEON encodings for vmla.
Owen Anderson [Fri, 22 Oct 2010 18:54:37 +0000 (18:54 +0000)]
Provide correct NEON encodings for vmla.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117126 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoEndian: Get rid of LLVM_IS_HOST_BIG_ENDIAN.
Michael J. Spencer [Fri, 22 Oct 2010 18:45:12 +0000 (18:45 +0000)]
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

13 years agoTemporarily revert r117079; it broke a tester. Radar 6635085.
Stuart Hastings [Fri, 22 Oct 2010 18:44:22 +0000 (18:44 +0000)]
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

13 years agoMore ARM multiply instuction binary encodings.
Jim Grosbach [Fri, 22 Oct 2010 18:35:16 +0000 (18:35 +0000)]
More ARM multiply instuction binary encodings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117121 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd fastcc cc: pass and return VFP / NEON values in registers. Controlled by -arm...
Evan Cheng [Fri, 22 Oct 2010 18:23:05 +0000 (18:23 +0000)]
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

13 years agoAdd testscases for encoding of NEON vdqmull.
Owen Anderson [Fri, 22 Oct 2010 17:57:37 +0000 (17:57 +0000)]
Add testscases for encoding of NEON vdqmull.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117115 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoParameterize a bit of ARM encoding information, simplifying some instruction
Jim Grosbach [Fri, 22 Oct 2010 17:42:06 +0000 (17:42 +0000)]
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

13 years agoAvoid stalled file dependency when tablegenning.
Oscar Fuentes [Fri, 22 Oct 2010 17:37:42 +0000 (17:37 +0000)]
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

13 years agoMake some symbols static, move classes into anonymous namespaces.
Benjamin Kramer [Fri, 22 Oct 2010 17:35:07 +0000 (17:35 +0000)]
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

13 years agoDon't try to guess svn version when current path is a symlink.
Oscar Fuentes [Fri, 22 Oct 2010 17:16:26 +0000 (17:16 +0000)]
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

13 years agoMore ARM multiply instruction encoding information.
Jim Grosbach [Fri, 22 Oct 2010 17:16:17 +0000 (17:16 +0000)]
More ARM multiply instruction encoding information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117108 91177308-0d34-0410-b5e6-96231b3b80d8