Chris Lattner
acdbe7158d
Don't build constantexprs that could be folded
...
llvm-svn: 5801
2003-04-17 19:24:48 +00:00
Chris Lattner
1f0049c79c
Allow constant folding of GEP instructions, even if we don't do a whole lot yet.
...
Fold ConstExpr casts better
castToPointer shouldn't be forced to return a constantpointer
llvm-svn: 5800
2003-04-17 19:24:18 +00:00
Chris Lattner
37a2e2185a
Don't force a ConstantPointer to be returned
...
llvm-svn: 5799
2003-04-17 19:22:47 +00:00
Chris Lattner
eb58dbb0c4
Test case to make sure that constexprs are automatically folded
...
llvm-svn: 5798
2003-04-17 19:21:22 +00:00
Chris Lattner
52c7138d22
Don't support codegen passes in opt
...
llvm-svn: 5797
2003-04-16 23:02:16 +00:00
Chris Lattner
51bdb6156b
Remove codegen libraries to speed up linking opt
...
llvm-svn: 5796
2003-04-16 22:55:55 +00:00
Chris Lattner
dee5f75221
Fix bug: IndVarSimplify/2003-04-16-ExprAnalysis.ll
...
llvm-svn: 5795
2003-04-16 22:50:19 +00:00
Chris Lattner
459b9e2485
New testcase
...
llvm-svn: 5794
2003-04-16 22:46:16 +00:00
Chris Lattner
46b3d30bf6
Change the interface to constant expressions to allow automatic folding
...
llvm-svn: 5793
2003-04-16 22:40:51 +00:00
Chris Lattner
a9a988005b
Allow the user to disable the internalize pass
...
llvm-svn: 5792
2003-04-16 21:43:22 +00:00
Chris Lattner
1078b20bc0
Add tests for linker and linkonce globals
...
llvm-svn: 5791
2003-04-16 21:21:35 +00:00
Chris Lattner
23bf637211
Add support to the bytecode reader/writer for the new linkage types
...
llvm-svn: 5790
2003-04-16 21:16:05 +00:00
Chris Lattner
f46a02c88e
Give verbose error messages if bytecode file cannot be parsed
...
llvm-svn: 5789
2003-04-16 20:51:36 +00:00
Chris Lattner
3ac483bc89
Add code to verify correctly linkages
...
llvm-svn: 5788
2003-04-16 20:42:40 +00:00
Chris Lattner
0d2d871e80
Revert modulo scheduling change that should be part of the modulo-sched pass itself,
...
not part of the Instruction class.
llvm-svn: 5787
2003-04-16 20:30:02 +00:00
Chris Lattner
379a8d2d1c
Add new linkage types to support a real frontend
...
llvm-svn: 5786
2003-04-16 20:28:45 +00:00
Chris Lattner
f0e92b575f
Add missing keyword, add new linkage keywords
...
llvm-svn: 5785
2003-04-16 20:26:11 +00:00
Chris Lattner
1d647ae600
Add new linkage keywords. Spell uninitialized correctly
...
llvm-svn: 5784
2003-04-16 20:25:57 +00:00
Chris Lattner
39f251a0fc
Add PRE directory
...
llvm-svn: 5783
2003-04-16 20:23:42 +00:00
Chris Lattner
deccfafddb
Improve the efficiency and cleanup writing a bit
...
llvm-svn: 5782
2003-04-16 20:20:02 +00:00
Chris Lattner
fcfb1761c7
Don't allow declaring an external internal variable
...
llvm-svn: 5781
2003-04-16 18:13:57 +00:00
Chris Lattner
12fe9b47cc
Improve compatibility with system AS further by allowing input from stdin
...
llvm-svn: 5780
2003-04-16 17:49:18 +00:00
Chris Lattner
3708870ec8
* Get rid of using declaration
...
* Add two compatibility options to work better with new GCC frontend
llvm-svn: 5779
2003-04-16 17:41:08 +00:00
Chris Lattner
1f412aeeb2
Namespacify command line options
...
llvm-svn: 5778
2003-04-16 17:34:29 +00:00
Chris Lattner
4b1d10604e
Fix bug: Assember2003-04-15-ConstantInitAssertion.llx
...
llvm-svn: 5777
2003-04-15 16:09:31 +00:00
Chris Lattner
f7cc6aeb41
New testcase that triggered assertion failure.
...
llvm-svn: 5776
2003-04-15 16:07:05 +00:00
Chris Lattner
01587d4ad1
Make help message more clear
...
llvm-svn: 5775
2003-04-13 03:50:14 +00:00
Misha Brukman
f0971994ca
Simple arithmetic loop-based test case for modulo scheduling.
...
llvm-svn: 5774
2003-04-10 22:01:15 +00:00
Misha Brukman
dbea9cd4be
Adding a simple test case in the hope that commit-diffs.pl will pick this up.
...
llvm-svn: 5773
2003-04-10 21:49:13 +00:00
Misha Brukman
3064bff740
Not only is this the first test case for ModuloScheduing, it's also the first
...
test case for the CVS commit-diffs.pl script which should show the entire
contents of this file below:
llvm-svn: 5772
2003-04-10 21:43:58 +00:00
Chris Lattner
18b1bf67b2
* Fix bug: Mem2Reg/2003-04-10-DFNotFound.ll
...
* Make Mem2Reg assign version numbers now for renamed variables instead of
.mem2reg suffixes. This produces what people think of as SSA.
llvm-svn: 5771
2003-04-10 19:41:13 +00:00
Chris Lattner
6371087a0e
New testcase
...
llvm-svn: 5770
2003-04-10 19:21:07 +00:00
Misha Brukman
a45606276d
Fixed compilation errors, command-line argument declarations, cleaned up code to
...
look nicer and removed useless stuff.
Also renamed a few variables, moved them into namespaces, converted outputting
to a file into a print to std::cerr with a DEBUG() guard, as all passes should
do anyway.
No functional changes have been made. However, this code now compiles.
llvm-svn: 5769
2003-04-10 19:19:23 +00:00
Misha Brukman
218a732724
Made the code readable:
...
* Lines must be wrapped at 80 chars. This is a hard limit.
* Consistent style on functions, braces, if, for, etc. Code must be readable.
No functional changes have been made, even though I added a new typedef.
llvm-svn: 5768
2003-04-09 21:51:34 +00:00
Misha Brukman
61a9e7c901
Must use std::pair instead of just 'pair'.
...
llvm-svn: 5767
2003-04-07 00:25:09 +00:00
Guochun Shi
2c6ad22962
added a function and a member to the TargetSchedInfo class
...
which is used by Modulo Scheduling pass
llvm-svn: 5766
2003-04-07 00:00:36 +00:00
Guochun Shi
09abd1aeaf
added some memory for clone function
...
llvm-svn: 5765
2003-04-06 23:58:44 +00:00
Guochun Shi
b250dc6909
change the include file names and some class names to make it compile
...
llvm-svn: 5764
2003-04-06 23:56:19 +00:00
Chris Lattner
d31837154d
Implement scanf and fix sscanf to actually endian swap the results correctly
...
llvm-svn: 5763
2003-03-31 22:12:37 +00:00
Chris Lattner
72b19ce654
Update to work with newer versions of bison
...
llvm-svn: 5762
2003-03-31 21:26:06 +00:00
Chris Lattner
431d943cc8
Initial checkin of PRE test
...
llvm-svn: 5761
2003-03-31 21:19:23 +00:00
Chris Lattner
8cf3b0969a
Initial checkin of PRE tests
...
llvm-svn: 5760
2003-03-31 19:57:36 +00:00
Chris Lattner
9023155621
Initial checkin of PRE on LLVM. This implementation is still lacking in
...
several ways:
* Load expressions are not PRE'd well. Alias Analysis should be used to
get accurate information when computing anticipatibility.
* The expression collection implementation does not handle PHI nodes properly,
thus the implementation misses many opportunities to PRE.
* This code could be sped up quite a bit
Despite these flaws, the code seems to work well, and handles PR's as one
would expect.
llvm-svn: 5759
2003-03-31 19:55:43 +00:00
Chris Lattner
7ff2ce9f0b
Minor tweak
...
llvm-svn: 5758
2003-03-31 17:30:35 +00:00
Chris Lattner
07f7e5d3b5
* We now preserve the no-critical-edge pass (because we cannot insert critical edges)
...
* Small modification to be more efficient
llvm-svn: 5757
2003-03-31 17:30:25 +00:00
Chris Lattner
73410f84f7
Add getAnalysisUsage method
...
llvm-svn: 5756
2003-03-31 17:29:18 +00:00
Guochun Shi
45d8f3279e
*** empty log message ***
...
llvm-svn: 5755
2003-03-27 17:57:44 +00:00
Chris Lattner
c42046f9f1
Move BreakCriticalEdges pass to lib/Transforms/Utils
...
llvm-svn: 5754
2003-03-21 21:43:19 +00:00
Chris Lattner
9ad7757e7c
Add helper method
...
llvm-svn: 5753
2003-03-21 21:41:02 +00:00
Chris Lattner
3628607140
Update comment
...
llvm-svn: 5752
2003-03-21 21:40:39 +00:00