Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | ptx: add command-line options for gpu target and ptx version | Che-Liang Chiou | 2010-11-30 | 1 | -0/+18 | |
| | | | | llvm-svn: 120423 | |||||
* | Fix some grammar in comments I noticed. | Eric Christopher | 2010-11-30 | 1 | -5/+5 | |
| | | | | llvm-svn: 120416 | |||||
* | This defaults to GenericDomain. | Eric Christopher | 2010-11-30 | 1 | -1/+1 | |
| | | | | llvm-svn: 120415 | |||||
* | PR5207: Make APInt::set(), APInt::clear() and APInt::flip() return void. | Jay Foad | 2010-11-30 | 3 | -10/+9 | |
| | | | | llvm-svn: 120413 | |||||
* | Implement a PseudoI class and transfer the sse instructions over to use | Eric Christopher | 2010-11-30 | 2 | -12/+15 | |
| | | | | | | it. llvm-svn: 120412 | |||||
* | Fix insertion point in pcmp expander. | Eric Christopher | 2010-11-30 | 1 | -9/+2 | |
| | | | | | | While I'm there, clean up too many \n even for me. llvm-svn: 120411 | |||||
* | Fix some cleanups from my last patch. | Eric Christopher | 2010-11-30 | 2 | -5/+5 | |
| | | | | llvm-svn: 120410 | |||||
* | Add parsing for the Thumb t_addrmode_s4 addressing mode. This can almost | Bill Wendling | 2010-11-30 | 4 | -14/+89 | |
| | | | | | | | | | | certainly be made more generic. But it does allow us to parse something like: ldr r3, [r2, r4] correctly in Thumb mode. llvm-svn: 120408 | |||||
* | ptx: add ld instruction | Che-Liang Chiou | 2010-11-30 | 3 | -9/+118 | |
| | | | | | | | support register and register-immediate addressing mode todo: immediate and register-register addressing mode llvm-svn: 120407 | |||||
* | Rewrite the main DSE loop to be written in terms of reasoning | Chris Lattner | 2010-11-30 | 1 | -77/+106 | |
| | | | | | | | | | | | | | | about pairs of AA::Location's instead of looking for MemDep's "Def" predicate. This is more powerful and general, handling memset/memcpy/store all uniformly, and implementing PR8701 and probably obsoleting parts of memcpyoptimizer. This also fixes an obscure bug with init.trampoline and i8 stores, but I'm not surprised it hasn't been hit yet. Enhancing init.trampoline to carry the size that it stores would allow DSE to be much more aggressive about optimizing them. llvm-svn: 120406 | |||||
* | Rewrite mwait and monitor support and custom lower arguments. | Eric Christopher | 2010-11-30 | 3 | -4/+75 | |
| | | | | | | Fixes PR8573. llvm-svn: 120404 | |||||
* | Add a puts optimization that converts puts() to putchar('\n'). | Anders Carlsson | 2010-11-30 | 1 | -3/+30 | |
| | | | | llvm-svn: 120398 | |||||
* | rename a function and reduce some indentation, no functionality change. | Chris Lattner | 2010-11-30 | 1 | -19/+21 | |
| | | | | llvm-svn: 120391 | |||||
* | Stub out a new LiveDebugVariables pass. | Jakob Stoklund Olesen | 2010-11-30 | 4 | -0/+109 | |
| | | | | | | | | | | | | | This analysis is going to run immediately after LiveIntervals. It will stay alive during register allocation and keep track of user variables mentioned in DBG_VALUE instructions. When the register allocator is moving values between registers and the stack, it is very hard to keep track of DBG_VALUE instructions. We usually get it wrong. This analysis maintains a data structure that makes it easy to update DBG_VALUE instructions. llvm-svn: 120385 | |||||
* | remove the pointless check of MemoryUseIntrinsic from | Chris Lattner | 2010-11-30 | 1 | -3/+0 | |
| | | | | | | | is trivially dead, since these have side effects. This makes the (misnamed) MemoryUseIntrinsic class dead, so remove it. llvm-svn: 120382 | |||||
* | strength reduce this. | Chris Lattner | 2010-11-30 | 1 | -1/+1 | |
| | | | | llvm-svn: 120381 | |||||
* | getLocationForDest should work for memset as well. | Chris Lattner | 2010-11-30 | 1 | -1/+1 | |
| | | | | llvm-svn: 120380 | |||||
* | rename doesClobberMemory -> hasMemoryWrite to be more specific, and | Chris Lattner | 2010-11-30 | 1 | -11/+11 | |
| | | | | | | remove an actively-wrong comment. llvm-svn: 120378 | |||||
* | clean up handling of 'free', detangling it from everything else. | Chris Lattner | 2010-11-30 | 1 | -22/+22 | |
| | | | | | | | It can be seriously improved, but at least now it isn't intertwined with the other logic. llvm-svn: 120377 | |||||
* | Minor cleanups. No functional change. | Bill Wendling | 2010-11-30 | 1 | -24/+23 | |
| | | | | llvm-svn: 120372 | |||||
* | s/ARM::BRIND/ARM::BX/g to coincide with r120366. | Bill Wendling | 2010-11-30 | 3 | -5/+5 | |
| | | | | llvm-svn: 120371 | |||||
* | enhance basicaa to return "Mod" for a memcpy call when the | Chris Lattner | 2010-11-30 | 1 | -0/+5 | |
| | | | | | | queried location doesn't overlap the source, and add a testcase. llvm-svn: 120370 | |||||
* | Add correct encoding for "bl __aeabi_read_tp". However, the asm matcher isn't | Bill Wendling | 2010-11-30 | 1 | -3/+5 | |
| | | | | | | able to match this yet. llvm-svn: 120369 | |||||
* | Teach basicaa that memset's modref set is at worst "mod" and never | Chris Lattner | 2010-11-30 | 2 | -7/+14 | |
| | | | | | | | | | | contains "ref". Enhance DSE to use a modref query instead of a store-specific hack to generalize the "ignore may-alias stores" optimization to handle memset and memcpy. llvm-svn: 120368 | |||||
* | Rename BX/BRIND/etc patterns to clarify which is actually the BX instruction | Jim Grosbach | 2010-11-30 | 2 | -9/+9 | |
| | | | | | | and which are pseudos. llvm-svn: 120366 | |||||
* | Add some encoding for the adr instruction. Labels still need to be finished. | Bill Wendling | 2010-11-30 | 1 | -6/+16 | |
| | | | | llvm-svn: 120365 | |||||
* | Correct Thumb2 encodings for a much wider range of loads and stores. | Owen Anderson | 2010-11-30 | 4 | -48/+96 | |
| | | | | llvm-svn: 120364 | |||||
* | my previous patch would cause us to start deleting some volatile | Chris Lattner | 2010-11-30 | 1 | -1/+1 | |
| | | | | | | stores, fix and add a testcase. llvm-svn: 120363 | |||||
* | Make a few more ARM pseudo instructions actually use the PseudoInst base class. | Jim Grosbach | 2010-11-30 | 1 | -14/+13 | |
| | | | | llvm-svn: 120362 | |||||
* | Predicate encoding should be withing {}s. And general cleanup. | Bill Wendling | 2010-11-30 | 2 | -8/+4 | |
| | | | | llvm-svn: 120361 | |||||
* | Predicate encoding should be withing {}s. | Bill Wendling | 2010-11-30 | 1 | -2/+2 | |
| | | | | llvm-svn: 120360 | |||||
* | two changes to DSE that shouldn't affect anything: | Chris Lattner | 2010-11-30 | 1 | -58/+28 | |
| | | | | | | | | | | | | | | 1. Don't bother trying to optimize: lifetime.end(ptr) store(ptr) as it is undefined, and therefore shouldn't exist. 2. Move the 'storing a loaded pointer' xform up, simplifying the may-aliased store code. llvm-svn: 120359 | |||||
* | Fix the encoding of VLD4-dup alignment. | Bob Wilson | 2010-11-30 | 4 | -37/+67 | |
| | | | | | | | | The only reasonable way I could find to do this is to provide an alternate version of the addrmode6 operand with a different encoding function. Use it for all the VLD-dup instructions for the sake of consistency. llvm-svn: 120358 | |||||
* | Rename VLDnDUP instructions with double-spaced registers | Bob Wilson | 2010-11-30 | 1 | -12/+12 | |
| | | | | | | in an attempt to make things a little more consistent. llvm-svn: 120357 | |||||
* | Add support for NEON VLD3-dup instructions. | Bob Wilson | 2010-11-30 | 6 | -1/+104 | |
| | | | | | | The encoding for alignment in VLD4-dup instructions is still a work in progress. llvm-svn: 120356 | |||||
* | Simplify definitions of the ARM eh.sjlj.*jmp pseudo instructions. | Jim Grosbach | 2010-11-29 | 1 | -9/+6 | |
| | | | | llvm-svn: 120354 | |||||
* | Parameterize ARMPseudoInst size property. | Jim Grosbach | 2010-11-29 | 2 | -27/+19 | |
| | | | | llvm-svn: 120353 | |||||
* | Add a few missing initializers. | Jim Grosbach | 2010-11-29 | 1 | -2/+2 | |
| | | | | llvm-svn: 120350 | |||||
* | prune an llvmcontext include and simplify some code. | Chris Lattner | 2010-11-29 | 1 | -6/+3 | |
| | | | | llvm-svn: 120347 | |||||
* | Generalize the darwin wrapper hack to work with generic macho triples as ↵ | Chris Lattner | 2010-11-29 | 1 | -4/+7 | |
| | | | | | | well as darwin ones. llvm-svn: 120346 | |||||
* | Nuke trailing whitespace. | Jim Grosbach | 2010-11-29 | 1 | -3/+3 | |
| | | | | llvm-svn: 120344 | |||||
* | Nuke a FIXME. No need to be fancier here, as ARM handles constant pools | Jim Grosbach | 2010-11-29 | 1 | -5/+1 | |
| | | | | | | locations and formatting specially. rdar://7353441 llvm-svn: 120343 | |||||
* | Provide Thumb2 encodings for basic loads and stores. | Owen Anderson | 2010-11-29 | 3 | -21/+136 | |
| | | | | llvm-svn: 120340 | |||||
* | Mark Darwin call instructions as using "r7" to prevent the frame-register | Evan Cheng | 2010-11-29 | 3 | -12/+27 | |
| | | | | | | | assignment instructions from being moved below / above calls. rdar://8690640 llvm-svn: 120339 | |||||
* | Nuke dead isCodeGenOnly annotation and extraneous comment. | Jim Grosbach | 2010-11-29 | 1 | -3/+2 | |
| | | | | llvm-svn: 120338 | |||||
* | tidy up. | Jim Grosbach | 2010-11-29 | 1 | -2/+1 | |
| | | | | llvm-svn: 120335 | |||||
* | Thumb encodings for conditional moves. | Bill Wendling | 2010-11-29 | 1 | -2/+14 | |
| | | | | llvm-svn: 120334 | |||||
* | Pseudo-ize Thumb2 jump tables with explicit MC lowering to the raw | Jim Grosbach | 2010-11-29 | 7 | -154/+71 | |
| | | | | | | instructions. This simplifies instruction printing and disassembly. llvm-svn: 120333 | |||||
* | Support: Add PathV2 implementation. | Michael J. Spencer | 2010-11-29 | 4 | -0/+522 | |
| | | | | llvm-svn: 120329 | |||||
* | Refactor some of the "disassembly-only" instructions into a base class. This | Bill Wendling | 2010-11-29 | 1 | -36/+21 | |
| | | | | | | reduces some code duplication. llvm-svn: 120326 |