Chris Lattner
50f08078e6
Fix test/Regression/Other/2002-03-21-LevelRaiseMiss.ll
...
llvm-svn: 1933
2002-03-21 21:21:13 +00:00
Chris Lattner
70b130f27b
Testcase for a missed level raise opportunity
...
llvm-svn: 1932
2002-03-21 21:20:04 +00:00
Chris Lattner
06707765fa
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
b874cd9560
Implement the new InsertInstBeforeInst function
...
llvm-svn: 1930
2002-03-21 06:24:00 +00:00
Chris Lattner
0d984ef719
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
261df367e0
Fix bug in testcase
...
llvm-svn: 1928
2002-03-21 06:19:43 +00:00
Chris Lattner
14d5ae1ac5
Declare the new InsertInstBeforeInst function
...
llvm-svn: 1927
2002-03-21 06:15:53 +00:00
Chris Lattner
d1a7fe5062
Remove a misguided API extension
...
llvm-svn: 1926
2002-03-21 05:46:43 +00:00
Chris Lattner
8054a1cd14
New testcase for YALRB (yet another level raise bug)
...
llvm-svn: 1925
2002-03-21 05:39:20 +00:00
Chris Lattner
25c8f60b0a
Add an assertion to catch a misuse of replaceAllUsesWith
...
llvm-svn: 1924
2002-03-21 05:38:15 +00:00
Chris Lattner
14bfd557f3
Checkin testcase that was just sitting in my tree. Looks like backreferences
...
have some problem in the parser, oh joy.
llvm-svn: 1923
2002-03-21 05:35:11 +00:00
Chris Lattner
f6c6be2891
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
14fe4c60d4
Namespace qualify debugging code
...
llvm-svn: 1921
2002-03-21 03:02:07 +00:00
Chris Lattner
0f8a4bb762
New testcase
...
llvm-svn: 1920
2002-03-21 03:01:14 +00:00
Chris Lattner
2a0d27ad8e
Allow implementation of all HANDLE_*_INST macros at once by defining HANDLE_INST
...
llvm-svn: 1919
2002-03-19 05:51:18 +00:00
Vikram S. Adve
5fecde7331
New pass to convert Convert multi-dimensional
...
array references into 1-D references.
llvm-svn: 1918
2002-03-19 02:10:34 +00:00
Vikram S. Adve
7e5120163c
Big bug fix: killed uses were being inserted instead of erased!
...
Also added a set of debug options.
llvm-svn: 1917
2002-03-19 00:59:08 +00:00
Chris Lattner
dddac0d29a
Initial checkin of InstVisitor class
...
llvm-svn: 1916
2002-03-18 19:07:42 +00:00
Chris Lattner
6a19d49f51
Add isa,cast,dyncast support for AllocationInst.
...
llvm-svn: 1915
2002-03-18 05:00:51 +00:00
Vikram S. Adve
8280198b62
include Makefile.tests.
...
llvm-svn: 1914
2002-03-18 04:05:26 +00:00
Vikram S. Adve
5b7700028d
Need rule for runtime.o. This is just temporary to provide
...
ll__main so that llc output can link.
llvm-svn: 1913
2002-03-18 04:04:25 +00:00
Vikram S. Adve
bd10b8e1d7
Fix libraries.
...
llvm-svn: 1912
2002-03-18 03:53:22 +00:00
Vikram S. Adve
78c2e12891
Minor changes.
...
llvm-svn: 1911
2002-03-18 03:52:31 +00:00
Vikram S. Adve
218f8de01a
Fixed several problems with handling arguments to Phis.
...
llvm-svn: 1910
2002-03-18 03:47:26 +00:00
Vikram S. Adve
89637cd8e2
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
9f129ffe56
Just a comment.
...
llvm-svn: 1908
2002-03-18 03:40:25 +00:00
Vikram S. Adve
98a0150582
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
8e01c0b70e
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
7446b323a7
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
307916c008
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
e5842b527d
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
d2c71c1d08
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
cecde7122c
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
81622ca144
Added function computeOffsetforLocalVar to check how big the
...
offset-from-FP will be before allocating space for a local variable.
llvm-svn: 1900
2002-03-18 03:23:29 +00:00
Vikram S. Adve
6547d4c1fe
Use vector for machine instructions in GetInstructionsByRule.
...
llvm-svn: 1899
2002-03-18 03:20:46 +00:00
Vikram S. Adve
c9fc306b70
Added machine-independent value for INVALID_MACHINE_OPCODE.
...
Just cosmetic changes otherwise.
llvm-svn: 1898
2002-03-18 03:19:38 +00:00
Vikram S. Adve
a1cbf5e076
Add function getRegClassIDOfType.
...
getRegClassIDOfValue is now just a wrapper around this.
llvm-svn: 1897
2002-03-18 03:18:28 +00:00
Vikram S. Adve
493b8241e0
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
db1435f410
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
c87f73d64e
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: 1894
2002-03-18 03:10:17 +00:00
Vikram S. Adve
f9ab087be7
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
55ee12bb25
Minor fixes.
...
llvm-svn: 1892
2002-03-18 03:08:07 +00:00
Vikram S. Adve
270f56a085
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
0513e01bee
Several sundry bug fixes.
...
llvm-svn: 1890
2002-03-18 03:02:42 +00:00
Chris Lattner
f5ef05f58c
Convert the top line of the header from .cpp style to .h style.
...
llvm-svn: 1884
2002-03-17 21:16:22 +00:00
Chris Lattner
de421a7993
Make an assertion provide a more helpful error message
...
llvm-svn: 1883
2002-03-17 21:16:01 +00:00
Vikram S. Adve
88981d2fa4
Regression tests for live-variable analysis on machine code
...
generated by llc.
llvm-svn: 1882
2002-03-16 21:42:33 +00:00
Chris Lattner
205373ff74
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
fbf5be52c3
Checkin new test for problem anand ran into
...
llvm-svn: 1880
2002-03-15 20:25:09 +00:00
Chris Lattner
60ab10bbef
Cleanup error message output a bit
...
llvm-svn: 1879
2002-03-15 20:21:29 +00:00