summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* Don't do tail calls in a function that call setjmp. The stack might beRafael Espindola2011-05-161-0/+33
| | | | | | corrupted when setjmp returns again. llvm-svn: 131399
* Make codegen able to handle values of empty types. This is one wayRafael Espindola2011-05-131-0/+19
| | | | | | to fix PR9900. I will keep it open until sable is able to comment on it. llvm-svn: 131294
* Fix cmake again.Rafael Espindola2011-05-101-1/+0
| | | | llvm-svn: 131164
* Remove empty file.Nick Lewycky2011-05-101-0/+0
| | | | llvm-svn: 131162
* Fix cmake build.Rafael Espindola2011-05-101-0/+1
| | | | llvm-svn: 131160
* Revert r131155 for now. It makes VMCore depend on Analysis and TransformsNick Lewycky2011-05-101-240/+0
| | | | | | headers. llvm-svn: 131159
* Add support for plugins add passes to the default set of passes. The ↵David Chisnall2011-05-101-0/+240
| | | | | | | | | | | | | | | standard set of passes used by front ends can now be modified by LLVM plugins, without needing to modify any front ends. Still to do: - Allow replacing / removing passes (infrastructure there, just needs an infrastructure exposed) - Defining sets of passes to be added or removed as a group - Extending the support to allow user-defined groups of optimisations - Allow plugins to be specified for loading automatically (e.g. from plugins.conf or some similar mechanism) Reviewed by Nick Lewycky. llvm-svn: 131155
* In debug output, clearly list new instructions without DebugLoc.Devang Patel2011-05-051-36/+2
| | | | llvm-svn: 130957
* Replace the "movnt" intrinsics with a native store + nontemporal metadata bit.Bill Wendling2011-05-031-0/+32
| | | | | | <rdar://problem/8460511> llvm-svn: 130791
* Print new instructions without DebugLoc.Devang Patel2011-04-291-0/+9
| | | | llvm-svn: 130542
* Coalesce some DEBUGs (moving an only-used-in-DEBUG variable's declaration ↵Matt Beaumont-Gay2011-04-281-6/+7
| | | | | | into the DEBUG) llvm-svn: 130448
* Beautify debug info probe output.Devang Patel2011-04-281-4/+13
| | | | llvm-svn: 130435
* Add command line option to print debug info in human readable form as ↵Devang Patel2011-04-281-0/+55
| | | | | | comment in llvm IR output. This, i.e -enable-debug-info-comment, is very useful if you want to easily find out which optimization pass is losing line number information. llvm-svn: 130409
* Another example of a static table that wasn't marked static.Duncan Sands2011-04-261-1/+1
| | | | llvm-svn: 130193
* mark a large static table static. Pointed out by Michael Ilseman!Chris Lattner2011-04-251-1/+1
| | | | llvm-svn: 130160
* Fix an assert to check exactly what it says.Jay Foad2011-04-241-1/+1
| | | | llvm-svn: 130093
* Remove unused STL header includes.Jay Foad2011-04-232-2/+0
| | | | llvm-svn: 130068
* PR9214: Convert Metadata API to use ArrayRef.Jay Foad2011-04-213-28/+25
| | | | llvm-svn: 129932
* Structs have elements not parameters. I'm surprised this ever compiled...Nick Lewycky2011-04-201-1/+1
| | | | llvm-svn: 129888
* Fix a ton of comment typos found by codespell. Patch byChris Lattner2011-04-155-5/+5
| | | | | | Luis Felipe Strano Moraes! llvm-svn: 129558
* Fix debug message.Devang Patel2011-04-131-1/+3
| | | | llvm-svn: 129463
* PR9214: Convert ConstantExpr::getIndices() to return an ArrayRef, plusJay Foad2011-04-133-11/+9
| | | | | | related tweaks to ExprMapKeyType. llvm-svn: 129443
* Remove some redundant llvm:: prefixes.Jay Foad2011-04-131-1/+1
| | | | llvm-svn: 129441
* PR9214: Convert ConstantExpr::getWithOperands() to use ArrayRef.Jay Foad2011-04-131-5/+5
| | | | llvm-svn: 129439
* Reapply r129401 with patch for clang.Bill Wendling2011-04-131-1/+29
| | | | llvm-svn: 129419
* Revert r129401 for now. Clang is using the old way of doing things.Bill Wendling2011-04-121-29/+1
| | | | llvm-svn: 129403
* Remove the unaligned load intrinsics in favor of using native unaligned loads.Bill Wendling2011-04-121-1/+29
| | | | | | | | | Now that we have a first-class way to represent unaligned loads, the unaligned load intrinsics are superfluous. First part of <rdar://problem/8460511>. llvm-svn: 129401
* Make IRBuilder support StringRef for building strings.Nick Lewycky2011-04-121-1/+1
| | | | | | Also document that the global variables produced are mergable. llvm-svn: 129330
* Don't include Operator.h from InstrTypes.h.Jay Foad2011-04-111-0/+1
| | | | llvm-svn: 129271
* Phi nodes always use an even number of operands, so don't ever allocateJay Foad2011-04-111-1/+2
| | | | | | an odd number. llvm-svn: 129270
* Revert r129235 pending a vetting of the EH rewrite.Bill Wendling2011-04-102-8/+4
| | | | | | | | | | | | | | | | --- Reverse-merging r129235 into '.': D test/Feature/bb_attrs.ll U include/llvm/BasicBlock.h U include/llvm/Bitcode/LLVMBitCodes.h U lib/VMCore/AsmWriter.cpp U lib/VMCore/BasicBlock.cpp U lib/AsmParser/LLParser.cpp U lib/AsmParser/LLLexer.cpp U lib/AsmParser/LLToken.h U lib/Bitcode/Reader/BitcodeReader.cpp U lib/Bitcode/Writer/BitcodeWriter.cpp llvm-svn: 129259
* Beginning of the Great Exception Handling Rewrite.Bill Wendling2011-04-102-4/+8
| | | | | | | | | | | | | * Add a "landing pad" attribute to the BasicBlock. * Modify the bitcode reader and writer to handle said attribute. Later: The verifier will ensure that the landing pad attribute is used in the appropriate manner. I.e., not applied to the entry block, and applied only to basic blocks that are branched to via a `dispatch' instruction. (This is a work-in-progress.) llvm-svn: 129235
* llvm.global_[cd]tor is defined to be either external, or appending with an arrayNick Lewycky2011-04-081-0/+17
| | | | | | | of { i32, void ()* }. Teach the verifier to verify that, deleting copies of checks strewn about. llvm-svn: 129128
* Set unnamed_addr on strings created through the IRBuilder.Nick Lewycky2011-04-071-0/+1
| | | | llvm-svn: 129040
* Replace const std::vector& with ArrayRef in the type creation APIs.Nick Lewycky2011-04-062-8/+10
| | | | llvm-svn: 129024
* face+palmDevang Patel2011-04-061-4/+4
| | | | | | Keep track of llvm.dbg.value intrinsics with non null values. llvm-svn: 129010
* Add an empty key for DebugLoc so that you can store an empty DebugLoc in aNick Lewycky2011-04-061-1/+1
| | | | | | DenseMap. llvm-svn: 128994
* Support using DebugLoc's in a DenseMap.Nick Lewycky2011-04-061-0/+24
| | | | llvm-svn: 128988
* Remove some support for ReturnInsts with multiple operands, and forJay Foad2011-04-041-24/+4
| | | | | | | returning a scalar value in a function whose return type is a single- element structure or array. llvm-svn: 128810
* Move Object.cpp out of VMCore and into Object.Eric Christopher2011-04-032-60/+0
| | | | llvm-svn: 128800
* Add a set of C bindings for the Object interface.Eric Christopher2011-04-032-0/+60
| | | | | | Patch by Patrick Walton! llvm-svn: 128798
* Various Instructions' resizeOperands() methods are only used to grow theJay Foad2011-04-011-54/+16
| | | | | | list of operands. Simplify and rename them accordingly. llvm-svn: 128708
* While testing dragonegg I noticed that isCastable and getCastOpcodeDuncan Sands2011-04-011-4/+12
| | | | | | | | had gotten out of sync: isCastable didn't think it was possible to cast the x86_mmx type to anything, while it did think it possible to cast an i64 to x86_mmx. llvm-svn: 128705
* Remove PHINode::reserveOperandSpace(). Instead, add a parameter toJay Foad2011-03-301-1/+1
| | | | | | PHINode::Create() giving the (known or expected) number of operands. llvm-svn: 128537
* Remove dead code.Bill Wendling2011-03-301-68/+0
| | | | llvm-svn: 128519
* Add intrinsics @llvm.arm.neon.vmulls and @llvm.arm.neon.vmullu.* back. FrontendsEvan Cheng2011-03-291-1/+0
| | | | | | | | | | | | | | | was lowering them to sext / uxt + mul instructions. Unfortunately the optimization passes may hoist the extensions out of the loop and separate them. When that happens, the long multiplication instructions can be broken into several scalar instructions, causing significant performance issue. Note the vmla and vmls intrinsics are not added back. Frontend will codegen them as intrinsics vmull* + add / sub. Also note the isel optimizations for catching mul + sext / zext are not changed either. First part of rdar://8832507, rdar://9203134 llvm-svn: 128502
* Spruce up the error output.Bill Wendling2011-03-291-2/+1
| | | | llvm-svn: 128451
* Do not accidently initialize NumDbgValueLost and NumDbgLineLost counts.Devang Patel2011-03-161-4/+4
| | | | llvm-svn: 127720
* Unbreak the CMake build.Francois Pichet2011-03-101-0/+1
| | | | llvm-svn: 127383
* Introduce DebugInfoProbe. This is used to monitor how llvm optimizer is ↵Devang Patel2011-03-102-1/+259
| | | | | | | | | | | | treating debugging information. It generates output that lools like 8 times line number info lost by Scalar Replacement of Aggregates (SSAUp) 1 times line number info lost by Simplify well-known library calls 12 times variable info lost by Jump Threading llvm-svn: 127381
OpenPOWER on IntegriCloud