Commit Graph

1536 Commits

Author SHA1 Message Date
Nate Begeman
6510b22cec Support multiple ValueTypes per RegisterClass, needed for upcoming vector
work.  This change has no effect on generated code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24563 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-01 04:51:06 +00:00
Chris Lattner
ce8eb0c16b Add a new option to indicate we want the code generator to emit code quickly,not spending tons of time microoptimizing it. This is useful for an -O0style of build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24233 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-08 02:11:51 +00:00
Chris Lattner
635df00b02 There is no need to build an archive version of this library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23936 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-24 02:09:03 +00:00
Chris Lattner
11686f1c07 This file is hopelessly out of date
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23935 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-24 02:07:08 +00:00
John Criswell
9811ea4567 This fixes PR638:
Regression/CodeGen/Generic/2004-02-08-UnwindSupport.llx


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23831 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-19 20:07:15 +00:00
Chris Lattner
123557fcf0 silence a warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23593 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-02 16:27:59 +00:00
Chris Lattner
a916dd8888 Adjust to change in ctor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23585 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-02 06:23:51 +00:00
Chris Lattner
0f21fd5204 Rename MRegisterDesc -> TargetRegisterDesc for consistency
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23564 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-30 17:49:27 +00:00
Chris Lattner
863914feb5 trim down the target info structs now that we have a preferred spill register class for each callee save register
Why is V9 maintaining these tables manually? ugh!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23561 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-30 17:38:36 +00:00
Chris Lattner
e4047188e7 stub out a virtual method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23554 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-30 06:55:18 +00:00
Chris Lattner
97d5e6461a Pass extra regclasses into spilling code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23537 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-30 01:29:42 +00:00
Jim Laskey
b1e1180ca0 1. Use SubtargetFeatures in llc/lli.
2. Propagate feature "string" to all targets.

3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23192 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-01 21:38:21 +00:00
Chris Lattner
e0a7f83049 Fix some warnings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23029 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-25 00:00:26 +00:00
Chris Lattner
03ba7b9f25 Put register classes into namespaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22925 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-19 18:51:57 +00:00
Chris Lattner
c19d5621ae Sparcv9 gets no operand info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22909 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-19 16:56:56 +00:00
Chris Lattner
0561b3ff9f Update to use the new MathExtras.h support for log2 computation.
Patch contributed by Jim Laskey!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22594 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-02 19:26:06 +00:00
Andrew Lenharth
422f3d58a8 turn off GOT on archs that didn't use it (not that it appeard to harm them much with it on)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22553 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-29 23:32:02 +00:00
Jeff Cohen
00b16889ab Eliminate all remaining tabs and trailing spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22523 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-27 06:12:32 +00:00
Jeff Cohen
9eb59ec548 Eliminate tabs and trailing spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22520 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-27 05:53:44 +00:00
Andrew Lenharth
908bc862d5 update interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22498 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-22 20:49:37 +00:00
Chris Lattner
df3623e962 fix a warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22385 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-11 22:46:18 +00:00
Chris Lattner
5de8b9d796 remove some debugging code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22321 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-01 06:40:58 +00:00
Chris Lattner
0431c96cec Refactor the addPassesToEmitAssembly interface into a addPassesToEmitFile
interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22282 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-25 02:48:37 +00:00
Andrew Lenharth
213e557cef If we support structs as va_list, we must pass pointers to them to va_copy
See last commit for LangRef, this implements it on all targets.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22273 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-22 21:04:42 +00:00
Andrew Lenharth
08b06dc956 so this doesn't crash when run. It is hard to tell if things are right enough to work correctly with all the TmpInstructions running around
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22261 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-19 05:45:00 +00:00
Andrew Lenharth
5fb7f20469 OK, at least get rid of old stuff, and mark what needs to be fixed for V9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22255 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-18 18:46:40 +00:00
Reid Spencer
4b828e6384 Clean up some uninitialized variables and missing return statements that
GCC 4.0.0 compiler (sometimes incorrectly) warns about under release build.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22249 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-18 17:37:34 +00:00
Tanya Lattner
60b62aa046 Removed IIIi specific changes. This should be fixed to add floating point deps for the IIi.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22243 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-17 04:21:09 +00:00
Tanya Lattner
d70cee2d5a Special dep graph for SMS for superblocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22242 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-17 04:16:14 +00:00
Tanya Lattner
747e053cba Special versions of the dep graph and scheduled for SMS for superblocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22241 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-17 04:15:43 +00:00
Tanya Lattner
8352e23d11 Added statistic to count number of spills.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22240 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-17 04:01:34 +00:00
Tanya Lattner
d454a973a5 Numerous bug fixes and the completed modschedSB algorithm (minor bugs still exist for course).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22239 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-17 04:00:57 +00:00
Tanya Lattner
770e991bc4 Added SMS for superblocks as an option (experimental)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22238 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-17 04:00:22 +00:00
Nate Begeman
244e92eaab When compiled with GCC 4.0, a latent bug was exposed where both SparcV9
and the target independant register allocator were both using a class named
'LiveRange'.  This lead to the target independant code calling code in the
SparcV9 backend, which crashed.  Fixed by renaming SparcV9's LiveRange to
V9LiveRange.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22208 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-12 23:52:58 +00:00
Chris Lattner
f8492193b9 clarify that these are v9 options
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21960 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-13 19:45:45 +00:00
Chris Lattner
6bc2dc7b2c hide this option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21959 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-13 19:44:21 +00:00
Tanya Lattner
d977095838 Fixed issue that broke ssa.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21878 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-11 21:45:03 +00:00
Chris Lattner
4548a0ed32 fix some GCC 4 warnings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21877 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-11 21:40:40 +00:00
John Criswell
3163e2d9f3 Added support for decomposing constant expressions containing shr and shl
instructions.
Review of this commit would be greatly appreciated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21876 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-11 21:16:42 +00:00
Tanya Lattner
874abe50ac SMS for superblocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21643 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-01 01:27:47 +00:00
Tanya Lattner
be2b84aa9e Added extra constructor for superblocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21642 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-01 01:25:53 +00:00
Tanya Lattner
c50156360a Fixed bug in searchPath function for finding nodes between two recurrences.
Changed dependence analyzer to only use dep distances of 2 or less.
This is experimental.

Changed MSchedGraph to be able to represent more then one BB (first steps).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21641 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-30 23:07:59 +00:00
Tanya Lattner
9f83822565 Updated dependence analyzer. Fixed numerous bugs. Same stage scheduling, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21444 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22 06:32:48 +00:00
Misha Brukman
b5f662fa03 Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21425 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 23:30:14 +00:00
Chris Lattner
67ac5f459e Fix CodeGen/SparcV9/2005-05-09-GEP-Crash.ll a crash on some specfp program
lets hope this doesn't break other programs with induced entropy


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21174 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-09 06:27:14 +00:00
Chris Lattner
ce91ec9ae6 Fix a namespace issue, reported by Vladimir Merzliakov!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21115 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-06 19:45:39 +00:00
Tanya Lattner
ac6e2dbf52 Updated to use dep analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21097 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-05 16:36:44 +00:00
Chris Lattner
e6fea166c3 Fix another PATypeHolder error, contributed by Bill Wendling!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20983 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-01 15:41:30 +00:00
Tanya Lattner
5e9f352346 Compare dependence analysis with llvm instructions versus machine instrutions. the problem with using machine instructions and alias analysis is that aa does not handle tmp instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20931 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-29 20:35:10 +00:00
Tanya Lattner
5ec3a63f6d Dependence analyzer that just determines dependences within a loop for loads and stores using alias analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20930 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-29 20:33:42 +00:00