summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Cleanup: make SetCounter an instance variableAnton Korobeynikov2007-03-071-28/+26
| | | | llvm-svn: 35007
* Avoid combining indexed load further.Evan Cheng2007-03-071-8/+14
| | | | llvm-svn: 35005
* Now IndVarSimplify is a LoopPass.Devang Patel2007-03-072-27/+35
| | | | llvm-svn: 35003
* Properly support v8i8 and v4i16 types. It now converts them to v2i32 forBill Wendling2007-03-072-6/+20
| | | | | | load and stores. llvm-svn: 35002
* Now LICM is a LoopPass.Devang Patel2007-03-071-30/+26
| | | | llvm-svn: 35001
* Fix DWARF debugging information on x86/Linux and (hopefully)Anton Korobeynikov2007-03-073-17/+67
| | | | | | Mingw32/Cygwin targets. This fixes PR978 llvm-svn: 35000
* ARM always use register scavenger. No longer reserves R12.Evan Cheng2007-03-071-50/+12
| | | | llvm-svn: 34999
* Fix some brittle code. Watch out for cases where register scavenger is ↵Evan Cheng2007-03-071-41/+39
| | | | | | pointing to deleted instructions. llvm-svn: 34998
* Now LoopUnroll is a LoopPass.Devang Patel2007-03-071-36/+7
| | | | llvm-svn: 34996
* Now LoopUnswitch is a LoopPass.Devang Patel2007-03-072-87/+19
| | | | llvm-svn: 34992
* Fix one more Thumb eliminateFrameIndex bug.Evan Cheng2007-03-071-9/+23
| | | | llvm-svn: 34990
* Fix all of last night's JIT failures in Prolangs-C++ by finishing theReid Spencer2007-03-061-42/+151
| | | | | | implementation of getConstantValue(). llvm-svn: 34988
* Register scavenging is now on by default for ARM.Evan Cheng2007-03-061-3/+4
| | | | llvm-svn: 34987
* Make load / store optimizer use register scavenger.Evan Cheng2007-03-061-21/+58
| | | | llvm-svn: 34986
* Minor bug fix.Evan Cheng2007-03-061-0/+2
| | | | llvm-svn: 34985
* Now LoopStrengthReduce is a LoopPass.Devang Patel2007-03-062-23/+15
| | | | llvm-svn: 34984
* big endian 32-bit systems (e.g. ppc32) want to return the high reg first, notChris Lattner2007-03-061-0/+5
| | | | | | | the lo-reg first. This is fallout from my ppc calling conv change yesterday, it fixes test/ExecutionEngine/2003-05-06-LivenessClobber.llx llvm-svn: 34983
* Insert loop into LQ before visiting children.Devang Patel2007-03-061-1/+1
| | | | llvm-svn: 34982
* Small eye-candy: use asciz directive everywhere, where possible.Anton Korobeynikov2007-03-061-3/+10
| | | | llvm-svn: 34981
* Use schedulePass() instead of assignPassManager() to add new LPPassManager.Devang Patel2007-03-061-3/+11
| | | | | | This ensures that require analysis info is available. llvm-svn: 34980
* Add LPPassManager::insertLoop().Devang Patel2007-03-061-0/+32
| | | | llvm-svn: 34979
* Add LOAD/STORE support for MMX.Bill Wendling2007-03-062-21/+46
| | | | llvm-svn: 34978
* LPPassManager::deleteLoopFromQueue() add meat. Cut-n-paste code fromDevang Patel2007-03-061-7/+71
| | | | | | LoopUnswitch pass. llvm-svn: 34977
* Code clean up. Prepare to use register scavenger.Evan Cheng2007-03-061-22/+37
| | | | llvm-svn: 34976
* LPPassManager. Implement preparePassManager() hook.Devang Patel2007-03-061-0/+25
| | | | llvm-svn: 34975
* Keep track of higher level analysis.Devang Patel2007-03-061-0/+26
| | | | llvm-svn: 34974
* LPPassManager : Add initialization and finalizatino hooks.Devang Patel2007-03-061-0/+20
| | | | llvm-svn: 34968
* Minor interface change.Evan Cheng2007-03-062-2/+4
| | | | llvm-svn: 34967
* Scavenge a register using the register scavenger when needed.Evan Cheng2007-03-062-14/+111
| | | | llvm-svn: 34966
* If target decides to create an emergency spill slot, make sure it's closest ↵Evan Cheng2007-03-061-7/+56
| | | | | | to SP or frame pointer. llvm-svn: 34965
* Register scavenger is now capable of scavenging. It spills a register whose ↵Evan Cheng2007-03-061-2/+90
| | | | | | use of furthest away to make it available. llvm-svn: 34964
* Use new SDIselParamAttr enumeration. This removes "magick" constantsAnton Korobeynikov2007-03-063-5/+11
| | | | | | from formal attributes' flags processing. llvm-svn: 34963
* Enumerate SDISel formal parameter attributes. Make use of newAnton Korobeynikov2007-03-061-22/+24
| | | | | | enumeration. llvm-svn: 34960
* Implement PR1240Anton Korobeynikov2007-03-062-2/+13
| | | | llvm-svn: 34959
* 1. Make StoreValueToMemory a little more efficient by not requiring callerReid Spencer2007-03-061-2/+2
| | | | | | | | to make a copy of the GenericValue. 2. Fix a copy & paste bug in StoreValueToMemory where 64-bit values were truncated to 32 llvm-svn: 34958
* Fix some thinko's in the last patch. PtrSize has to be in bits and weReid Spencer2007-03-061-2/+2
| | | | | | might need to zext not just trunc the value. llvm-svn: 34955
* Fix a bug in IntToPtr. Truncating to 64-bits only works if the integerReid Spencer2007-03-061-1/+5
| | | | | | is larger. Adjust so that it truncates to pointer width, only if necessary. llvm-svn: 34954
* Simplify code as a result of the change in GenericValue to have a singleReid Spencer2007-03-061-28/+15
| | | | | | integer field of type APInt instead of different sized integer fields. llvm-svn: 34952
* Radically simplify execution. This patch gets rid of all the specialReid Spencer2007-03-061-636/+128
| | | | | | | | handling for integer of various sizes. GenericValue now has just a single integer field of type APInt. We use its facilities directly in the execution of all instructions. llvm-svn: 34951
* Adjust and simplify external function processing now that GenericValue hasReid Spencer2007-03-061-33/+41
| | | | | | a single integer field of type APInt. llvm-svn: 34950
* APInt's are no longer allocated on the heap because they are directReid Spencer2007-03-061-12/+0
| | | | | | | members of GenericValue. Consequently the code to clean them up isn't needed. llvm-svn: 34948
* Remove the insufficient code in Interpreter::create that computed theReid Spencer2007-03-061-12/+0
| | | | | | | | Target DataLayout incorrectly. For now, we'll trust that the module has got the correct DataLayout. In the future, this needs to be changed to tell the TargetData to be "current host". llvm-svn: 34947
* Simplify things significantly because GenericValue now has a single integerReid Spencer2007-03-061-281/+72
| | | | | | | | | field, of type APInt, instead of multiple integer fields. Also, get rid of the special endianness code in StoreValueToMemory and LoadValueToMemory. ExecutionEngine is always used to execute on the host platform so this is now unnecessary. llvm-svn: 34946
* Use std::deque to manage loop queue inside LPPassManager.Devang Patel2007-03-061-40/+6
| | | | llvm-svn: 34943
* Keep track of inherited analysis. For example, if a loop pass does notDevang Patel2007-03-061-0/+21
| | | | | | | preserve dominator info then it should update parent FPPassManager's available analysis info to reflect this. llvm-svn: 34942
* Add preparePassManager() hook. This allows each pass to check whetherDevang Patel2007-03-061-0/+3
| | | | | | | | | | | | current active pass manager is appropriate or not. A loop pass may consider current LPPassManager in appropraite if loop pass is not preserving analysis information that is used by other passes managed by current LPPassManager. In such situation, loop pass can pop current LPPassManager from the PMStack using this hook and use new LPPassManager for itself. llvm-svn: 34941
* Switch PPC return lower to use an autogenerated CC description.Chris Lattner2007-03-064-41/+103
| | | | llvm-svn: 34940
* Remove an unnecessary if statement and adjust indentation.Reid Spencer2007-03-051-23/+21
| | | | llvm-svn: 34939
* Add the emms intrinsic for MMX support.Bill Wendling2007-03-051-1/+4
| | | | llvm-svn: 34938
* Current pass manager, not the parent pass manager, assumes the role ofDevang Patel2007-03-051-22/+10
| | | | | | | | | last user when one of the managed pass uses info provided by parent pass manager. This was exposed by LPPassManager work. llvm-svn: 34936
OpenPOWER on IntegriCloud