summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix an off by one error.Eric Christopher2011-06-031-2/+1
| | | | | | Part of rdar://9037836 and rdar://9119939 llvm-svn: 132590
* Basic PassManager diagnostics.Andrew Trick2011-06-031-1/+11
| | | | | | | | Added asserts whenever attempting to use a potentially uninitialized pass. This helps people trying to develop a new pass and people trying to understand the bug reports filed by the former people. llvm-svn: 132520
* whitespaceAndrew Trick2011-06-031-3/+3
| | | | llvm-svn: 132519
* Add a new parse hint for multi-letter constraints in inline asm.Eric Christopher2011-06-021-0/+9
| | | | | | | | Testcase will come when we use it. Part of rdar://9119939 llvm-svn: 132476
* Add a minor missing -verify check. Found by inspection.Eli Friedman2011-05-311-0/+3
| | | | llvm-svn: 132353
* CRC32 intrinsics were renamed at revision 132163. This submissionChad Rosier2011-05-271-5/+5
| | | | | | | | fixes aliasing issues with the old and new names as well as adds test cases for the auto-upgrader. Fixes rdar 9472944. llvm-svn: 132207
* Renamed llvm.x86.sse42.crc32 intrinsics; crc64 doesn't exist. Chad Rosier2011-05-261-1/+27
| | | | | | | crc32.[8|16|32] have been renamed to .crc32.32.[8|16|32] and crc64.[8|16|32] have been renamed to .crc32.64.[8|64]. llvm-svn: 132163
* Replace the -unwind-tables option with a per function flag. This is moreRafael Espindola2011-05-251-0/+2
| | | | | | | LTO friendly as we can now correctly merge files compiled with or without -fasynchronous-unwind-tables. llvm-svn: 132033
* Clear list of instructions without DebugLoc.Devang Patel2011-05-231-0/+1
| | | | llvm-svn: 131906
* add a helper method to get the byval alignment of an argument.Chris Lattner2011-05-221-0/+6
| | | | llvm-svn: 131883
* remove StandardPasses, it has been replaced with PassManagerBuilderChris Lattner2011-05-222-248/+0
| | | | llvm-svn: 131827
* Add CreateLifetimeStart and CreateLifetimeEnd to the IRBuilder, with plans toNick Lewycky2011-05-211-1/+30
| | | | | | use these soon. llvm-svn: 131812
* Remove noisy semicolons.Benjamin Kramer2011-05-201-1/+1
| | | | llvm-svn: 131724
* Shuffle StandardPasses.cpp into VMCore; add it to CMake.Eli Friedman2011-05-182-0/+248
| | | | llvm-svn: 131600
* Use IRBuiler while constant folding terminator.Devang Patel2011-05-181-2/+2
| | | | llvm-svn: 131541
* Now that SrcBits and DestBits always represent the primitive size, ratherDuncan Sands2011-05-181-55/+29
| | | | | | | | | than either the primitive size or the element primitive size (in the case of vectors), simplify the vector logic. No functionality change. There is some distracting churn in the patch because I lined up comments better while there - sorry about that. llvm-svn: 131533
* Tighten up checking of the validity of casts. (1) The IR parser wouldDuncan Sands2011-05-181-32/+28
| | | | | | | | | | | | | | happily accept things like "sext <2 x i32> to <999 x i64>". It would also accept "sext <2 x i32> to i64", though the verifier would catch that later. Fixed by having castIsValid check that vector lengths match except when doing a bitcast. (2) When creating a cast instruction, check that the cast is valid (this was already done when creating constexpr casts). While there, replace getScalarSizeInBits (used to allow more vector casts) with getPrimitiveSizeInBits in getCastOpcode and isCastable since vector to vector casts are now handled explicitly by passing to the element types; i.e. this bit should result in no functional change. llvm-svn: 131532
* Teach getCastOpcode about element-by-element vector casts. For example, "trunc"Duncan Sands2011-05-181-4/+25
| | | | | | | | | | | | | can be used to turn a <4 x i64> into a <4 x i32> but getCastOpcode would assert if you passed these types to it. Note that this strictly extends the previous functionality: if getCastOpcode previously accepted two vector types (i.e. didn't assert) then it still will and returns the same opcode (BitCast). That's because before it would only accept vectors with the same bitwidth, and the new code only touches vectors with the same length. However if two vectors have both the same bitwidth and the same length then their element types have the same bitwidth, so the new logic will return BitCast as before. llvm-svn: 131530
* 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
OpenPOWER on IntegriCloud