summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-0742-151/+106
| | | | llvm-svn: 149961
* Cache the sizes of vectors instead of calculating them all over the place.Bill Wendling2012-02-071-9/+11
| | | | llvm-svn: 149954
* Reserve space in these vectors to prevent having to grow the array tooBill Wendling2012-02-072-6/+8
| | | | | | much. This gets us an addition 0.9% on 445.gobmk. llvm-svn: 149952
* Fix win32 build breakage from bitcode streaming patchDerek Schuff2012-02-071-1/+4
| | | | llvm-svn: 149941
* [fast-isel] Add support for ADDs with non-legal types.Chad Rosier2012-02-061-5/+34
| | | | llvm-svn: 149934
* Expose TargetPassConfig to PEI PassAndrew Trick2012-02-062-0/+2
| | | | llvm-svn: 149927
* Add TargetPassConfig to the PassManager for use inside passesAndrew Trick2012-02-062-5/+7
| | | | llvm-svn: 149926
* The patch resolves the conflict between AddressSanitizer and load widening ↵Kostya Serebryany2012-02-061-0/+8
| | | | | | | | | (GVN). The problem initially reported by Mozilla folks (http://code.google.com/p/address-sanitizer/issues/detail?id=20), but it also prevents us from enabling LLVM bootstrap with AddressSanitizer. llvm-svn: 149925
* Fix comment-rulers.Nick Lewycky2012-02-062-2/+2
| | | | llvm-svn: 149922
* Don't explicitly renumber slot indices.Jakob Stoklund Olesen2012-02-061-2/+0
| | | | | | We have automatic local renumbering now. llvm-svn: 149920
* Enable streaming of bitcodeDerek Schuff2012-02-0614-90/+415
| | | | | | | This CL delays reading of function bodies from initial parse until materialization, allowing overlap of compilation with bitcode download. llvm-svn: 149918
* Remove some dead code and tidy things up now that vectors use ConstantDataVectorChris Lattner2012-02-068-107/+39
| | | | | | instead of always using ConstantVector. llvm-svn: 149912
* Make sure a reserved register has a live interval before merging.Jakob Stoklund Olesen2012-02-061-1/+5
| | | | llvm-svn: 149910
* [unwind removal] Remove all of the code for the dead 'unwind' instruction. ThereBill Wendling2012-02-068-93/+6
| | | | | | | were no 'unwind' instructions being generated before this, so this is in effect a no-op. llvm-svn: 149906
* [unwind removal] Don't write out the dead 'unwind' instruction.Bill Wendling2012-02-061-3/+0
| | | | llvm-svn: 149905
* [unwind removal] We no longer have 'unwind' instructions being generated, soBill Wendling2012-02-0611-134/+9
| | | | | | remove the code that handles them. llvm-svn: 149901
* 'unwind' is a keyword, not an instruction.Bill Wendling2012-02-062-2/+3
| | | | llvm-svn: 149898
* [unwind removal] Remove the 'unwind' instruction parsing bits.Bill Wendling2012-02-062-5/+0
| | | | llvm-svn: 149897
* Introduce helpers to compute the 32-bit varaints and 64-bit variants ofChandler Carruth2012-02-061-0/+74
| | | | | | | some architectures. These are useful for interacting with multiarch or bi-arch GCC (or GCC-based) toolchains. llvm-svn: 149895
* Test commit; also removes some trailing whitespaceDerek Schuff2012-02-061-3/+3
| | | | llvm-svn: 149887
* DebugInfo: Provide a new hook to encode relationship between a property and ↵Devang Patel2012-02-063-0/+42
| | | | | | an ivar. llvm-svn: 149874
* X86: Don't call malloc for 4 bits. No functionality change.Benjamin Kramer2012-02-061-4/+3
| | | | llvm-svn: 149866
* Make helper static.Benjamin Kramer2012-02-061-3/+3
| | | | llvm-svn: 149865
* Hexagon: Remove forbidden iostream includes (it introduces static initializers)Benjamin Kramer2012-02-068-73/+46
| | | | | | Reorder includes while at it. llvm-svn: 149863
* Split part of EvaluateFunction into a new EvaluateBlock method. No functionalityNick Lewycky2012-02-061-57/+95
| | | | | | change. llvm-svn: 149861
* Move some llvm_unreachable's from r149849 out of switch statements to ↵Craig Topper2012-02-061-2/+2
| | | | | | satisfy -Wcovered-switch-default llvm-svn: 149860
* Add shuffle decoding support for 256-bit pshufd. Merge vpermilp* and pshufd ↵Craig Topper2012-02-064-84/+70
| | | | | | decoding. llvm-svn: 149859
* fix indentationSebastian Pop2012-02-061-9/+9
| | | | llvm-svn: 149857
* fix typoSebastian Pop2012-02-061-1/+1
| | | | llvm-svn: 149856
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-055-33/+20
| | | | llvm-svn: 149849
* Efficient Constant Uniquing.Talin2012-02-054-68/+196
| | | | llvm-svn: 149848
* Teach GlobalOpt to handle atomic accesses to globals.Nick Lewycky2012-02-051-13/+40
| | | | | | | | | | | | | | | | | | | * Most of the transforms come through intact by having each transformed load or store copy the ordering and synchronization scope of the original. * The transform that turns a global only accessed in main() into an alloca (since main is non-recursive) with a store of the initial value uses an unordered store, since it's guaranteed to be the first thing to happen in main. (Threads may have started before main (!) but they can't have the address of a function local before the point in the entry block we insert our code.) * The heap-SRoA transforms are disabled in the face of atomic operations. This can probably be improved; it seems odd to have atomic accesses to an alloca that doesn't have its address taken. AnalyzeGlobal keeps track of the strongest ordering found in any use of the global. This is more information than we need right now, but it's cheap to compute and likely to be useful. llvm-svn: 149847
* DefinesPredicate should only look for def operands. Patch by Ludwig Meier.Evan Cheng2012-02-051-1/+1
| | | | llvm-svn: 149846
* Clean up some whitespace and comments. No functionality change.Nick Lewycky2012-02-051-13/+13
| | | | llvm-svn: 149845
* Neaten up this method. Check that if there is only oneDuncan Sands2012-02-051-3/+3
| | | | | | predecessor then it's Src. llvm-svn: 149843
* Remove dead test: this was already checked and handled a few linesDuncan Sands2012-02-051-5/+0
| | | | | | above. llvm-svn: 149841
* Fix a thinko pointed out by Eli and the buildbots.Duncan Sands2012-02-051-1/+1
| | | | llvm-svn: 149839
* Reduce the number of dom queries made by GVN's conditional propagationDuncan Sands2012-02-051-31/+9
| | | | | | | | | | | | logic by half: isOnlyReachableViaThisEdge was trying to be clever and handle the case of a branch to a basic block which is contained in a loop. This costs a domtree lookup and is completely useless due to GVN's position in the pass pipeline: all loops have preheaders at this point, which means it is enough for isOnlyReachableViaThisEdge to check that Dst has only one predecessor. (I checked this theoretical argument by running over the entire nightly testsuite, and indeed it is so!). llvm-svn: 149838
* Reduce the number of non-trivial domtree queries by about 1% whenDuncan Sands2012-02-051-15/+17
| | | | | | | compiling sqlite3, by only doing dom queries after the cheap check rather than interleaved with it. llvm-svn: 149836
* Persuade GCC that there is nothing worth warning about here (there isn't).Duncan Sands2012-02-056-5/+7
| | | | llvm-svn: 149834
* Don't initialize CV in terms of itself! Spotted by GCC.Duncan Sands2012-02-051-4/+4
| | | | llvm-svn: 149833
* Explain to the compiler why TargetAddr is not used uninitialized later.Duncan Sands2012-02-051-2/+2
| | | | llvm-svn: 149832
* Add additional documentation to the extract-and-trunc dagcombine optimization.Nadav Rotem2012-02-051-3/+8
| | | | llvm-svn: 149823
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-0513-46/+41
| | | | llvm-svn: 149816
* Begin fleshing out more convenience predicates in llvm::Triple andChandler Carruth2012-02-051-17/+7
| | | | | | | | | | convert at least one client over to use them. Subsequent patches both to LLVM and Clang will try to convert more people over to a common set of predicates. This round of predicates is focused on OS-categorization predicates. llvm-svn: 149815
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-058-0/+8
| | | | llvm-svn: 149814
* Simplify contains tests using 'count'.David Blaikie2012-02-051-2/+1
| | | | llvm-svn: 149813
* BBVectorize.cpp: Get rid of comparision to bool to fix a warning.NAKAMURA Takumi2012-02-051-1/+1
| | | | llvm-svn: 149810
* Convert assert(0) to llvm_unreachable in X86 Target directory.Craig Topper2012-02-058-22/+20
| | | | llvm-svn: 149809
* Convert some assert(0) in default of switch statements to llvm_unreachable.Craig Topper2012-02-051-10/+7
| | | | llvm-svn: 149808
OpenPOWER on IntegriCloud