aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fold subtracts into integer compares vs. zero. This improves generate code ↵Christopher Lamb2007-12-181-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | for this case on X86 from _foo: movl $99, %ecx movl 4(%esp), %eax subl %eax, %ecx xorl %edx, %edx testl %ecx, %ecx cmovs %edx, %eax ret to _foo: xorl %ecx, %ecx movl 4(%esp), %eax cmpl $99, %eax cmovg %ecx, %eax ret git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45173 91177308-0d34-0410-b5e6-96231b3b80d8
* Support more insane CEP's in AsmPrinter (Yes, PyPy folks do really use them).Anton Korobeynikov2007-12-181-1/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45172 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix commentsChristopher Lamb2007-12-181-4/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45170 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an orthogonal transformation of the selection condition from my most ↵Christopher Lamb2007-12-182-40/+3
| | | | | | recent submission. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45169 91177308-0d34-0410-b5e6-96231b3b80d8
* Added "isDirectory" method to llvm::sys::Path.Ted Kremenek2007-12-183-1/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45168 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1872: SrcValue and SrcValueOffset should not be used to compute load / ↵Evan Cheng2007-12-182-20/+28
| | | | | | store node id. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45167 91177308-0d34-0410-b5e6-96231b3b80d8
* Ignore shell scripts when doing "dsymutil" call.Bill Wendling2007-12-181-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45166 91177308-0d34-0410-b5e6-96231b3b80d8
* remove obviously dead uses of IncludeFile.Chris Lattner2007-12-187-13/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45165 91177308-0d34-0410-b5e6-96231b3b80d8
* Also print alignment and volatileness.Evan Cheng2007-12-181-13/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45164 91177308-0d34-0410-b5e6-96231b3b80d8
* remove a dead annotationChris Lattner2007-12-182-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45163 91177308-0d34-0410-b5e6-96231b3b80d8
* Added some sectioning comments to Serialize.h.Ted Kremenek2007-12-181-14/+71
| | | | | | | Added additional serialization functors for use with std::foreach. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45162 91177308-0d34-0410-b5e6-96231b3b80d8
* add an obvious load folding missed optzn.Chris Lattner2007-12-181-0/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45161 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename isNoReturn to doesNotReturn, and isNoUnwind toDuncan Sands2007-12-188-21/+21
| | | | | | | doesNotThrow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45160 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typos.Christopher Lamb2007-12-182-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45159 91177308-0d34-0410-b5e6-96231b3b80d8
* Fold certain additions through selects (and their compares) so as to ↵Christopher Lamb2007-12-183-18/+99
| | | | | | | | | eliminate subtractions. This code is often produced by the SMAX expansion in SCEV. This implements test/Transforms/InstCombine/2007-12-18-AddSelCmpSub.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45158 91177308-0d34-0410-b5e6-96231b3b80d8
* FIX for PR1799: When a load is unfolded from an instruction, check if it is ↵Evan Cheng2007-12-182-26/+71
| | | | | | a new node. If not, do not create a new SUnit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45157 91177308-0d34-0410-b5e6-96231b3b80d8
* SelectionDAG::dump() should print SrcValue of LoadSDNode and StoreSDNode.Evan Cheng2007-12-181-0/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45151 91177308-0d34-0410-b5e6-96231b3b80d8
* avoid confusing terminology (what is a "word"?), fix scary markup, add ↵Chris Lattner2007-12-181-21/+12
| | | | | | section to TOC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45150 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't forget to print address space qualifiers when printing out the type ↵Christopher Lamb2007-12-182-2/+5
| | | | | | table! Thanks to Gordon Henriksen for pointing this out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45147 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for preceding FE fixDale Johannesen2007-12-181-0/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45144 91177308-0d34-0410-b5e6-96231b3b80d8
* add a missed case.Chris Lattner2007-12-181-0/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45141 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove int_x86_sse2_movl_dq. It's replaced with a string compare.Evan Cheng2007-12-182-7/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45140 91177308-0d34-0410-b5e6-96231b3b80d8
* These have matching builtin's in 4.2.Evan Cheng2007-12-181-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45139 91177308-0d34-0410-b5e6-96231b3b80d8
* i32 immediate constant test case for CellSPUScott Michel2007-12-171-0/+70
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45134 91177308-0d34-0410-b5e6-96231b3b80d8
* s/hasSideEffects/hasUnmodelledSideEffects/gBill Wendling2007-12-171-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45133 91177308-0d34-0410-b5e6-96231b3b80d8
* Add "mayHaveSideEffects" and "neverHasSideEffects" flags to some instructions. IBill Wendling2007-12-177-21/+57
| | | | | | | | | | based what flag to set on whether it was already marked as "isRematerializable". If there was a further check to determine if it's "really" rematerializable, then I marked it as "mayHaveSideEffects" and created a check in the X86 back-end similar to the remat one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45132 91177308-0d34-0410-b5e6-96231b3b80d8
* Bring back int_x86_sse2_movl_dq intrinsic for backward compatibility. Make sureEvan Cheng2007-12-176-26/+78
| | | | | | | it's auto-upgraded to a shufflevector instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45131 91177308-0d34-0410-b5e6-96231b3b80d8
* - Restore some i8 functionality in CellSPUScott Michel2007-12-179-63/+612
| | | | | | | - New test case: nand.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45130 91177308-0d34-0410-b5e6-96231b3b80d8
* Modified Deserializer::ReadCStr to allow C-strings to be read into aTed Kremenek2007-12-172-4/+11
| | | | | | | std::vector<char> starting from any index in the vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45129 91177308-0d34-0410-b5e6-96231b3b80d8
* LD_Fp64m should have "isRematerializable" set.Bill Wendling2007-12-171-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45128 91177308-0d34-0410-b5e6-96231b3b80d8
* Add "hasSideEffects" method to MachineInstrInfo class.Bill Wendling2007-12-171-1/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45126 91177308-0d34-0410-b5e6-96231b3b80d8
* Add MachineLICM.cppBill Wendling2007-12-171-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45123 91177308-0d34-0410-b5e6-96231b3b80d8
* As per feedback, revised comments to (hopefully) make the different side effectBill Wendling2007-12-172-14/+38
| | | | | | | flags clearer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45120 91177308-0d34-0410-b5e6-96231b3b80d8
* Add cast operators in LLVMFoldingBuilder.Devang Patel2007-12-171-0/+123
| | | | | | | | Patch by Richard Pennington. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45115 91177308-0d34-0410-b5e6-96231b3b80d8
* cleanup this code, making it more "llvm-like".Chris Lattner2007-12-171-85/+80
| | | | | | | | | Add comments to reset indicating that it deletes its pointer. Add a new take() method, which can be used to get the pointer without it being deleted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45112 91177308-0d34-0410-b5e6-96231b3b80d8
* Make invokes of inline asm legal. Teach codegenDuncan Sands2007-12-175-22/+39
| | | | | | | | | how to lower them (with no attempt made to be efficient, since they should only occur for unoptimized code). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45108 91177308-0d34-0410-b5e6-96231b3b80d8
* GLIBCXX_DEBUG fix. std::vector<>::end() is invalidated by erase.David Greene2007-12-171-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45101 91177308-0d34-0410-b5e6-96231b3b80d8
* Get rid of annoying spaces.David Greene2007-12-171-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45100 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix GLIBCXX_DEBUG errors. Erase invalidates std::vector iteratorsDavid Greene2007-12-171-4/+3
| | | | | | | | passed the erased element. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45099 91177308-0d34-0410-b5e6-96231b3b80d8
* Disabling a RUN line that's broken until addrspace roundtripsGordon Henriksen2007-12-171-1/+1
| | | | | | through llvm-as|llvm-dis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45097 91177308-0d34-0410-b5e6-96231b3b80d8
* C and Ocaml bindings for address spaces, for that burgeoning marketGordon Henriksen2007-12-176-18/+63
| | | | | | for Ocaml-based compilers targeting embedded devices. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45096 91177308-0d34-0410-b5e6-96231b3b80d8
* regenerate.Christopher Lamb2007-12-175-4715/+3411
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45085 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the PointerType api for creating pointer types. The old functionality ↵Christopher Lamb2007-12-1732-137/+172
| | | | | | of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45082 91177308-0d34-0410-b5e6-96231b3b80d8
* Make it clear in the LangRef that allocation instructions only operated on ↵Christopher Lamb2007-12-172-2/+16
| | | | | | the generic address space. Implement support in the verifier for ensuring this is true. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45080 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert this part of r45073 until the verifier isDuncan Sands2007-12-161-2/+3
| | | | | | | changed not to reject invoke of inline asm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45077 91177308-0d34-0410-b5e6-96231b3b80d8
* don't violate C TBAA rules, use FloatToBits instead.Chris Lattner2007-12-161-22/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45076 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a questionable cast, thanks to Mike Stump for pointing this out.Chris Lattner2007-12-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45075 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the JIT encoding of cmp*ss, which aborts with this assertion currently:Chris Lattner2007-12-162-4/+6
| | | | | | | | | | | X86CodeEmitter.cpp:378: failed assertion `0 && "Immediate size not set!"' I *think* this is right, but Evan, please verify. It also looks like CMPSDrr and maybe others are missing this info. Evan, plz investigate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45074 91177308-0d34-0410-b5e6-96231b3b80d8
* Make instcombine promote inline asm calls to 'nounwind'Duncan Sands2007-12-167-4/+35
| | | | | | | | | | | | | | calls. Remove special casing of inline asm from the inliner. There is a potential problem: the verifier rejects invokes of inline asm (not sure why). If an asm call is not marked "nounwind" in some .ll, and instcombine is not run, but the inliner is run, then an illegal module will be created. This is bad but I'm not sure what the best approach is. I'm tempted to remove the check in the verifier... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45073 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove spurious warnings from GCC:Bill Wendling2007-12-161-75/+79
| | | | | | | | | | warning: suggest a space before ';' or explicit braces around empty body in 'for' statement Patch by Mike Stump (modified slightly by yours truly). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45071 91177308-0d34-0410-b5e6-96231b3b80d8