Vikram S. Adve
802cec485f
Add option to disable scheduling.
...
Destroy live-variable information after scheduling so it is
recomputed before later phases (e.g., reg. allocation).
Use deterministic iterator to enumerate sched graphs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1972 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:44:55 +00:00
Vikram S. Adve
cf8a98f2c2
Minor changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1971 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:40:59 +00:00
Vikram S. Adve
ded1bf8cd8
Re-fix bug: Put back MachineCodeForInstruction::dropAllReferences.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1970 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:40:11 +00:00
Vikram S. Adve
e4e4d4e2f9
Fix padding for variables allocated on stack.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1969 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:39:26 +00:00
Vikram S. Adve
c941b87397
Major overhaul to FoldGetElemPtr to handle mixed array and struct refs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1968 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:37:53 +00:00
Vikram S. Adve
4e7bc49b54
Use deterministic iterator for treeRoots.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1967 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:36:52 +00:00
Vikram S. Adve
d7e6becd3e
Bug re-fix: put back MachineCodeForInstruction::get(*I).dropAllReferences().
...
Also re-enable instr. scheduling pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1966 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:35:16 +00:00
Vikram S. Adve
585612e556
Change latencies for Load, Store and Branch instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1965 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:33:53 +00:00
Vikram S. Adve
fd3900ad57
Major enhancements to how array and structure indices are handled.
...
Improve checking for constants in Multiply.
Simpler method to keep track of when a node is folded into its parent.
Several other bug fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1964 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:33:02 +00:00
Vikram S. Adve
6be4ebe1eb
Change treeRoots data structure to make enumeration deterministic.
...
Also, add a flag to marked nodes that do not need code because they
have been folded into the user (parent in the BURG tree).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1963 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:25:17 +00:00
Vikram S. Adve
d95919cbd0
Change treeRoots data structure to make enumeration deterministic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1962 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:24:00 +00:00
Vikram S. Adve
98d64f8d51
Major overhaul to support arbitrary mixed array and structure indices.
...
Also moved to the Scalar/ directory and renamed to "MultiDim".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1961 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:21:18 +00:00
Vikram S. Adve
d32e70a09f
Rename pass to DecomposeMultiDimRefs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1960 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:19:54 +00:00
Vikram S. Adve
c99afb88ab
Fix out-of-date name.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1959 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:18:49 +00:00
Vikram S. Adve
79c738599b
Regression tests for DecomposeMultiDimRefs pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1958 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:17:16 +00:00
Chris Lattner
e7506a366e
Rename Method to Function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1957 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-23 22:51:58 +00:00
Chris Lattner
bcd8e03138
Remove extranous forward decl
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1956 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-23 22:48:21 +00:00
Chris Lattner
a4d63bc60e
Remove unneccesary forward definitions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1955 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-23 22:48:07 +00:00
Chris Lattner
ff9ffa9866
Add transition header file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1954 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-23 22:47:43 +00:00
Chris Lattner
79cc5bc912
Update documentation, rename Method to Function, move typedef to Value.h for now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1953 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-23 22:47:28 +00:00
Chris Lattner
b6e0c852a8
Change Method to Function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1952 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-23 22:46:51 +00:00
Chris Lattner
1b139b4060
Add transition typedef to Function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1951 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-23 21:59:53 +00:00
Vikram S. Adve
c8394f63cb
New pass to convert Convert multi-dimensional
...
array references into 1-D references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1950 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-23 20:46:18 +00:00
Vikram S. Adve
c7b439d2f9
Moved to Scalar/ directory.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1949 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-23 20:44:37 +00:00
Vikram S. Adve
dfbbf7a631
New pass to decompose multi-dimensional array references into
...
a sequence of 1-D references, using a sequence of getElementPtrs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1948 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-23 20:43:39 +00:00
Chris Lattner
812d8be09c
Remove compilation of __main because we now link -lgcc into programs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1947 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-22 19:13:47 +00:00
Chris Lattner
bbe7bbe4d9
Add an assertion that would hopefully catch a problem that was tripping
...
cameron up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1944 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-22 18:01:58 +00:00
Chris Lattner
5f4a5289d4
Fix bug test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise3.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1943 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 23:02:37 +00:00
Chris Lattner
df268ceb06
New testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1942 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 23:00:48 +00:00
Chris Lattner
8e640f1fc9
Fix test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise2.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1941 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 22:39:59 +00:00
Chris Lattner
41e8e9deea
New testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1940 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 22:39:43 +00:00
Chris Lattner
4fe130c22b
* AllocationInst ctor moved here from iMemory.h
...
* AllocationInst now always has an array size operand
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1939 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 22:37:48 +00:00
Chris Lattner
05c0e9e562
* Make AllocationInst ctor protected
...
* Move AllocationInst ctor to iMemory.cpp
* AllocationInst's always have one operand, even if it is a uint 1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1938 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 22:37:01 +00:00
Chris Lattner
2e5c295100
Rerun test if opt gets changed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1937 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 21:29:47 +00:00
Chris Lattner
7b3c34b87a
Run all testcases
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1936 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 21:24:19 +00:00
Chris Lattner
48374147f6
Build LevelRaise subdirectory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1935 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 21:24:13 +00:00
Chris Lattner
081c409e27
Add a debugging option to gccas to cause it to not do level raise or anything
...
after it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1934 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 21:21:50 +00:00
Chris Lattner
599ca72f5f
Fix test/Regression/Other/2002-03-21-LevelRaiseMiss.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1933 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 21:21:13 +00:00
Chris Lattner
6e848eac1b
Testcase for a missed level raise opportunity
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1932 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 21:20:04 +00:00
Chris Lattner
9e77f7e08b
Make ConvertableToGEP handle cases where the user is indexing into the
...
first element of a structure type. Before this would not be handled because
getStructOffset would either stop immediately (because StopEarly was true
and Offset = 0), or blast past the level we wanted.
Now ConvertableToGEP steps down through the type one level at a time, checking
the Offset and Scale conditions at each step
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1931 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 06:27:20 +00:00
Chris Lattner
8e86542fb6
Implement the new InsertInstBeforeInst function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1930 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 06:24:00 +00:00
Chris Lattner
45ef5c26d4
Fix the: test/Regression/Other/2002-03-20-LevelRaiseCrash.ll bug. It turned
...
out that almost always the result of the add was the same as the GEP that
would be generated. In this case, however, it wasn't, so bad things happened.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1929 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 06:22:23 +00:00
Chris Lattner
35191769a5
Fix bug in testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1928 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 06:19:43 +00:00
Chris Lattner
f78642bc06
Declare the new InsertInstBeforeInst function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1927 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 06:15:53 +00:00
Chris Lattner
af2d701e12
Remove a misguided API extension
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1926 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 05:46:43 +00:00
Chris Lattner
774888c1a4
New testcase for YALRB (yet another level raise bug)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1925 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 05:39:20 +00:00
Chris Lattner
150dcb9e2d
Add an assertion to catch a misuse of replaceAllUsesWith
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1924 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 05:38:15 +00:00
Chris Lattner
60091fa6b1
Checkin testcase that was just sitting in my tree. Looks like backreferences
...
have some problem in the parser, oh joy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1923 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 05:35:11 +00:00
Chris Lattner
99fb91cc2f
1. Fix bug test/Regression/Other/2002-03-20-LevelRaiseBadCodegen.ll
...
2. Allow negative scales in ConvertableToGEP, so that this loop from
alloc_tree in the Olden health benchmark is correctly raised:
for (i = 3; i >= 0; i--)
fval[i] = alloc_tree(level - 1, label*4 + i + 1, new);
Stepping through the array backwards caused a negative scale.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1922 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 03:04:38 +00:00
Chris Lattner
ebcd28eb15
Namespace qualify debugging code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1921 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-21 03:02:07 +00:00