summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Make the spiller responsible for updating the LiveStacks analysis.Jakob Stoklund Olesen2010-10-263-34/+20
| | | | llvm-svn: 117337
* When the "true" and "false" blocks of a diamond if-conversion are the same,Bob Wilson2010-10-261-52/+46
| | | | | | | | | | | | | | | | do not double-count the duplicate instructions by counting once from the beginning and again from the end. Keep track of where the duplicates from the beginning ended and don't go past that point when counting duplicates at the end. Radar 8589805. This change causes one of the MC/ARM/simple-fp-encoding tests to produce different (better!) code without the vmovne instruction being tested. I changed the test to produce vmovne and vmoveq instructions but moving between register files in the opposite direction. That's not quite the same but predicated versions of those instructions weren't being tested before, so at least the test coverage is not any worse, just different. llvm-svn: 117333
* Change if-conversion to keep track of the extra cost due to microcodedBob Wilson2010-10-261-11/+25
| | | | | | | | | instructions separately from the count of non-predicated instructions. The instruction count is used in places to determine how many instructions to copy, predicate, etc. and things get confused if that count includes the extra cost for microcoded ops. llvm-svn: 117332
* Tidy up redundant check.Bob Wilson2010-10-261-1/+1
| | | | llvm-svn: 117331
* Neuter r117193 as it causes significant post-ra scheduler compile time ↵Evan Cheng2010-10-251-2/+2
| | | | | | regression. llvm-svn: 117329
* Produce the headers directly in the Finish method. This allows us to useRafael Espindola2010-10-251-21/+15
| | | | | | the existing streamer methods that are endian safe. llvm-svn: 117323
* An stdcall function calling a non-stdcall functionDale Johannesen2010-10-251-0/+5
| | | | | | cannot use tailcall. PR 8461. llvm-svn: 117322
* Support TBAA attachments on calls. This is somewhat experimental.Dan Gohman2010-10-251-0/+36
| | | | llvm-svn: 117317
* Simplify.Devang Patel2010-10-251-9/+9
| | | | | | Do not count use of sdisel for single call instruction. llvm-svn: 117316
* Add correct encodings for NEON vabal.Owen Anderson2010-10-251-5/+5
| | | | llvm-svn: 117315
* Fix chaining in TBAA's pointsToConstantMemory.Dan Gohman2010-10-251-1/+1
| | | | llvm-svn: 117314
* Add counters to count basic blocks and machine basic blocks with out of ↵Devang Patel2010-10-251-4/+63
| | | | | | | | order line number info. Add counters to count how many basic blocks are entirely selected by fastisel. llvm-svn: 117310
* Add correct NEON encodings for vaba.Owen Anderson2010-10-251-8/+8
| | | | llvm-svn: 117309
* Add simple counter to count no. of basic blocks without any line number ↵Devang Patel2010-10-251-0/+28
| | | | | | information. At -O0, these basic block coule cause less than optimial debugging experience. llvm-svn: 117307
* Only read one bit for testing for a readonly type, leaving the otherDan Gohman2010-10-251-2/+1
| | | | | | bits open for future uses. llvm-svn: 117301
* MC/AsmParser: Fix relative precedence of {+,-} and comparison ops.Daniel Dunbar2010-10-251-12/+14
| | | | llvm-svn: 117299
* MC/AsmLexer: Fix bug in source location for Slash token.Daniel Dunbar2010-10-251-1/+1
| | | | llvm-svn: 117298
* Attempt to provide correct encodings for NEON vbit and vbif, even though we ↵Owen Anderson2010-10-251-8/+10
| | | | | | can't test them at the moment. llvm-svn: 117294
* Provide correct NEON encodings for vbsl.Owen Anderson2010-10-251-12/+12
| | | | llvm-svn: 117293
* imm12 operands aren't Thumb2 only, so rename the printer helper function.Jim Grosbach2010-10-253-6/+5
| | | | llvm-svn: 117291
* Add a comment.Dan Gohman2010-10-251-1/+3
| | | | llvm-svn: 117288
* Add correct instruction encodings for vbic, vorn, and vmvn.Owen Anderson2010-10-252-1/+22
| | | | llvm-svn: 117282
* Add a virtual destructor.Rafael Espindola2010-10-251-0/+1
| | | | llvm-svn: 117280
* Provide correct NEON encodings for vand, veor, and vorr.Owen Anderson2010-10-251-0/+12
| | | | llvm-svn: 117279
* Add NEON encoding tests for vcgt and vacgt.Owen Anderson2010-10-251-0/+2
| | | | llvm-svn: 117276
* Add support for emitting ARM file attributes.Rafael Espindola2010-10-254-44/+148
| | | | llvm-svn: 117275
* Add tests for NEON encodings of vcge and vacge.Owen Anderson2010-10-251-0/+1
| | | | llvm-svn: 117274
* Add a warning about our inability to test the encoding of vceq with ↵Owen Anderson2010-10-251-0/+1
| | | | | | immediate zero. llvm-svn: 117273
* In which I learn how to forward declare template classes.Jakob Stoklund Olesen2010-10-251-2/+1
| | | | llvm-svn: 117272
* Update comments; BasicAA is no longer necessarily the end of the chain.Dan Gohman2010-10-251-3/+3
| | | | llvm-svn: 117268
* Reintroduce these asserts, now that BasicAA is a normal AliasAnalysis pass.Dan Gohman2010-10-251-6/+3
| | | | llvm-svn: 117266
* Fix a case where instcombine was stripping metadata (and alignment)Dan Gohman2010-10-251-1/+3
| | | | | | from stores when folding in bitcasts. llvm-svn: 117265
* Add a new 'hotpatch' attribute. This attribute will insert a two-byte no-opCharles Davis2010-10-254-0/+5
| | | | | | | instruction at the beginning of each function that has the attribute, allowing the function to be easily hooked and/or patched. llvm-svn: 117264
* ATTRIBUTE_UNUSED has been renamed to LLVM_ATTRIBUTE_UNUSED.Duncan Sands2010-10-251-2/+2
| | | | | | | Rather than rename this instance, use the cast-to-void idiom instead. This will hopefully fix the windows buildbots. llvm-svn: 117262
* Add X86::reloc_global_offset_table and use it to have a single place whereRafael Espindola2010-10-244-10/+16
| | | | | | we check for _GLOBAL_OFFSET_TABLE_. llvm-svn: 117241
* Fix PR8445: a block with no predecessors may be the entry block, in which caseDuncan Sands2010-10-241-12/+10
| | | | | | | | | 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. llvm-svn: 117224
* SmallVectorize.Benjamin Kramer2010-10-231-3/+1
| | | | llvm-svn: 117213
* Move rejection of NEON parameters earlier in fast isel call processing,Eric Christopher2010-10-231-3/+4
| | | | | | note that we can actually handle some f64 arguments. llvm-svn: 117209
* Make the disassembler tables const so they end up in read-only memory.Benjamin Kramer2010-10-234-19/+16
| | | | llvm-svn: 117206
* X86: Emit _fltused instead of __fltused on Windows x64.Michael J. Spencer2010-10-231-1/+2
| | | | llvm-svn: 117205
* Move the remaining attribute macros to systematic names based on the attributeChandler Carruth2010-10-233-14/+14
| | | | | | name and prefixed with 'LLVM_'. llvm-svn: 117203
* Remove a define which is never referenced.Chandler Carruth2010-10-231-6/+0
| | | | llvm-svn: 117202
* Switch attribute macros to use 'LLVM_' as a prefix. We retain the old namesChandler Carruth2010-10-234-5/+7
| | | | | | until other LLVM projects using these are cleaned up. llvm-svn: 117200
* Fix a likely bug in an assertion by adding parentheses around '||'. This bugChandler Carruth2010-10-231-1/+1
| | | | | | was found by a GCC warning. ;] llvm-svn: 117199
* Enable ARM fastcc.Evan Cheng2010-10-231-5/+1
| | | | llvm-svn: 117194
* Properly model the latency of register defs which are 1) function returns orEvan Cheng2010-10-232-16/+85
| | | | | | | | | | | 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. llvm-svn: 117193
* Latency between CPSR def and branch is zero.Evan Cheng2010-10-231-0/+6
| | | | llvm-svn: 117192
* Verify LiveIntervals against the CFG, ensuring that live-in values are live-outJakob Stoklund Olesen2010-10-231-1/+77
| | | | | | of all predecessors. llvm-svn: 117191
* Trailing whitespace.Jim Grosbach2010-10-221-5/+5
| | | | llvm-svn: 117188
* Nonvirtual dtor that was accessible enough to be bad.Andrew Trick2010-10-221-0/+2
| | | | llvm-svn: 117180
OpenPOWER on IntegriCloud