1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
Commit Graph

7361 Commits

Author SHA1 Message Date
Chris Lattner
c8890366ee Restore 'nice name' to pass
llvm-svn: 7840
2003-08-14 14:43:24 +00:00
Brian Gaeke
4651096037 Factory methods for function passes now return type FunctionPass *.
llvm-svn: 7839
2003-08-14 06:09:32 +00:00
Brian Gaeke
4d260a9317 Add new method to FunctionPassManager to add ImmutablePasses.
llvm-svn: 7838
2003-08-14 06:07:57 +00:00
Brian Gaeke
bff292410d Unbreak SPARC backend: addPassesToJITCompile and
addPassesToEmitMachineCode now both take a FunctionPassManager.

llvm-svn: 7837
2003-08-14 06:04:59 +00:00
Brian Gaeke
af3bc2b895 Factory methods for function passes now return type FunctionPass *.
Get rid of RegisterLLC, which can't handle FunctionPasses anyway.

llvm-svn: 7836
2003-08-14 06:04:49 +00:00
Brian Gaeke
dbdd3c6717 Unbreak SPARC backend: addPassesToJITCompile and
addPassesToEmitMachineCode now both take a FunctionPassManager.
Factory methods for function passes now return type FunctionPass *.

llvm-svn: 7835
2003-08-14 06:04:29 +00:00
Chris Lattner
23b5b5026b Dramatically simplify how -time-passes works.
This also enables -time-passes for FunctionPassManagers, which allows it to
be used for the JIT

