summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Add a convenience constructor.Owen Anderson2010-08-072-0/+6
| | | | llvm-svn: 110493
* Make AnalysisImpls private.Dan Gohman2010-08-071-1/+1
| | | | llvm-svn: 110492
* Use sdmem and sse_load_f64 (etc.) for the vectorDale Johannesen2010-08-072-8/+40
| | | | | | | | form of CMPSD (etc.) Matching a 128-bit memory operand is wrong, the instruction uses only 64 bits (same as ADDSD etc.) 8193553. llvm-svn: 110491
* Don't attempt the PRE inline asm calls, since we don't value number them ↵Owen Anderson2010-08-071-0/+5
| | | | | | yet. Fixes PR7835. llvm-svn: 110489
* Add a predicate to determine if a call is an inline asm statement.Owen Anderson2010-08-071-0/+5
| | | | llvm-svn: 110488
* Some cleanup. Use a class (OptionInfo) instead of a pair of a pair and removeRafael Espindola2010-08-063-13/+18
| | | | | | some default values that are not used. llvm-svn: 110485
* Lazily defer duplicating the live interval we are splitting until we know it isJakob Stoklund Olesen2010-08-063-53/+70
| | | | | | | | | | necessary. Sometimes, live range splitting doesn't shrink the current interval, but simply changes some instructions to use a new interval. That makes the original more suitable for spilling. In this case, we don't need to duplicate the original. llvm-svn: 110481
* Patterns to match AVX 256-bit vzero intrinsicsBruno Cardoso Lopes2010-08-062-6/+6
| | | | llvm-svn: 110480
* Eliminate PromoteMemoryToRegisterID; just use addPreserved("mem2reg")Dan Gohman2010-08-065-6/+3
| | | | | | instead, as an example of what this looks like. llvm-svn: 110478
* llc: Clarify -mc-relax-all description.Michael J. Spencer2010-08-061-1/+3
| | | | llvm-svn: 110477
* tidy upJim Grosbach2010-08-061-13/+13
| | | | llvm-svn: 110476
* MC: Add default value for AddrSpace argument to EmitValue.Daniel Dunbar2010-08-061-3/+4
| | | | llvm-svn: 110475
* Patterns to match AVX 256-bit permutation intrinsicsBruno Cardoso Lopes2010-08-062-13/+48
| | | | llvm-svn: 110468
* Test case for r110459. Radar 8264751. Test case by Fariborz Jahanian!Stuart Hastings2010-08-061-0/+16
| | | | llvm-svn: 110467
* Cleanup comment wordingJim Grosbach2010-08-061-3/+3
| | | | llvm-svn: 110466
* Remove empty processFunctionBeforeFrameFinalized(). The defaultJim Grosbach2010-08-062-6/+0
| | | | | | | implementation of the function is equivalent, so no need to provide the target-specific version until/unless it needs to do something. llvm-svn: 110465
* Keep the MachiuneFunctionPass pointer around. It is useful for verification.Jakob Stoklund Olesen2010-08-061-1/+3
| | | | llvm-svn: 110464
* Add LiveInterval::RenumberValues - Garbage collection for VNInfos.Jakob Stoklund Olesen2010-08-063-1/+22
| | | | | | | After heavy editing of a live interval, it is much easier to simply renumber the live values instead of trying to keep track of the unused ones. llvm-svn: 110463
* Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson2010-08-06213-490/+496
| | | | llvm-svn: 110460
* Implement a proper getModRefInfo for va_arg.Dan Gohman2010-08-063-4/+29
| | | | llvm-svn: 110458
* spellingJim Grosbach2010-08-061-1/+1
| | | | llvm-svn: 110457
* Be more conservative in the face of volatile.Dan Gohman2010-08-061-8/+8
| | | | llvm-svn: 110456
* Fix a comment.Dan Gohman2010-08-061-2/+2
| | | | llvm-svn: 110455
* Add more verification of LiveIntervals.Jakob Stoklund Olesen2010-08-061-4/+58
| | | | llvm-svn: 110454
* Fix swapped COPY operands.Jakob Stoklund Olesen2010-08-061-2/+2
| | | | llvm-svn: 110453
* Don't try to verify LiveIntervals for physical registers.Jakob Stoklund Olesen2010-08-061-8/+4
| | | | | | | | | When a physical register is in use, some alias of that register has a live interval with a relevant live range. That is the sad state of intervals after physreg coalescing of subregs, and it is good enough for correct register allocation. llvm-svn: 110452
* Fix eabi calling convention when a 64 bit value shadows r3.Rafael Espindola2010-08-065-1/+30
| | | | | | | | | | | Without this what was happening was: * R3 is not marked as "used" * ARM backend thinks it has to save it to the stack because of vaarg * Offset computation correctly ignores it * Offsets are wrong llvm-svn: 110446
* Fix uninitialized variable warning.Nick Lewycky2010-08-061-2/+2
| | | | | | | | Also move 'default' case next to a real case to help compiler optimize in non-Debug builds. No functionality change. llvm-svn: 110435
* Work in progress, cleaning up MergeFuncs.Nick Lewycky2010-08-061-180/+40
| | | | | | | | Further clean up the comparison function by removing overly generalized "domains". Remove all understanding of ELF aliases and simplify folding code and comments. llvm-svn: 110434
* Update CMake build.Ted Kremenek2010-08-061-0/+1
| | | | llvm-svn: 110429
* Fix missing </a> tag error introduced by addition of LowerAtomic pass.Peter Collingbourne2010-08-061-6/+6
| | | | | | While at it, fix all other HTML validation errors in docs/Passes.html. llvm-svn: 110428
* Patterns to match AVX 256-bit horizontal arithmetic intrinsicsBruno Cardoso Lopes2010-08-061-14/+12
| | | | llvm-svn: 110427
* Add a comment.Dan Gohman2010-08-061-1/+2
| | | | llvm-svn: 110426
* Patterns to match AVX 256-bit arithmetic intrinsicsBruno Cardoso Lopes2010-08-061-30/+75
| | | | llvm-svn: 110425
* Revert r109901. The implementation of <rdar://problem/7405933> (r110423) doesn'tBill Wendling2010-08-065-11/+1
| | | | | | | | | | | | | need the Compare flag after all. --- Reverse-merging r109901 into '.': U include/llvm/Target/TargetInstrDesc.h U include/llvm/Target/Target.td U utils/TableGen/InstrInfoEmitter.cpp U utils/TableGen/CodeGenInstruction.cpp U utils/TableGen/CodeGenInstruction.h llvm-svn: 110424
* Add the Optimize Compares pass (disabled by default).Bill Wendling2010-08-066-0/+199
| | | | | | | | | | | | | | | | This pass tries to remove comparison instructions when possible. For instance, if you have this code: sub r1, 1 cmp r1, 0 bz L1 and "sub" either sets the same flag as the "cmp" instruction or could be converted to set the same flag, then we can eliminate the "cmp" instruction all together. This is a important for ARM where the ALU instructions could set the CPSR flag, but need a special suffix ('s') to do so. llvm-svn: 110423
* Moar words!Eric Christopher2010-08-061-1/+1
| | | | llvm-svn: 110422
* Move all the logic for function attributes and call attributes out of theDan Gohman2010-08-062-179/+238
| | | | | | | | | | | | | AliasAnalysis base class and into BasicAliasAnalyais. This avoids confusion about where such logic is happening when there are other AliasAnalysis implementations present. Move the logic for translating two-callsite getModRefInfo queries into other AliasAnalysis queries out of BasicAliasAnalysis and into the AliasAnalysis base class, as it is useful for other AliasAnalysis implementations. llvm-svn: 110421
* Add tablegen support for vdup_laneNate Begeman2010-08-061-3/+6
| | | | llvm-svn: 110419
* Fix botched revert.Owen Anderson2010-08-061-4/+4
| | | | llvm-svn: 110416
* While emitting DBG_VALUE for registers spilled at the end of a block do not ↵Devang Patel2010-08-061-1/+8
| | | | | | use location of MBB->end(). If a block does not have terminator then incoming iterator points to end(). llvm-svn: 110411
* Revert r110396 to fix buildbots.Owen Anderson2010-08-06212-480/+476
| | | | llvm-svn: 110410
* Remove unused AVX intrinsicsBruno Cardoso Lopes2010-08-061-52/+0
| | | | llvm-svn: 110407
* Add an option to always emit realignment code for a particular module.Eric Christopher2010-08-052-1/+55
| | | | llvm-svn: 110404
* Be more aggressive about removing joined physreg copies.Jakob Stoklund Olesen2010-08-051-3/+10
| | | | | | | When a joined COPY changes subreg liveness, we keep it around as a KILL, otherwise it is safe to delete. llvm-svn: 110403
* Don't verify LiveVariables if LiveIntervals is available.Jakob Stoklund Olesen2010-08-051-12/+13
| | | | | | | | LiveVariables becomes horribly wrong while the coalescer is running, but the analysis is not zapped until after the coalescer pass has run. This causes tons of false reports when calling verify form the coalescer. llvm-svn: 110402
* Fix 80-column violations.Dan Gohman2010-08-051-6/+6
| | | | llvm-svn: 110401
* Make AA private, since subclasses shouldn't (aren't don't) access it directly.Dan Gohman2010-08-051-0/+3
| | | | llvm-svn: 110398
* Don't use PassInfo* as a type identifier for passes. Instead, use the ↵Owen Anderson2010-08-05212-480/+484
| | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
* Remove IntrWriteMem, as it's the default. Rename IntrWriteArgMemDan Gohman2010-08-059-123/+102
| | | | | | to IntrReadWriteArgMem, as it's for reading as well as writing. llvm-svn: 110395
OpenPOWER on IntegriCloud