summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* PR10210: New method ConstantArray::getAsCString(). Use it in LTO toJay Foad2011-06-281-8/+23
| | | | | | avoid getting embedded trailing null bytes in std::strings. llvm-svn: 133999
* Revert unintentional check-in.Devang Patel2011-06-242-81/+10
| | | | llvm-svn: 133822
* Handle debug info for i128 constants.Devang Patel2011-06-242-10/+81
| | | | llvm-svn: 133821
* Reinstate r133513 (reverted in r133700) with an additional fix for aJay Foad2011-06-235-30/+54
| | | | | | -Wshorten-64-to-32 warning in Instructions.h. llvm-svn: 133708
* Revert r133513:Eric Christopher2011-06-235-54/+30
| | | | | | | | | "Reinstate r133435 and r133449 (reverted in r133499) now that the clang self-hosted build failure has been fixed (r133512)." Due to some additional warnings. llvm-svn: 133700
* Replace the existing forms of ConstantArray::get() with a single formJay Foad2011-06-222-12/+3
| | | | | | that takes an ArrayRef. llvm-svn: 133615
* Make ConstantVector::get() always take an ArrayRef, never a std::vector.Jay Foad2011-06-222-10/+4
| | | | llvm-svn: 133614
* Eliminate a temporary std::vector in ConstantStruct::get().Jay Foad2011-06-221-4/+2
| | | | llvm-svn: 133612
* Extend ConstantUniqueMap with a new template parameter ValRefType,Jay Foad2011-06-222-14/+18
| | | | | | | | representing a constant reference to ValType. Normally this is just "const ValType &", but when ValType is a std::vector we want to use ArrayRef as the reference type. llvm-svn: 133611
* Fix some trailing issues from my introduction of MVT::untyped and its use ↵Owen Anderson2011-06-211-0/+1
| | | | | | for REGISTER_SEQUENCE. llvm-svn: 133567
* Remove r130409, as requested by Chris.Devang Patel2011-06-211-55/+0
| | | | llvm-svn: 133536
* Reinstate r133435 and r133449 (reverted in r133499) now that the clangJay Foad2011-06-215-30/+54
| | | | | | self-hosted build failure has been fixed (r133512). llvm-svn: 133513
* Revert r133435 and r133449 to appease buildbots.Chad Rosier2011-06-215-54/+30
| | | | llvm-svn: 133499
* Fix a check for PHINodes with two incoming values.Jay Foad2011-06-201-1/+1
| | | | llvm-svn: 133449
* Change how PHINodes store their operands.Jay Foad2011-06-205-29/+53
| | | | | | | | | | | | | | | | | | | Change PHINodes to store simple pointers to their incoming basic blocks, instead of full-blown Uses. Note that this loses an optimization in SplitCriticalEdge(), because we can no longer walk the use list of a BasicBlock to find phi nodes. See the comment I removed starting "However, the foreach loop is slow for blocks with lots of predecessors". Extend replaceAllUsesWith() on a BasicBlock to also update any phi nodes in the block's successors. This mimics what would have happened when PHINodes were proper Users of their incoming blocks. (Note that this only works if OldBB->replaceAllUsesWith(NewBB) is called when OldBB still has a terminator instruction, so it still has some successors.) llvm-svn: 133435
* Make better use of the PHINode API.Jay Foad2011-06-203-10/+13
| | | | | | | | Change various bits of code to make better use of the existing PHINode API, to insulate them from forthcoming changes in how PHINodes store their operands. llvm-svn: 133434
* Remove the AugmentedUse struct.Jay Foad2011-06-202-11/+5
| | | | | | | | I don't think the AugmentedUse struct buys us much, either in correctness or in ease of use. Ditch it, and simplify Use::getUser() and User::allocHungoffUses(). llvm-svn: 133433
* Revamp the "ConstantStruct::get" methods. Previously, these were scatteredChris Lattner2011-06-203-37/+42
| | | | | | | | | | | | | | | all over the place in different styles and variants. Standardize on two preferred entrypoints: one that takes a StructType and ArrayRef, and one that takes StructType and varargs. In cases where there isn't a struct type convenient, we now add a ConstantStruct::getAnon method (whose name will make more sense after a few more patches land). It would be "really really nice" if the ConstantStruct::get and ConstantVector::get methods didn't make temporary std::vectors. llvm-svn: 133412
* fix the varargs version of StructType::get to not require an LLVMContext, ↵Chris Lattner2011-06-182-5/+7
| | | | | | | | making usage much cleaner. llvm-svn: 133364
* eliminate some pointless virtual methods.Chris Lattner2011-06-181-26/+32
| | | | llvm-svn: 133363
* now that Type::getDescription() is dead, the TypePrinting class can move ↵Chris Lattner2011-06-181-28/+42
| | | | | | | | from Assembly/Writer.h to being a private class in AsmWriter.cpp. llvm-svn: 133361
* eliminate the Type::getDescription() method, using "<<" instead. This Chris Lattner2011-06-184-37/+8
| | | | | | removes some gunk from LLVMContext. llvm-svn: 133360
* rework the remaining autoupgrade logic to use a StringRef instead of creating aChris Lattner2011-06-181-49/+34
| | | | | | temporary std::string for every function being checked. llvm-svn: 133355
* rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which isChris Lattner2011-06-181-1197/+23
| | | | | | | | | for pre-2.9 bitcode files. We keep x86 unaligned loads, movnt, crc32, and the target indep prefetch change. As usual, updating the testsuite is a PITA. llvm-svn: 133337
* Fix typo in comment.Jay Foad2011-06-171-1/+1
| | | | llvm-svn: 133254
* change Type.h to forward declare ArrayRef instead of #including it.Chris Lattner2011-06-161-1/+9
| | | | llvm-svn: 133197
* prune #includes.Chris Lattner2011-06-161-19/+5
| | | | llvm-svn: 133194
* move the address space into the subclass data field, saving a word on ↵Chris Lattner2011-06-161-1/+1
| | | | | | | | PointerType. This limits the # address spaces to 2^23, which should be good enough. llvm-svn: 133192
* tidy up some comments, store the 'isvararg' bit for FunctionType inChris Lattner2011-06-161-2/+2
| | | | | | the SubclassData field, saving a word. llvm-svn: 133191
* remove Type::getVAArgsPromotedType, which is dead, and tidy up a bit.Chris Lattner2011-06-161-9/+0
| | | | llvm-svn: 133190
* Add a new function attribute, nonlazybind, which inhibits lazy-loadingJohn McCall2011-06-151-0/+2
| | | | | | | | | | | | | | | | optimizations when emitting calls to the function; instead those calls may use faster relocations which require the function to be immediately resolved upon loading the dynamic object featuring the call. This is useful when it is known that the function will be called frequently and pervasively and therefore there is no merit in delaying binding of the function. Currently only implemented for x86-64, where it turns into a call through the global offset table. Patch by Dan Gohman, who assures me that he's going to add LangRef documentation for this once it's committed. llvm-svn: 133080
* Teach the .ll parser to handle named metadata with non-simple names.Nick Lewycky2011-06-151-1/+19
| | | | | | | | Unfortunately we can't follow what the rest of the language does (wrapping it in double-quotes) because that would cause an ambiguity with metadata strings, so instead we escape any unusual characters with \xx escaping. llvm-svn: 133050
* Add one more argument to the prefetch intrinsic to indicate whether it's a dataBruno Cardoso Lopes2011-06-141-0/+47
| | | | | | | or instruction cache access. Update the targets to match it and also teach autoupgrade. llvm-svn: 132976
* Another possible bug. Stopgap until we can autogenerate tables andEric Christopher2011-06-031-6/+3
| | | | | | | | constraint lengths. Part of rdar://9037836 and rdar://9119939 llvm-svn: 132598
* 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
OpenPOWER on IntegriCloud