llvm-svn: 7834
2003-08-14 05:20:28 +00:00
Misha Brukman
5d61e0d79b Using std::string requires `#include <string>', says gcc-2.95.3.
llvm-svn: 7833
2003-08-13 22:27:15 +00:00
Chris Lattner
cd72043c89 Fix FIXME by removing FIXME
llvm-svn: 7832
2003-08-13 22:15:04 +00:00
Chris Lattner
54ccdd9b17 This file uses stable_sort
llvm-svn: 7831
2003-08-13 21:32:37 +00:00
Chris Lattner
1b8d1e8b02 I must have missed these when eliminating the cast to bool cannonicalizations
llvm-svn: 7829
2003-08-13 20:17:41 +00:00
Chris Lattner
2b7babcc41 Implement instcombine optimizations:
(A <setcc1> B) logicalop (A <setcc2> B)  -> (A <setcc3> B) or true or false

Where setcc[123] is one of the 6 setcc instructions, and logicalop is one of: And, Or, Xor

llvm-svn: 7828
2003-08-13 20:16:26 +00:00
Chris Lattner
b4a93eef33 Add some more tests for: (A <setcc1> B) logicalop (A <setcc2> B)
llvm-svn: 7827
2003-08-13 20:13:15 +00:00
Brian Gaeke
4fff8d3bd8 X86 static backend: smacked
Function at a time: smacked

Who you gonna call!!!  :-)

llvm-svn: 7826
2003-08-13 19:02:09 +00:00
Chris Lattner
7ba3220999 Generalize some of the add tests to allow for reassociation to take place
llvm-svn: 7825
2003-08-13 19:01:45 +00:00
Chris Lattner
8dfb140200 Add some tests for difficult reassociation cases
llvm-svn: 7824
2003-08-13 19:01:09 +00:00
Brian Gaeke
77c65be59e Factory methods for FunctionPasses now return type FunctionPass *.
llvm-svn: 7823
2003-08-13 18:18:15 +00:00
Brian Gaeke
2e59087317 Deconstify parameter to getPointerToFunction().
llvm-svn: 7822
2003-08-13 18:17:54 +00:00
Brian Gaeke
299cf12f45 addPassesToJITCompile and addPassesToEmitMachineCode now take a
FunctionPassManager, to support function-at-a-time compilation and
 emission of code.

llvm-svn: 7821
2003-08-13 18:17:27 +00:00
Brian Gaeke
39ff839ca3 Deconstify parameter to getPointerToFunction().
Use a FunctionPassManager instead of a PassManager.

llvm-svn: 7820
2003-08-13 18:16:50 +00:00
Brian Gaeke
a6ca67ed4a Deconstify parameter to getPointerToFunction().
Run passes on single function (hey, just-in-time compilation!)
 instead of the entire module that contains it.

llvm-svn: 7819
2003-08-13 18:16:34 +00:00
Brian Gaeke
f162b11e38 In ExecutionEngine::getPointerToGlobal(), throw away const qualifier
on Function * when passing it to getPointerToFunction().

llvm-svn: 7818
2003-08-13 18:16:14 +00:00
Brian Gaeke
ccafb6e504 addPassesToJITCompile now takes a FunctionPassManager, to support
function-at-a-time compilation and emission of code.
Separate addPassesToEmitAssembly from addPassesToJITCompile, because
 the latter requires you to use FunctionPasses, and the former might
 diverge anyway.

llvm-svn: 7817
2003-08-13 18:15:52 +00:00
Brian Gaeke
feb6f95e87 Factory methods for FunctionPasses now return type FunctionPass *.
Correct one of the functions' comments.

llvm-svn: 7816
2003-08-13 18:15:29 +00:00
Brian Gaeke
a735c79a1b Factory methods for FunctionPasses now return type FunctionPass *.
Revert (to v1.55) one of the hunks of Chris's change that messed up the
 %-register workaround.

llvm-svn: 7815
2003-08-13 18:15:15 +00:00
Chris Lattner
4e543f7021 Assign arguments different ranks so they get grouped together
llvm-svn: 7813
2003-08-13 16:16:26 +00:00
Chris Lattner
97efe70e65 Implement constant folding of casts from boolean constants to other values
llvm-svn: 7812
2003-08-13 15:52:25 +00:00
John Criswell
64631c7abe Removing the pool allocator from the main CVS tree.
Use the poolalloc module in CVS from now on.

llvm-svn: 7810
2003-08-13 15:36:15 +00:00
Chris Lattner
374473c778 Implement InstCombine/2003-08-12-AllocaNonNull.ll
llvm-svn: 7807
2003-08-13 05:38:46 +00:00
Chris Lattner
f8fbdb5ded Do not cannonicalize (X != 0) into (cast X to bool)
llvm-svn: 7806
2003-08-13 05:33:12 +00:00
Chris Lattner
93e4916c37 Reorganize tests because we no longer cannonicalize X != 0 -> cast X to bool
In fact, we plan to eliminate cast to bool entirely.

llvm-svn: 7805
2003-08-13 05:27:57 +00:00
Chris Lattner
5a3ca99914 Update test to represent new cannonicalization rules for multiplies
llvm-svn: 7804
2003-08-13 04:20:06 +00:00
Chris Lattner
5c9ccccd96 Change cannonicalization rules: add X,X is represented as multiplies, multiplies
of a power of two are represented as a shift.

llvm-svn: 7803
2003-08-13 04:18:28 +00:00
Chris Lattner
3ec8f080f0 Adjust files for move of mapping info stuff into the Sparc directory
llvm-svn: 7802
2003-08-13 02:38:16 +00:00
Chris Lattner
8b83fcfaa6 Mapping directory no longer exists
llvm-svn: 7801
2003-08-13 02:37:24 +00:00
Chris Lattner
6cc411cb24 Incorporate mapping library into the sparc library
llvm-svn: 7800
2003-08-13 02:28:20 +00:00
Chris Lattner
c6ea2085bd Obsolete file
llvm-svn: 7799
2003-08-13 02:27:13 +00:00
Brian Gaeke
595d18ac2a Just incorporating some notes I wrote for myself into a place where they won't
get lost...

llvm-svn: 7798
2003-08-13 00:30:48 +00:00
Vikram S. Adve
1e41dd39ae Make MInst2LVSetBI and MInst2LVSetAI be hash_maps instead of maps.
Add some comments and non-const methods to fix constness problems.

llvm-svn: 7797
2003-08-12 23:39:08 +00:00
Vikram S. Adve
3862c570bc For instructions in a delay slot of another instruction,
we no longer need to find the live-before set of the delayed
branch since that set is now included the live-before/after
set of the instructions in each delay slot.  Just assert that instead.

llvm-svn: 7796
2003-08-12 22:22:24 +00:00
Vikram S. Adve
e456b5fc93 For an instruction with delay slots, mark all live values before
the instruction as being live before/after the delay slot
instructions as well.

llvm-svn: 7795
2003-08-12 22:19:59 +00:00
Brian Gaeke
9aa6b2db94 Give std::map<BasicBlock *, BasicBlock *> the short name BBMap, because
it's used 7 different times.
Rename `getBackEdges' to `findAndInstrumentBackEdges', for clarity.
Remove some excess whitespace and commented-out code.
Use shorter forms of CallInst ctors.
Do not make `reopt_threshold' visible to the LLVM program, and do not
 pass it to the call to `reoptimizerInitialize'.  Don't pass the
 GlobalVariable representing it to any of our helper methods.
 `reopt_threshold' is an internal parameter of the reoptimizer, which
 InstLoops does not need to know about.

llvm-svn: 7794
2003-08-12 22:00:24 +00:00
Chris Lattner
3e52e8ce5a Allow pulling logical operations through shifts.
This implements InstCombine/shift.ll:test14*

llvm-svn: 7793
2003-08-12 21:53:41 +00:00
Chris Lattner
7105c4aad0 Fix bug: Reassociate/2003-08-12-InfiniteLoop.ll
llvm-svn: 7792
2003-08-12 21:45:24 +00:00
Chris Lattner
2633d5c2b1 new testcase
llvm-svn: 7791
2003-08-12 21:35:55 +00:00
Chris Lattner
3a54425d95 Right, instcombine cannot remove ((X >> C) << C) if it's signed.
llvm-svn: 7790
2003-08-12 21:22:51 +00:00
Chris Lattner
e1eb197115 New testcases
llvm-svn: 7789
2003-08-12 21:20:49 +00:00
Chris Lattner
263fcc60bf Reenable optimized build
llvm-svn: 7788
2003-08-12 20:46:50 +00:00
Chris Lattner
c8d2398084 Assign finer grained ranks, make sure to reassociate top-level after reassociating bottom level
llvm-svn: 7787
2003-08-12 20:14:27 +00:00
Chris Lattner
2e2432d69e Simplify code
llvm-svn: 7783
2003-08-12 19:17:27 +00:00