summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp
Commit message (Collapse)AuthorAgeFilesLines
* For PR950:Reid Spencer2006-10-201-12/+12
| | | | | | | | This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. llvm-svn: 31063
* Implement SROA of unions with mixed pointers/integers in them. This implementsChris Lattner2006-10-081-10/+16
| | | | | | PR892 and Transforms/ScalarRepl/union-pointer.ll:test2 llvm-svn: 30825
* Implement Transforms/ScalarRepl/union-pointer.ll:testChris Lattner2006-10-081-9/+13
| | | | llvm-svn: 30823
* eliminate RegisterOpt. It does the same thing as RegisterPass.Chris Lattner2006-08-271-1/+1
| | | | llvm-svn: 29925
* s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|Chris Lattner2006-08-271-1/+1
| | | | llvm-svn: 29911
* Use hidden visibility to make symbols in an anonymous namespace getChris Lattner2006-06-281-2/+3
| | | | | | dropped. This shrinks libllvmgcc.dylib another 67K llvm-svn: 28975
* Fix Transforms/ScalarRepl/2006-04-20-PromoteCrash.llChris Lattner2006-04-201-1/+1
| | | | llvm-svn: 27912
* Teach scalarrepl to promote unions of vectors and floats, producingChris Lattner2006-04-141-46/+101
| | | | | | | insert/extractelement operations. This implements Transforms/ScalarRepl/vector_promote.ll llvm-svn: 27710
* Fix a miscompilation of 188.ammp with the new CFE. 188.ammp is accessingChris Lattner2006-03-081-3/+19
| | | | | | | arrays out of range in a horrible way, but we shouldn't break it anyway. Details in the comments. llvm-svn: 26606
* Fix Regression/Transforms/ScalarRepl/2006-01-24-IllegalUnionPromoteCrash.llChris Lattner2006-01-241-3/+1
| | | | llvm-svn: 25587
* Make iostream #inclusion explicitChris Lattner2006-01-221-0/+1
| | | | llvm-svn: 25514
* Fix Transforms/ScalarRepl/2005-12-14-UnionPromoteCrash.ll, a crash on undefinedChris Lattner2005-12-141-2/+2
| | | | | | behavior in 126.gcc on big-endian systems. llvm-svn: 24708
* Implement a little hack for parity with GCC on crafty. This speeds upChris Lattner2005-12-121-2/+277
| | | | | | | | | | | | | | | | | | | | | | 186.crafty by about 16% (from 15.109s to 13.045s) on my system. This turns allocas with unions/casts into scalars. For example crafty has something like this: union doub { unsigned short i[4]; long long d; }; int f(long long a) { return ((union doub){.d=a}).i[1]; } Instead of generating loads and stores to an alloca, we now promote the whole thing to a scalar long value. This implements: Transforms/ScalarRepl/AggregatePromote.ll llvm-svn: 24667
* Add support alignment of allocation instructions.Nate Begeman2005-11-051-2/+3
| | | | | | | | | Add support for specifying alignment and size of setjmp jmpbufs. No targets currently do anything with this information, nor is it presrved in the bytecode representation. That's coming up next. llvm-svn: 24196
* Remove trailing whitespaceMisha Brukman2005-04-211-12/+12
| | | | llvm-svn: 21427
* Silence warningsChris Lattner2005-01-081-1/+2
| | | | llvm-svn: 19379
* Remove unused variable for compilation by VC++.Reid Spencer2004-11-151-1/+1
| | | | | | Patch contributed by Morten Ofstad. llvm-svn: 17830
* Teach SROA how to promote an array index that is variable, if the dimensionChris Lattner2004-11-141-40/+98
| | | | | | | | | of the array is just two. This occurs 8 times in gcc, 6 times in crafty, and 12 times in 099.go. This implements ScalarRepl/sroa_two.ll llvm-svn: 17727
* Rearrange some code, no functionality changes.Chris Lattner2004-11-141-49/+68
| | | | llvm-svn: 17724
* Prototype these functions more accuratelyChris Lattner2004-09-201-1/+1
| | | | llvm-svn: 16432
* Changes For Bug 352Reid Spencer2004-09-011-3/+3
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Fix #includes of i*.h => Instructions.h as per PR403.Misha Brukman2004-07-291-1/+1
| | | | llvm-svn: 15328
* Fixes working towards PR341Chris Lattner2004-07-151-1/+1
| | | | llvm-svn: 14839
* Do not loop over uses as we delete them. This causes iterators to beChris Lattner2004-06-191-3/+2
| | | | | | invalidated out from under us. This bug goes back to revision 1.1: scary. llvm-svn: 14242
* Support getelementptr instructions which use uint's to index into structureChris Lattner2004-04-051-1/+1
| | | | | | | types and can have arbitrary 32- and 64-bit integer types indexing into sequential types. llvm-svn: 12653
* Finegrainify namespacificationChris Lattner2003-12-021-6/+3
| | | | | | Fix regressions ScalarRepl/basictest.ll & arraytest.ll llvm-svn: 10287
* Do not use index type to determine what it is indexing into!Chris Lattner2003-11-251-26/+26
| | | | llvm-svn: 10226
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+5
| | | | llvm-svn: 9903
* Fix PR66 & ScalarRepl/2003-10-29-ArrayProblem.llChris Lattner2003-10-291-62/+25
| | | | llvm-svn: 9585
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | Header files will be on the way. llvm-svn: 9298
* Change the interface to PromoteMemToReg to also take a DominatorTreeChris Lattner2003-10-051-1/+4
| | | | llvm-svn: 8883
* Rename Function::getEntryNode -> getEntryBlockChris Lattner2003-09-201-2/+2
| | | | llvm-svn: 8625
* Do not return success after checking only the FIRST USE of a gep instruction.Chris Lattner2003-09-121-3/+7
| | | | | | | | Instead, check all uses. This fixes bug: ScalarRepl/2003-09-12-IncorrectPromote.ll This also fixes the miscompilation of Ptrdist/bc llvm-svn: 8493
* Minor optimization efficiency improvement:Chris Lattner2003-09-121-7/+9
| | | | | | | - Run mem2reg promotion first - Only rerun passes if the previous thing changed something llvm-svn: 8490
* Apostrophes are only used for possession and quoting.Misha Brukman2003-09-111-2/+2
| | | | llvm-svn: 8473
* Integrate functionality of the mem2reg pass directly into this pass to makeChris Lattner2003-09-111-7/+62
| | | | | | the combination more effective llvm-svn: 8471
* ScalarRepl does not modify the CFG. Say so!Chris Lattner2003-08-311-0/+6
| | | | llvm-svn: 8243
* DEBUG got moved to Support/Debug.hChris Lattner2003-08-011-1/+2
| | | | llvm-svn: 7492
* Simplify code by using ConstantInt::getRawValue instead of checking to seeChris Lattner2003-07-231-5/+1
| | | | | | whether the constant is signed or unsigned, then casting llvm-svn: 7252
* Okay totally give up on trying to optimize aggregates that cannot be completelyChris Lattner2003-05-301-40/+6
| | | | | | broken up into their elements. Too many programs break because of this. llvm-svn: 6440
* add a check that allows the SRoA pass to avoid breaking programs, even if theirChris Lattner2003-05-301-1/+33
| | | | | | behavior is technically undefined llvm-svn: 6438
* Fix bug: ScalarRepl/2003-05-30-MultiLevel.llChris Lattner2003-05-301-4/+4
| | | | llvm-svn: 6428
* Fix bug: ScalarRepl/2003-05-29-ArrayFail.llChris Lattner2003-05-301-42/+128
| | | | llvm-svn: 6425
* * Actually USE the statistic that we madeChris Lattner2003-05-271-6/+21
| | | | | | * Implement SRoA for arrays llvm-svn: 6349
* Implementation of the simple "scalar replacement of aggregates" transformationChris Lattner2003-05-271-0/+164
llvm-svn: 6346
OpenPOWER on IntegriCloud