OSDN Git Service
Dale Johannesen [Mon, 25 Oct 2010 22:17:05 +0000 (22:17 +0000)]
An stdcall function calling a non-stdcall function
cannot use tailcall. PR 8461.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117322
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 25 Oct 2010 21:38:20 +0000 (21:38 +0000)]
Support TBAA attachments on calls. This is somewhat experimental.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117317
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 25 Oct 2010 21:31:46 +0000 (21:31 +0000)]
Simplify.
Do not count use of sdisel for single call instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117316
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 21:29:04 +0000 (21:29 +0000)]
Add correct encodings for NEON vabal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117315
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 25 Oct 2010 21:24:55 +0000 (21:24 +0000)]
Fix chaining in TBAA's pointsToConstantMemory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117314
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 25 Oct 2010 21:04:12 +0000 (21:04 +0000)]
Update SelectBasicBlock signature. This should have been committed with r117310.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117312
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 25 Oct 2010 20:55:43 +0000 (20:55 +0000)]
Add counters to count basic blocks and machine basic blocks with out of order line number info.
Add counters to count how many basic blocks are entirely selected by fastisel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117310
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 20:52:57 +0000 (20:52 +0000)]
Add correct NEON encodings for vaba.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117309
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 25 Oct 2010 20:45:32 +0000 (20:45 +0000)]
Add simple counter to count no. of basic blocks without any line number information. At -O0, these basic block coule cause less than optimial debugging experience.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117307
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 20:36:28 +0000 (20:36 +0000)]
Tests for NEON encoding of vabdl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117303
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 20:29:27 +0000 (20:29 +0000)]
Add tests for NEON encoding of vabd.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117302
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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