Chris Lattner
d4617cdf41
Clean up error handling a bit. Add / as a seperator for command line arguments. This is just a big old ugly hack.
...
llvm-svn: 974
2001-10-24 06:21:56 +00:00
Chris Lattner
e3fe1ac4ee
Frivolous cleanups
...
llvm-svn: 973
2001-10-24 06:21:22 +00:00
Chris Lattner
a065a732bf
Dang it, do NOT check in code that enables debugging. Bad chris
...
llvm-svn: 972
2001-10-24 05:14:35 +00:00
Chris Lattner
7dacd514ca
Two things:
...
1. Forward propogate a loaded constant to make debugging slightly less annoying
2. Fix an extremely nasty hard to find bug that really irritated me for the better
part of 6 hours and was causing linking to die and bizarre and mysterious ways.
Things should be much more stable now that this one liner has been fixed. GRR
llvm-svn: 971
2001-10-24 05:12:04 +00:00
Chris Lattner
daebd7508d
Changes to get some meaningful feedback from the bytecode reader. At some point this stuff should all be exception driven, but for now it is not.
...
llvm-svn: 970
2001-10-24 01:15:12 +00:00
Ruchira Sasanka
6a7f02082b
Corrected a bug in SparcRegInfo.cpp - to add inserted instructions before a return
...
llvm-svn: 969
2001-10-23 21:40:39 +00:00
Ruchira Sasanka
33b0d85f65
added support to move "added instructions" after the delay slot
...
llvm-svn: 968
2001-10-23 21:38:42 +00:00
Ruchira Sasanka
c300c6ba58
Added support to move "added instructions" after the delay slot
...
llvm-svn: 967
2001-10-23 21:38:00 +00:00
Chris Lattner
ebaa78852c
Add '-v' option to enable verbose output from the linker
...
llvm-svn: 966
2001-10-23 20:44:55 +00:00
Chris Lattner
b046867a97
Fix problem linking in a method prototype when a method body exists
...
llvm-svn: 965
2001-10-23 20:43:42 +00:00
Chris Lattner
aeaec1ccb9
Remove unnamed prototypes that are created.
...
llvm-svn: 964
2001-10-23 15:30:18 +00:00
Chris Lattner
adb4dbaef3
Negative FP constants... whodathunkit.
...
llvm-svn: 963
2001-10-23 04:13:01 +00:00
Chris Lattner
7540328e46
Oops, didn't mean to check in enabled debugging support. :(
...
llvm-svn: 962
2001-10-23 03:21:42 +00:00
Chris Lattner
b5498aba50
Fixed a LONG standing, SCARY problem with bytecode encoding. It turns out to be an endian problem that only shows up with type 0 instructions in LARGE programs.
...
llvm-svn: 961
2001-10-23 03:21:10 +00:00
Chris Lattner
98960dce6d
More symbol table bugfixes that are impossible to track down. Goody
...
llvm-svn: 960
2001-10-23 02:32:45 +00:00
Chris Lattner
0557f117dd
Allow unresolved/opaque types to be read and written to bytecode files
...
llvm-svn: 959
2001-10-23 01:53:22 +00:00
Chris Lattner
61b665528e
Fix another annoying bug that took forever to track down. This one involves abstract type resolution at a bad time that broke symbol tables.
...
llvm-svn: 958
2001-10-23 01:53:01 +00:00
Vikram S. Adve
4b9c7c23b2
Disable alloca code gen tests until size of extra args in stack frame
...
can be computed.
llvm-svn: 957
2001-10-22 22:33:08 +00:00
Vikram S. Adve
0009da41c6
Delete MachineCodeInfoForMethod object.
...
llvm-svn: 956
2001-10-22 22:32:11 +00:00
Chris Lattner
100884edad
Fix a problem occuring with type unification of symbol table entries
...
llvm-svn: 955
2001-10-22 21:59:46 +00:00
Vikram S. Adve
4dedee5dc4
Simplify etags command.
...
llvm-svn: 954
2001-10-22 13:58:22 +00:00
Vikram S. Adve
bdea601096
Added object of class MachineCodeForMethod.
...
llvm-svn: 953
2001-10-22 13:58:08 +00:00
Vikram S. Adve
21c3a754fc
Added class MachineCodeForMethod to provide method-level information
...
about the generated native code (e.g., frame layout information).
llvm-svn: 952
2001-10-22 13:57:39 +00:00
Vikram S. Adve
0f228750ec
Added function interfaces for generating prolog and epilog code.
...
The functions must be implemented by the target-specific code generator.
llvm-svn: 951
2001-10-22 13:56:33 +00:00
Vikram S. Adve
5dab57de99
Added function IsLeafMethod to identify leaf methods.
...
This will use the CallGraph only if one is provided.
llvm-svn: 950
2001-10-22 13:55:46 +00:00
Vikram S. Adve
4e594bebba
Added MachineCodeForMethod object in class Method.
...
llvm-svn: 949
2001-10-22 13:52:47 +00:00
Vikram S. Adve
901da32e64
Use class MachineCodeForMethod to print machine code.
...
llvm-svn: 948
2001-10-22 13:52:03 +00:00
Vikram S. Adve
cc80b02834
Added class MachineCodeForMethod.
...
llvm-svn: 947
2001-10-22 13:51:33 +00:00
Vikram S. Adve
3686293bd2
Cosmetic changes only.
...
llvm-svn: 946
2001-10-22 13:51:09 +00:00
Vikram S. Adve
9a6457388f
Modify code that processes delay slots so that it preserves any
...
useful instructions already inserted into delay slots.
llvm-svn: 945
2001-10-22 13:49:27 +00:00
Vikram S. Adve
18a9e39214
UNUSED.
...
llvm-svn: 944
2001-10-22 13:46:38 +00:00
Vikram S. Adve
a0177cdca5
Split JMPL into JMPLCALL and JMPLRET.
...
llvm-svn: 943
2001-10-22 13:44:53 +00:00
Vikram S. Adve
9090b50ba9
Added a frame layout class, and code to insert prolog/epilog code.
...
llvm-svn: 942
2001-10-22 13:44:23 +00:00
Vikram S. Adve
5462dca9f1
Reordered registers slightly to simplify a new check.
...
Added a function to map between the caller's and callee's register windows.
llvm-svn: 941
2001-10-22 13:43:08 +00:00
Vikram S. Adve
8498277e77
Split JMPL into JMPLCALL and JMPLRET so that IsCall and IsReturn can
...
be used to distinguish those uses of the `jmpl' instruction.
llvm-svn: 940
2001-10-22 13:41:12 +00:00
Vikram S. Adve
52e41008e3
Added functions to generate prolog and epilog code.
...
Use JMPLRET instead of RETURN for method returns so that
llvm-svn: 939
2001-10-22 13:36:31 +00:00
Vikram S. Adve
6b492ddc15
Added SAVE and RESTORE. Duplicated JMPL into JMPLCALL and JMPLRET,
...
which have the same opcode and operands but different flags.
llvm-svn: 938
2001-10-22 13:32:55 +00:00
Vikram S. Adve
7c1a8d6d53
Reordered a couple of registers to simplify some new checks.
...
Added code to map between caller's and callee's register windows.
Added frame layout class.
llvm-svn: 937
2001-10-22 13:31:53 +00:00
Chris Lattner
e6b470c3f1
Remove ugly subclass of Opaque type
...
llvm-svn: 936
2001-10-22 06:01:08 +00:00
Chris Lattner
d50fa5aa36
Fix bug with
...
%list = type {%list *}
%list = type {%list *}
not being accepted (broken testmisc.ll)
llvm-svn: 935
2001-10-22 05:56:09 +00:00
Chris Lattner
fb864a35aa
Fix bug exposed by this testcase:
...
declare int "call_operand" (%rtx_def*, int) ;; Prototype for: call_operand
declare int "restore_operand" (%rtx_def*, int) ;; Prototype for: restore_operand
%rtx_def = type opaque
%rtx_def = type int
implementation
llvm-svn: 934
2001-10-22 04:55:44 +00:00
Chris Lattner
6265d798d4
Two changes:
...
1. Delete type handle regardless of whether a collision occured
2. Remove a MAJOR pessimization of runtime performance (thought be be an optimization at the time).
This second one was causing a 105k llvm file (from gcc) to parse in 58 seconds... without the
'optimization' it now parses in 3.64 seconds. I suck.
llvm-svn: 933
2001-10-21 23:02:41 +00:00
Chris Lattner
b57ac6f4bd
Fix erroneous assertion failure on the following code:
...
declare int "malloc"(...)
...
%reg112 = call int (...) * %malloc( uint %cast1007 )
llvm-svn: 932
2001-10-21 21:54:51 +00:00
Chris Lattner
28a63e2972
Fix bug caused by:
...
%list = type opaque
%list = type %list
llvm-svn: 931
2001-10-21 21:43:25 +00:00
Ruchira Sasanka
24729a34ce
Added support for both call/jmpl instructions
...
llvm-svn: 930
2001-10-21 16:43:41 +00:00
Chris Lattner
18e81933c7
Fix problem with a cast instruction that must be expanded to type 0
...
llvm-svn: 929
2001-10-21 00:14:44 +00:00
Vikram S. Adve
9bc488984f
Fixed printing of offset operand for RETURN instruction.
...
llvm-svn: 928
2001-10-20 21:33:50 +00:00
Vikram S. Adve
5731249137
Use CALL for direct function calls; JMPL for indirect ones.
...
llvm-svn: 927
2001-10-20 20:57:06 +00:00
Vikram S. Adve
72ebb454d0
Minor bug fix in printing operands of JMPL.
...
llvm-svn: 926
2001-10-20 20:56:40 +00:00
Chris Lattner
b6fe2345f1
Fix shift printing when using a ubyte LHS
...
llvm-svn: 925
2001-10-20 09:33:10 +00:00