Vikram S. Adve
d18a1cc9fb
Minor changes.
...
llvm-svn: 1971
2002-03-24 03:40:59 +00:00
Vikram S. Adve
e06cac463f
Re-fix bug: Put back MachineCodeForInstruction::dropAllReferences.
...
llvm-svn: 1970
2002-03-24 03:40:11 +00:00
Vikram S. Adve
b347d2796c
Fix padding for variables allocated on stack.
...
llvm-svn: 1969
2002-03-24 03:39:26 +00:00
Vikram S. Adve
34306e0e1c
Major overhaul to FoldGetElemPtr to handle mixed array and struct refs.
...
llvm-svn: 1968
2002-03-24 03:37:53 +00:00
Vikram S. Adve
8493ae74b2
Use deterministic iterator for treeRoots.
...
llvm-svn: 1967
2002-03-24 03:36:52 +00:00
Vikram S. Adve
8ada4c031e
Bug re-fix: put back MachineCodeForInstruction::get(*I).dropAllReferences().
...
Also re-enable instr. scheduling pass.
llvm-svn: 1966
2002-03-24 03:35:16 +00:00
Vikram S. Adve
7b84ec22d8
Change latencies for Load, Store and Branch instructions.
...
llvm-svn: 1965
2002-03-24 03:33:53 +00:00
Vikram S. Adve
57d735db7a
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.
llvm-svn: 1964
2002-03-24 03:33:02 +00:00
Vikram S. Adve
a141a7190b
Change treeRoots data structure to make enumeration deterministic.
...
llvm-svn: 1962
2002-03-24 03:24:00 +00:00
Vikram S. Adve
1f5e8f93cc
Major overhaul to support arbitrary mixed array and structure indices.
...
Also moved to the Scalar/ directory and renamed to "MultiDim".
llvm-svn: 1961
2002-03-24 03:21:18 +00:00
Chris Lattner
c481e92886
Rename Method to Function
...
llvm-svn: 1957
2002-03-23 22:51:58 +00:00
Vikram S. Adve
3294262573
New pass to decompose multi-dimensional array references into
...
a sequence of 1-D references, using a sequence of getElementPtrs.
llvm-svn: 1948
2002-03-23 20:43:39 +00:00
Chris Lattner
0b9734b293
Add an assertion that would hopefully catch a problem that was tripping
...
cameron up
llvm-svn: 1944
2002-03-22 18:01:58 +00:00
Chris Lattner
2ed4beefea
Fix bug test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise3.ll
...
llvm-svn: 1943
2002-03-21 23:02:37 +00:00
Chris Lattner
ad241cc3ea
Fix test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise2.ll
...
llvm-svn: 1941
2002-03-21 22:39:59 +00:00
Chris Lattner
8051e7c953
* AllocationInst ctor moved here from iMemory.h
...
* AllocationInst now always has an array size operand
llvm-svn: 1939
2002-03-21 22:37:48 +00:00
Chris Lattner
a80b65c208
Fix test/Regression/Other/2002-03-21-LevelRaiseMiss.ll
...
llvm-svn: 1933
2002-03-21 21:21:13 +00:00
Chris Lattner
c2b5cb5619
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
llvm-svn: 1931
2002-03-21 06:27:20 +00:00
Chris Lattner
559c71f6f4
Implement the new InsertInstBeforeInst function
...
llvm-svn: 1930
2002-03-21 06:24:00 +00:00
Chris Lattner
14fe793707
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.
llvm-svn: 1929
2002-03-21 06:22:23 +00:00
Chris Lattner
e9ec6058e4
Declare the new InsertInstBeforeInst function
...
llvm-svn: 1927
2002-03-21 06:15:53 +00:00
Chris Lattner
ceb4e429a2
Add an assertion to catch a misuse of replaceAllUsesWith
...
llvm-svn: 1924
2002-03-21 05:38:15 +00:00
Chris Lattner
72367834b0
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.
llvm-svn: 1922
2002-03-21 03:04:38 +00:00
Chris Lattner
db90f5f6ea
Namespace qualify debugging code
...
llvm-svn: 1921
2002-03-21 03:02:07 +00:00
Vikram S. Adve
92fb8b1f9c
Fixed several problems with handling arguments to Phis.
...
llvm-svn: 1910
2002-03-18 03:47:26 +00:00
Vikram S. Adve
cd6cb1962f
Big bug fix: killed uses were being inserted instead of erased!
...
Also added a set of debug options.
llvm-svn: 1909
2002-03-18 03:45:41 +00:00
Vikram S. Adve
308f672ac8
Just a comment.
...
llvm-svn: 1908
2002-03-18 03:40:25 +00:00
Vikram S. Adve
5f910def00
New pass to decompose multi-dimensional array references into
...
a sequence of 1-D references, using a sequence of getElementPtrs.
llvm-svn: 1907
2002-03-18 03:39:09 +00:00
Vikram S. Adve
8553fc5d21
Big bug fix: getUsableUniRegAtMI needed to return values in arguments
...
but did not pass the arguments by reference!
llvm-svn: 1906
2002-03-18 03:37:19 +00:00
Vikram S. Adve
855ed3d941
Added function computeOffsetforLocalVar to check how big the
...
offset-from-FP will be before allocating space for a local variable.
llvm-svn: 1905
2002-03-18 03:36:30 +00:00
Vikram S. Adve
edc1adae11
Bug fix in setting CC register.
...
Also use distinct names for the three types of SetMachineOperand
to avoid painful overloading problems and errors.
llvm-svn: 1904
2002-03-18 03:35:24 +00:00
Vikram S. Adve
b26ed73c33
Constants are now added to the constant pool only when a load
...
instruction is actually generated for them.
Rename the different versions of SetMachineOperand.
llvm-svn: 1903
2002-03-18 03:33:43 +00:00
Vikram S. Adve
3fe5a9e913
Use vector for machine instructions returned by GetInstructionsByRule.
...
Fix constants in instructions generated for Phi elimination.
llvm-svn: 1902
2002-03-18 03:31:54 +00:00
Vikram S. Adve
125cd33f99
Big bug fix: getUsableUniRegAtMI needed to return values in arguments
...
but did not pass the arguments by reference!
Also added a function to get a register class by ID.
llvm-svn: 1901
2002-03-18 03:26:48 +00:00
Vikram S. Adve
7f139ccf85
Add support for code generation for array references.
...
Also, use distinct names for the three types of SetMachineOperand to
avoid painful overloading problems and errors.
Bug fix in converting-int-to-float. Other minor stuff.
llvm-svn: 1896
2002-03-18 03:15:35 +00:00
Vikram S. Adve
217f7b1fe1
Bug fixes for not using unified reg. numbers, and for using the
...
wrong register class for saving CC registers.
Also, use distinct names for the three types of SetMachineOperand.
llvm-svn: 1895
2002-03-18 03:12:16 +00:00
Vikram S. Adve
6a74ad7030
Use distinct names for the three types of SetMachineOperand to
...
avoid painful overloading problems and errors.
llvm-svn: 1893
2002-03-18 03:09:15 +00:00
Vikram S. Adve
f7d5ad2124
Minor fixes.
...
llvm-svn: 1892
2002-03-18 03:08:07 +00:00
Vikram S. Adve
23d4011ea1
Handling of global names was severely broken when converting to 2 passes.
...
Different labels were generated for the same name in different passes.
Use an annotation to hold a fixed table of names.
llvm-svn: 1891
2002-03-18 03:07:26 +00:00
Vikram S. Adve
d311d0d546
Several sundry bug fixes.
...
llvm-svn: 1890
2002-03-18 03:02:42 +00:00
Chris Lattner
240209eb5b
Make an assertion provide a more helpful error message
...
llvm-svn: 1883
2002-03-17 21:16:01 +00:00
Chris Lattner
88ccdcd73e
Remove code designed to compensate for a bug in GCC. The bug has since
...
been fixed.
llvm-svn: 1881
2002-03-15 20:35:21 +00:00
Chris Lattner
ba358e8e65
Checkin new test for problem anand ran into
...
llvm-svn: 1880
2002-03-15 20:25:09 +00:00
Chris Lattner
55aff5c433
Cleanup error message output a bit
...
llvm-svn: 1879
2002-03-15 20:21:29 +00:00
Chris Lattner
8cc6186707
Fix test/Regression/Other/2002-03-14-ValueToLarge.ll. Note that this
...
fix could be better, but we don't have the infrastructure to find out what
size types are yet.
llvm-svn: 1876
2002-03-14 22:35:50 +00:00
Chris Lattner
1a4aac1060
Add a check to ensure that only PHI nodes are self referential. Code
...
input to instruction combination was broken, which caused it to explode.
llvm-svn: 1870
2002-03-14 16:53:48 +00:00
Chris Lattner
2ecc9a337c
Fix bug: test/Regression/Other/2002-03-14-LevelRaiseHang.ll
...
llvm-svn: 1869
2002-03-14 16:37:04 +00:00
Chris Lattner
b0128957b1
Fix bug: test/Regression/Other/2002-03-11-InstCombineHang.ll
...
llvm-svn: 1864
2002-03-11 23:28:45 +00:00
Chris Lattner
ba4660ff3d
update comments
...
llvm-svn: 1862
2002-03-11 22:21:04 +00:00
Chris Lattner
0f8d0257f9
* Fix bug: test/Regression/Other/2002-03-11-LevelRaiseIterInvalidate.ll
...
* Use more concise form of ReplaceInstWithInst to make code simpler
* Output nicer message for dead code eliminated when debugging
llvm-svn: 1861
2002-03-11 22:19:48 +00:00