summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Speed up cycle checking significantly by caching results.David Greene2010-02-231-3/+9
| | | | llvm-svn: 96956
* Don't do (X != Y) ? X : Y -> X for floating-point values; it doesn'tDan Gohman2010-02-231-5/+23
| | | | | | | | handle NaN properly. Do (X une Y) ? X : Y -> X if one of X and Y is not zero. llvm-svn: 96955
* Spelling. s/suppor /support /Jim Grosbach2010-02-231-3/+3
| | | | llvm-svn: 96954
* Remove the code which constant-folded ptrtoint(inttoptr(x)+c) toDan Gohman2010-02-231-37/+5
| | | | | | | | | | | getelementptr. Despite only doing so in the case where x is a known array object and c can be converted to an index within range, this could still be invalid if c is actually the address of an object allocated outside of LLVM. Also, SCEVExpander, the original motivation for this code, has since been improved to avoid inttoptr+ptroint in more cases. llvm-svn: 96950
* Remove unused lowering function LowerJumpTableRichard Osborne2010-02-232-13/+0
| | | | llvm-svn: 96943
* Lower BR_JT on the XCore to a jump into a series of jump instructions.Richard Osborne2010-02-235-5/+103
| | | | llvm-svn: 96942
* Input files with empty suffixes must be passed to linker.Mikhail Glushenkov2010-02-231-1/+2
| | | | llvm-svn: 96927
* Temporary disable response files.Mikhail Glushenkov2010-02-231-1/+2
| | | | | | They are giving us problems on Mac. llvm-svn: 96925
* Implement order-preserving option forwarding.Mikhail Glushenkov2010-02-231-1/+13
| | | | | | | | | | | Needed to correctly handle things like 'llvmc -framework Foo foo.o -framework Bar bar.o' - before this commit all '-framework' options would've been grouped together in the beginning. Due to our dependence on CommandLine this turned out to be a giant hack; we will migrate away from CommandLine eventually. llvm-svn: 96922
* Correct option forwarding: initial implementation.Mikhail Glushenkov2010-02-231-0/+9
| | | | | | Does not work, but the infrastructure changes are in place. llvm-svn: 96920
* New experimental/undocumented feature: 'works_on_empty'.Mikhail Glushenkov2010-02-232-5/+1
| | | | | | For now, just enough support to make -filelist work. llvm-svn: 96918
* disable two patterns that are using non-sensical result pattern types.Chris Lattner2010-02-231-4/+4
| | | | llvm-svn: 96903
* remove a confused pattern that is trying to match an addressChris Lattner2010-02-231-7/+0
| | | | | | then use it as an MMX register (!?). llvm-svn: 96901
* remove a bunch of dead named arguments in input patterns,Chris Lattner2010-02-235-46/+46
| | | | | | though some look dubious afaict, these are all ok. llvm-svn: 96899
* fix a type mismatch in this pattern, where we were using an i64 imm in a Chris Lattner2010-02-231-1/+7
| | | | | | | | place where an i32 imm was required, the old isel just got lucky. This fixes CodeGen/X86/x86-64-and-mask.ll llvm-svn: 96894
* Update memdep when load PRE inserts a new load, and add some debug output.Bob Wilson2010-02-231-0/+2
| | | | | | I don't have a small testcase for this. llvm-svn: 96890
* reapply my cellspu changes with a fix to not break the old isel.Chris Lattner2010-02-231-42/+73
| | | | llvm-svn: 96885
* Revert 96854, 96852, and 96849, unbreaking test/CodeGen/CellSPU/i64ops.ll.Dan Gohman2010-02-231-71/+42
| | | | llvm-svn: 96871
* X86InstrInfoSSE.td declares PINSRW as having type v8i16,Chris Lattner2010-02-233-7/+19
| | | | | | | don't alis it in the MMX .td file with a different width, split into two X86ISD opcodes. This fixes an x86 testcase. llvm-svn: 96859
* Added versions of VCGE, VCGT, VCLE, and VCLT NEON instructions which compare toJohnny Chen2010-02-231-9/+25
| | | | | | | | (immediate #0) for disassembly only. A8.6.283, A8.6.285, A8.6.287, A8.6.290 llvm-svn: 96856
* fix hte last cellspu failure.Chris Lattner2010-02-231-11/+12
| | | | llvm-svn: 96854
* hack around more crimes in instruction selection.Chris Lattner2010-02-231-16/+26
| | | | llvm-svn: 96852
* the cell backend is making all sorts of unsafe and incorrect assumptions Chris Lattner2010-02-231-26/+44
| | | | | | | about ownership and update policies. It isn't clear why it is doing all this lowering at isel time instead of in legalize. This fixes fcmp64.ll llvm-svn: 96849
* Added VCEQ (immediate #0) NEON instruction for disassembly only.Johnny Chen2010-02-231-0/+41
| | | | | | A8.6.281 llvm-svn: 96838
* Dead code eliminationJakob Stoklund Olesen2010-02-232-14/+0
| | | | llvm-svn: 96837
* Fix viewCFG on Linux.Jeffrey Yasskin2010-02-231-1/+1
| | | | llvm-svn: 96834
* Instcombine constant folding can normalize gep with negative index to index ↵Evan Cheng2010-02-221-4/+9
| | | | | | with large offset. When instcombine objsize checking transformation sees these geps where the offset seemingly point out of bound, it should just return "i don't know" rather than asserting. llvm-svn: 96825
* Updated version of r96634 (which was reverted due to failing 176.gcc andJim Grosbach2010-02-225-5/+23
| | | | | | | | 126.gcc nightly tests. These failures uncovered latent bugs that machine DCE could remove one half of a stack adjust down/up pair, causing PEI to assert. This update fixes that, and the tests now pass. llvm-svn: 96822
* Clean up a bit and fix for when SPAdj != 0Jim Grosbach2010-02-221-3/+2
| | | | llvm-svn: 96818
* The predicate index isn't fixed, so scan for it to make sure we get the properJim Grosbach2010-02-221-2/+3
| | | | | | | | | value. Thumb2 uses the tADJCALLSTACK* instructions, and doesn't need t2 versions, so remove the FIXME entry. llvm-svn: 96817
* Canonicalize ConstantInts to the right operand of commutativeDan Gohman2010-02-222-2/+6
| | | | | | | | | | operators. The test difference is just due to the multiplication operands being commuted (and thus requiring a more elaborate match). In optimized code, that expression would be folded. llvm-svn: 96816
* remove dupes now.Chris Lattner2010-02-221-2/+0
| | | | llvm-svn: 96811
* move #includes earlier.Chris Lattner2010-02-222-2/+3
| | | | llvm-svn: 96810
* MC/Mach-O: Remove non-sensical comment, and add a missing AddValueSymbols call.Daniel Dunbar2010-02-221-3/+1
| | | | llvm-svn: 96809
* Minor formatting cleanup.Dan Gohman2010-02-221-2/+1
| | | | llvm-svn: 96808
* Use Instruction::isCommutative instead of duplicating it.Dan Gohman2010-02-221-24/+1
| | | | llvm-svn: 96807
* Added SEL, SXTB16, SXTAB16, UXTAB16, SMMULR, SMMLAR, SMMLSR, SMUAD, and SMUSD,Johnny Chen2010-02-221-5/+83
| | | | | | for disassembly only. llvm-svn: 96806
* Erase deleted instructions from GVN's ValueTable. This fixes assertionBob Wilson2010-02-221-0/+7
| | | | | | failures from ValueTable::verifyRemoved() when using -debug. llvm-svn: 96805
* Added a bunch of instructions for disassembly only:Johnny Chen2010-02-221-19/+145
| | | | | | | | | | o signed/unsigned add/subtract o signed/unsigned halving add/subtract o unsigned sum of absolute difference [and accumulate] o signed/unsigned saturate o signed multiply accumulate/subtract [long] dual llvm-svn: 96795
* Mark the return address stack slot as mutable when moving the return addressArnold Schwaighofer2010-02-221-2/+2
| | | | | | | | | | | | | | | | | during a tail call. A parameter might overwrite this stack slot during the tail call. The sequence during a tail call is: 1.) load return address to temp reg 2.) move parameters (might involve storing to return address stack slot) 3.) store return address to new location from temp reg If the stack location is marked immutable CodeGen can colocate load (1) with the store (3). This fixes bug 6225. llvm-svn: 96783
* Remove unused variables and parameters.Dan Gohman2010-02-224-50/+28
| | | | llvm-svn: 96780
* Fix various doxygen warnings.Dan Gohman2010-02-222-4/+2
| | | | llvm-svn: 96779
* Fix a typo in a comment.Dan Gohman2010-02-221-1/+1
| | | | llvm-svn: 96778
* Constant-fold certain comparisons with infinity and negative infinity.Dan Gohman2010-02-221-0/+26
| | | | llvm-svn: 96777
* Remove the logic for reasoning about NaNs from the code that formsDan Gohman2010-02-221-88/+11
| | | | | | | | | | SSE min and max instructions. The real thing this code needs to be concerned about is negative zero. Update the sse-minmax.ll test accordingly, and add tests for -enable-unsafe-fp-math mode as well. llvm-svn: 96775
* When emitting an instruction which depends on both a post-incrementedDan Gohman2010-02-221-2/+4
| | | | | | | | | induction variable value and a loop-variant value, don't force the insert position to be at the post-increment position, because it may not be dominated by the loop-variant value. This fixes a use-before-def problem noticed on PPC. llvm-svn: 96774
* This cast<Instruction> is unnecessary.Dan Gohman2010-02-221-1/+1
| | | | llvm-svn: 96771
* fix an incorrect VT: eflags is always i32. The bug was causing us toChris Lattner2010-02-221-1/+1
| | | | | | | | create an X86ISD::Cmp node with result type i64 on the CodeGen/X86/shift-i256.ll testcase and the new isel was assert on it downstream. llvm-svn: 96768
* MC/X86: Add stub AsmBackend.Daniel Dunbar2010-02-215-3/+50
| | | | llvm-svn: 96763
* MC: Sketch registry support for target specific assembler backends.Daniel Dunbar2010-02-211-0/+19
| | | | llvm-svn: 96762
OpenPOWER on IntegriCloud