aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2004-04-20Make it legal to ask for the type of a specialregBrian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13078 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-20Add some PRs which were fixed, but not previously mentioned in the rel. notes.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13077 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-20Add support for the select instructionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13076 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19Make it legal to request a load or store of %fsr.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13073 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19Fix typo.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13072 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19Regularize include guards and remove some excess whitespace.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13071 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19Tighten up SparcV9FloatCCRegClass::getRegName()'s assertion - if you ask it forBrian Gaeke
the name of %fsr (as the comment in SparcV9RegClassInfo.h used to suggest) you would walk off the end of the FloatCCRegName array. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13070 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19Regularize include guards, remove some excess whitespace and fix some comments.Brian Gaeke
Remove the extra %fsr register from SparcV9FloatCCRegClass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13069 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19Initial checkin of a simple loop unswitching pass. It still needs work,Chris Lattner
but it's a start, and seems to do it's basic job. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13068 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19New testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13067 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19Add accessor for a Loop Unswitching passChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13066 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19Eliminate a poorly conceived methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13065 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19It's not just a printer, it's actually an analysis tooChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13064 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19As per Chris, greatly simplify handling of external functions by using theMisha Brukman
wrapper idea uniformly: we can use Value::replaceAllUsesWith() instead of special-casing by class of user. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13063 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19* Remove note about "UNSUPPORTED: " feature that just became supportedMisha Brukman
* Fix usage of <p> tag and some grammar git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13062 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19* Reorder #includesMisha Brukman
* Wrap a long line git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13061 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19Display sample bugpoint output with the `code' stylesheet class.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13060 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19* Improve file header commentChris Lattner
* Remove #include * Add some methods to update loop/loopinfo * Stop explicitly holding the loop depth in the Loop class. Instead, just dynamically calculate it. This makes it easier to update LoopInfo as a result of transformations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13059 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19Remove code to update loop depthsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13058 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19Add #includeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13057 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19Add notes about PRs 38 and 290 being fixed.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13056 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19Wrap (some) lines to 80 cols.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13055 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19Finally implement rewriting global initializers which use external functionsMisha Brukman
by creating an internal wrapper function with same signature as the external function, and use it instead of the "real" function. The wrapper then calls the external function using the same JIT function resolution API that has been used before for rewriting instructions, since the wrapper has an explicit call instruction which we can rewrite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13054 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Provide an interface that is more convenient for iterating over the blocksChris Lattner
in a loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13052 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Move isLoopInvariant to the Loop classChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13051 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Add new methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13050 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Add new method.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13049 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Correct rewriting of exit blocks after my last patchChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13048 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Fix computation of exit blocksChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13047 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Loop exit sets are no longer explicitly held, they are dynamically computed ↵Chris Lattner
on demand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13046 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Change the ExitBlocks list from being explicitly contained in the LoopChris Lattner
structure to being dynamically computed on demand. This makes updating loop information MUCH easier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13045 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Spiff is no longer in our treeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13041 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Reduce the unrolling limitChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13040 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18If the preheader of the loop was the entry block of the function, make sureChris Lattner
that the exit block of the loop becomes the new entry block of the function. This was causing a verifier assertion on 252.eon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13039 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Be much more careful about how we update instructions outside of the loopChris Lattner
using instructions inside of the loop. This should fix the MishaTest failure from last night. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13038 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Another testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13037 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Implement methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13036 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Add a new methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13035 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18After unrolling our single basic block loop, fold it into the preheader and exitChris Lattner
block. The primary motivation for doing this is that we can now unroll nested loops. This makes a pretty big difference in some cases. For example, in 183.equake, we are now beating the native compiler with the CBE, and we are a lot closer with LLC. I'm now going to play around a bit with the unroll factor and see what effect it really has. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13034 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Fix a bug: this does not preserve the CFG!Chris Lattner
While we're at it, add support for updating loop information correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13033 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Add a new method, add a check missing that caused a segfault if a loop didn'tChris Lattner
have a canonical indvar git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13032 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Allow clients to delete loops, add a new methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13031 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Move loop optimization passes up, add loop unrollerChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13030 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Add prototypeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13029 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Initial checkin of a simple loop unroller. This pass is extremely basic andChris Lattner
limited. Even in it's extremely simple state (it can only *fully* unroll single basic block loops that execute a constant number of times), it already helps improve performance a LOT on some benchmarks, particularly with the native code generators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13028 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18Make the tail duplication threshold accessible from the command line instead ↵Chris Lattner
of hardcoded git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13025 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-17Fix a memory leak. We leaked the vector holding the entries in switch tables.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13023 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-17New testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13020 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-17Add the ability to compute exit values for complex loop using unanalyzableChris Lattner
operations. This allows us to compile this testcase: int main() { int h = 1; do h = 3 * h + 1; while (h <= 256); printf("%d\n", h); return 0; } into this: int %main() { entry: call void %__main( ) %tmp.6 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([4 x sbyte]* %.str_1, long 0, long 0), int 364 ) ; <int> [#uses=0] ret int 0 } This testcase was taken directly from 256.bzip2, believe it or not. This code is not as general as I would like. Next up is to refactor it a bit to handle more cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13019 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-17If the loop executes a constant number of times, try a bit harder to replaceChris Lattner
exit values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13018 91177308-0d34-0410-b5e6-96231b3b80d8