summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Simplify LowerCallTo by using a callsite.Duncan Sands2007-12-191-41/+27
| | | | llvm-svn: 45198
* The C++ exception handling personality function wantsDuncan Sands2007-12-193-28/+60
| | | | | | | | | | | | | | | | | | | | | | | to know about calls that cannot throw ('nounwind'): if such a call does throw for some reason then the personality will terminate the program. The distinction between an ordinary call and a nounwind call is that an ordinary call gets an entry in the exception table but a nounwind call does not. This patch sets up the exception table appropriately. One oddity is that I've chosen to bracket nounwind calls with labels (like invokes) - the other choice would have been to bracket ordinary calls with labels. While bracketing ordinary calls is more natural (because bracketing by labels would then correspond exactly to getting an entry in the exception table), I didn't do it because introducing labels impedes some optimizations and I'm guessing that ordinary calls occur more often than nounwind calls. This fixes the gcc filter2 eh test, at least at -O0 (the inliner needs some tweaking at higher optimization levels). llvm-svn: 45197
* Add new immed16.ll test case, fix CellSPU errata to make test case work.Scott Michel2007-12-196-13/+61
| | | | llvm-svn: 45196
* Modified to support comments better.Bill Wendling2007-12-191-53/+42
| | | | llvm-svn: 45192
* Mark the "isRemat" instruction as never having side effects.Bill Wendling2007-12-191-1/+1
| | | | llvm-svn: 45190
* fix more table abuses.Chris Lattner2007-12-191-50/+46
| | | | llvm-svn: 45187
* Don't leave newly created nodes around if it turns out they are not needed.Evan Cheng2007-12-191-2/+4
| | | | llvm-svn: 45186
* Added "GetCurrentDirectory()" to sys::Path.Ted Kremenek2007-12-183-0/+24
| | | | llvm-svn: 45182
* Add debugging info. Use the newly created "hasUnmodelledSideEffects" method.Bill Wendling2007-12-181-21/+38
| | | | llvm-svn: 45178
* 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 llvm-svn: 45173
* Support more insane CEP's in AsmPrinter (Yes, PyPy folks do really use them).Anton Korobeynikov2007-12-181-1/+24
| | | | llvm-svn: 45172
* Fix commentsChristopher Lamb2007-12-181-4/+2
| | | | llvm-svn: 45170
* Remove an orthogonal transformation of the selection condition from my most ↵Christopher Lamb2007-12-182-40/+3
| | | | | | recent submission. llvm-svn: 45169
* Added "isDirectory" method to llvm::sys::Path.Ted Kremenek2007-12-183-1/+22
| | | | llvm-svn: 45168
* Fix PR1872: SrcValue and SrcValueOffset should not be used to compute load / ↵Evan Cheng2007-12-182-20/+28
| | | | | | store node id. llvm-svn: 45167
* Ignore shell scripts when doing "dsymutil" call.Bill Wendling2007-12-181-1/+2
| | | | llvm-svn: 45166
* remove obviously dead uses of IncludeFile.Chris Lattner2007-12-187-13/+0
| | | | llvm-svn: 45165
* Also print alignment and volatileness.Evan Cheng2007-12-181-13/+19
| | | | llvm-svn: 45164
* remove a dead annotationChris Lattner2007-12-182-4/+0
| | | | llvm-svn: 45163
* Added some sectioning comments to Serialize.h.Ted Kremenek2007-12-181-14/+71
| | | | | | Added additional serialization functors for use with std::foreach. llvm-svn: 45162
* add an obvious load folding missed optzn.Chris Lattner2007-12-181-0/+21
| | | | llvm-svn: 45161
* Rename isNoReturn to doesNotReturn, and isNoUnwind toDuncan Sands2007-12-188-21/+21
| | | | | | doesNotThrow. llvm-svn: 45160
* Fix typos.Christopher Lamb2007-12-182-2/+2
| | | | llvm-svn: 45159
* 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 llvm-svn: 45158
* 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. llvm-svn: 45157
* SelectionDAG::dump() should print SrcValue of LoadSDNode and StoreSDNode.Evan Cheng2007-12-181-0/+18
| | | | llvm-svn: 45151
* avoid confusing terminology (what is a "word"?), fix scary markup, add ↵Chris Lattner2007-12-181-21/+12
| | | | | | section to TOC. llvm-svn: 45150
* 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. llvm-svn: 45147
* Testcase for preceding FE fixDale Johannesen2007-12-181-0/+18
| | | | llvm-svn: 45144
* add a missed case.Chris Lattner2007-12-181-0/+18
| | | | llvm-svn: 45141
* Remove int_x86_sse2_movl_dq. It's replaced with a string compare.Evan Cheng2007-12-182-7/+3
| | | | llvm-svn: 45140
* These have matching builtin's in 4.2.Evan Cheng2007-12-181-2/+2
| | | | llvm-svn: 45139
* i32 immediate constant test case for CellSPUScott Michel2007-12-171-0/+70
| | | | llvm-svn: 45134
* s/hasSideEffects/hasUnmodelledSideEffects/gBill Wendling2007-12-171-3/+4
| | | | llvm-svn: 45133
* 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. llvm-svn: 45132
* 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. llvm-svn: 45131
* - Restore some i8 functionality in CellSPUScott Michel2007-12-179-63/+612
| | | | | | - New test case: nand.ll llvm-svn: 45130
* 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. llvm-svn: 45129
* LD_Fp64m should have "isRematerializable" set.Bill Wendling2007-12-171-1/+2
| | | | llvm-svn: 45128
* Add "hasSideEffects" method to MachineInstrInfo class.Bill Wendling2007-12-171-1/+10
| | | | llvm-svn: 45126
* Add MachineLICM.cppBill Wendling2007-12-171-0/+2
| | | | llvm-svn: 45123
* As per feedback, revised comments to (hopefully) make the different side effectBill Wendling2007-12-172-14/+38
| | | | | | flags clearer. llvm-svn: 45120
* Add cast operators in LLVMFoldingBuilder.Devang Patel2007-12-171-0/+123
| | | | | | Patch by Richard Pennington. llvm-svn: 45115
* 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. llvm-svn: 45112
* 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). llvm-svn: 45108
* GLIBCXX_DEBUG fix. std::vector<>::end() is invalidated by erase.David Greene2007-12-171-1/+1
| | | | llvm-svn: 45101
* Get rid of annoying spaces.David Greene2007-12-171-1/+1
| | | | llvm-svn: 45100
* Fix GLIBCXX_DEBUG errors. Erase invalidates std::vector iteratorsDavid Greene2007-12-171-4/+3
| | | | | | passed the erased element. llvm-svn: 45099
* Disabling a RUN line that's broken until addrspace roundtripsGordon Henriksen2007-12-171-1/+1
| | | | | | through llvm-as|llvm-dis. llvm-svn: 45097
* C and Ocaml bindings for address spaces, for that burgeoning marketGordon Henriksen2007-12-176-18/+63
| | | | | | for Ocaml-based compilers targeting embedded devices. :) llvm-svn: 45096
OpenPOWER on IntegriCloud