Chris Lattner [Sun, 28 Oct 2001 22:40:59 +0000 (22:40 +0000)]
Remove unneccesary function prototypes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1014
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Oct 2001 22:38:22 +0000 (22:38 +0000)]
Fix some illegal uses of the ## operator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1013
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 22:19:06 +0000 (22:19 +0000)]
Minor fix I omitted to check in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1012
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 21:48:05 +0000 (21:48 +0000)]
Support printing control characters in standard C/assembly style,
if you specify useCSyntax = true. The old style is still the default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1011
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 21:46:23 +0000 (21:46 +0000)]
Record constants that need to be emitted in the assembly code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1010
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 21:45:02 +0000 (21:45 +0000)]
Allow combinations of True/Anti/Output flags for each edge to
support, e.g., dependences on Call instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1009
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 21:43:33 +0000 (21:43 +0000)]
Add edges between call instructions and (a) load/store instructions, and
(b) any instructions that use or set CC registers. Whether or not the
latter are needed really should be machine-dependent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1008
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 21:41:46 +0000 (21:41 +0000)]
Generate SETX for 64-bit integers!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1007
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 21:41:01 +0000 (21:41 +0000)]
Add SETX instruction for 64-bit constants.
Add M_CC_FLAG for many instructions that use int or fp CC registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1006
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 21:39:47 +0000 (21:39 +0000)]
Need to subtract, not add, stack size in SAVE instruction!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1005
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 21:38:52 +0000 (21:38 +0000)]
Major overhaul to print globals and constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1004
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 21:38:02 +0000 (21:38 +0000)]
Added name-mangling routines for future use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1003
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 21:37:25 +0000 (21:37 +0000)]
Use separate functions for printing values of each type.
Put trace code before condition-generating instruction in basic blocks
that end in a conditional branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1002
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 21:34:59 +0000 (21:34 +0000)]
Added printPointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1001
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 21:31:33 +0000 (21:31 +0000)]
Runtime routines implementing print<TYPE> for all basic types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1000
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 21:24:50 +0000 (21:24 +0000)]
Added a constant pool to record values that need to be emitted
in the assembly code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@999
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 21:23:44 +0000 (21:23 +0000)]
Add support for name mangling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@998
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 21:21:25 +0000 (21:21 +0000)]
Switch useLLVMSyntax to useCSyntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@997
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 21:16:34 +0000 (21:16 +0000)]
Add calls to print results in fib, simpleadd and sumarray.
indirectcall is the same as fib but uses function pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@996
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 21:06:48 +0000 (21:06 +0000)]
Support printing control characters in standard C/assembly style.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@995
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 20:52:27 +0000 (20:52 +0000)]
Add methods print<TYPE> for String, Pointer, and each primitive type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@994
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 28 Oct 2001 20:18:11 +0000 (20:18 +0000)]
Added rules for building sparc executable with and without tracing,
and linking with local runtime library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@993
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Sun, 28 Oct 2001 18:15:12 +0000 (18:15 +0000)]
Added support for spilling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@992
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Sun, 28 Oct 2001 18:14:15 +0000 (18:14 +0000)]
Moved callerSaving code to machine specific classes since we have to handle
%ccr reg differently.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@991
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Sun, 28 Oct 2001 18:12:02 +0000 (18:12 +0000)]
Added spill code support; moved insertCallerSaving to SparRegInfo since
we need to handle %ccr reg in a special way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@990
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Oct 2001 08:43:52 +0000 (08:43 +0000)]
Implement a -trace command line option and a trace option in the interpreter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@989
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Oct 2001 08:28:11 +0000 (08:28 +0000)]
* Make pointer values work better by treating them uniformly as 64 bit values.
This causes code that is generated by gcc to work better.
* Implement mul & div
* Export malloc, free, and pow
* add strtol, atoi, and atol to the runtime library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@988
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Oct 2001 05:54:31 +0000 (05:54 +0000)]
Provide argv for commands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@987
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Oct 2001 05:54:17 +0000 (05:54 +0000)]
Provide option to enable eating of all arguments following a specific one
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@986
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Oct 2001 04:15:57 +0000 (04:15 +0000)]
* Implement exit() builtin function
* Implement linked in runtime library with puts(char*) in it
* implement builtin putchar(int) function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@985
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Wed, 24 Oct 2001 22:05:34 +0000 (22:05 +0000)]
Fixed load syntax in EmitAssembly
Fixed cpReg2Mem (store) operand oreder in SparcRegInfo.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@984
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Oct 2001 19:52:41 +0000 (19:52 +0000)]
Add support for building a runtime library for LLI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@983
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Wed, 24 Oct 2001 15:56:58 +0000 (15:56 +0000)]
Fixed logic for checking whether a LR received the correct color.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@976
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Oct 2001 06:23:00 +0000 (06:23 +0000)]
Implement a -L command line argument to specify a search path. Implement minimal ar compatibility stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@975
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Oct 2001 06:21:56 +0000 (06:21 +0000)]
Clean up error handling a bit. Add / as a seperator for command line arguments. This is just a big old ugly hack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@974
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Oct 2001 06:21:22 +0000 (06:21 +0000)]
Frivolous cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@973
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Oct 2001 05:14:35 +0000 (05:14 +0000)]
Dang it, do NOT check in code that enables debugging. Bad chris
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@972
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Oct 2001 05:12:04 +0000 (05:12 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@971
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Oct 2001 01:15:12 +0000 (01:15 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@970
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Tue, 23 Oct 2001 21:40:39 +0000 (21:40 +0000)]
Corrected a bug in SparcRegInfo.cpp - to add inserted instructions before a return
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@969
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Tue, 23 Oct 2001 21:38:42 +0000 (21:38 +0000)]
added support to move "added instructions" after the delay slot
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@968
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Tue, 23 Oct 2001 21:38:00 +0000 (21:38 +0000)]
Added support to move "added instructions" after the delay slot
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@967
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Oct 2001 20:44:55 +0000 (20:44 +0000)]
Add '-v' option to enable verbose output from the linker
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@966
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Oct 2001 20:43:42 +0000 (20:43 +0000)]
Fix problem linking in a method prototype when a method body exists
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@965
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Oct 2001 15:30:18 +0000 (15:30 +0000)]
Remove unnamed prototypes that are created.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@964
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Oct 2001 04:13:01 +0000 (04:13 +0000)]
Negative FP constants... whodathunkit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@963
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Oct 2001 03:21:42 +0000 (03:21 +0000)]
Oops, didn't mean to check in enabled debugging support. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@962
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Oct 2001 03:21:10 +0000 (03:21 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@961
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Oct 2001 02:32:45 +0000 (02:32 +0000)]
More symbol table bugfixes that are impossible to track down. Goody
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@960
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Oct 2001 01:53:22 +0000 (01:53 +0000)]
Allow unresolved/opaque types to be read and written to bytecode files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@959
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Oct 2001 01:53:01 +0000 (01:53 +0000)]
Fix another annoying bug that took forever to track down. This one involves abstract type resolution at a bad time that broke symbol tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@958
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 22:33:08 +0000 (22:33 +0000)]
Disable alloca code gen tests until size of extra args in stack frame
can be computed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@957
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 22:32:11 +0000 (22:32 +0000)]
Delete MachineCodeInfoForMethod object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@956
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Oct 2001 21:59:46 +0000 (21:59 +0000)]
Fix a problem occuring with type unification of symbol table entries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@955
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:58:22 +0000 (13:58 +0000)]
Simplify etags command.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@954
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:58:08 +0000 (13:58 +0000)]
Added object of class MachineCodeForMethod.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@953
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:57:39 +0000 (13:57 +0000)]
Added class MachineCodeForMethod to provide method-level information
about the generated native code (e.g., frame layout information).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@952
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:56:33 +0000 (13:56 +0000)]
Added function interfaces for generating prolog and epilog code.
The functions must be implemented by the target-specific code generator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@951
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:55:46 +0000 (13:55 +0000)]
Added function IsLeafMethod to identify leaf methods.
This will use the CallGraph only if one is provided.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@950
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:52:47 +0000 (13:52 +0000)]
Added MachineCodeForMethod object in class Method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@949
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:52:03 +0000 (13:52 +0000)]
Use class MachineCodeForMethod to print machine code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@948
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:51:33 +0000 (13:51 +0000)]
Added class MachineCodeForMethod.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@947
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:51:09 +0000 (13:51 +0000)]
Cosmetic changes only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@946
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:49:27 +0000 (13:49 +0000)]
Modify code that processes delay slots so that it preserves any
useful instructions already inserted into delay slots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@945
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:46:38 +0000 (13:46 +0000)]
UNUSED.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@944
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:44:53 +0000 (13:44 +0000)]
Split JMPL into JMPLCALL and JMPLRET.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@943
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:44:23 +0000 (13:44 +0000)]
Added a frame layout class, and code to insert prolog/epilog code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@942
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:43:08 +0000 (13:43 +0000)]
Reordered registers slightly to simplify a new check.
Added a function to map between the caller's and callee's register windows.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@941
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:41:12 +0000 (13:41 +0000)]
Split JMPL into JMPLCALL and JMPLRET so that IsCall and IsReturn can
be used to distinguish those uses of the `jmpl' instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@940
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:36:31 +0000 (13:36 +0000)]
Added functions to generate prolog and epilog code.
Use JMPLRET instead of RETURN for method returns so that
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@939
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:32:55 +0000 (13:32 +0000)]
Added SAVE and RESTORE. Duplicated JMPL into JMPLCALL and JMPLRET,
which have the same opcode and operands but different flags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@938
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 22 Oct 2001 13:31:53 +0000 (13:31 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@937
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Oct 2001 06:01:08 +0000 (06:01 +0000)]
Remove ugly subclass of Opaque type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@936
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Oct 2001 05:56:09 +0000 (05:56 +0000)]
Fix bug with
%list = type {%list *}
%list = type {%list *}
not being accepted (broken testmisc.ll)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@935
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Oct 2001 04:55:44 +0000 (04:55 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@934
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 21 Oct 2001 23:02:41 +0000 (23:02 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@933
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 21 Oct 2001 21:54:51 +0000 (21:54 +0000)]
Fix erroneous assertion failure on the following code:
declare int "malloc"(...)
...
%reg112 = call int (...) * %malloc( uint %cast1007 )
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@932
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 21 Oct 2001 21:43:25 +0000 (21:43 +0000)]
Fix bug caused by:
%list = type opaque
%list = type %list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@931
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Sun, 21 Oct 2001 16:43:41 +0000 (16:43 +0000)]
Added support for both call/jmpl instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@930
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 21 Oct 2001 00:14:44 +0000 (00:14 +0000)]
Fix problem with a cast instruction that must be expanded to type 0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@929
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 20 Oct 2001 21:33:50 +0000 (21:33 +0000)]
Fixed printing of offset operand for RETURN instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@928
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 20 Oct 2001 20:57:06 +0000 (20:57 +0000)]
Use CALL for direct function calls; JMPL for indirect ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@927
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 20 Oct 2001 20:56:40 +0000 (20:56 +0000)]
Minor bug fix in printing operands of JMPL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@926
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Oct 2001 09:33:10 +0000 (09:33 +0000)]
Fix shift printing when using a ubyte LHS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@925
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Oct 2001 09:32:59 +0000 (09:32 +0000)]
Add support for And, XOR, and Or
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@924
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Oct 2001 06:43:05 +0000 (06:43 +0000)]
It is valid to have unsigned arrays as constants... the linker may initialize them later
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@923
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Fri, 19 Oct 2001 21:42:06 +0000 (21:42 +0000)]
Added code to support unusable Suggested Colors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@922
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Fri, 19 Oct 2001 21:41:16 +0000 (21:41 +0000)]
Added code so that colorIGNode does not unnecessarily reserve unusable
Suggested colors for neighbors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@921
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Fri, 19 Oct 2001 21:39:31 +0000 (21:39 +0000)]
Added code to PhyRegAlloc to mark unusable suggested regs
Added initialization to AdjList to IGNode constructor - major bug fix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@920
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Fri, 19 Oct 2001 18:17:49 +0000 (18:17 +0000)]
Added code to Initialize (MachineOperand) to initialize regNum to -1 -- Ruchira
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@919
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Fri, 19 Oct 2001 17:23:43 +0000 (17:23 +0000)]
Corrected call interference bug - suggested color not allocated if
volatile and there are call interferences
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@918
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Fri, 19 Oct 2001 17:21:59 +0000 (17:21 +0000)]
Changed Call interference info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@917
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Fri, 19 Oct 2001 17:21:03 +0000 (17:21 +0000)]
Corrected call interference bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@916
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Oct 2001 15:39:14 +0000 (15:39 +0000)]
Fix to reference the right header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@915
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Thu, 18 Oct 2001 23:58:08 +0000 (23:58 +0000)]
no major change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@914
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 18 Oct 2001 22:47:50 +0000 (22:47 +0000)]
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@913
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Thu, 18 Oct 2001 22:40:02 +0000 (22:40 +0000)]
Added implict operand printing for operator( ostream, MachineInstr&)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@912
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Thu, 18 Oct 2001 22:38:52 +0000 (22:38 +0000)]
Added support for condition code loading/stroing in methods cpReg2Reg etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@911
91177308-0d34-0410-b5e6-
96231b3b80d8
Ruchira Sasanka [Thu, 18 Oct 2001 22:36:26 +0000 (22:36 +0000)]
removed some debug messages
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@910
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 21:55:32 +0000 (21:55 +0000)]
Enhancements to pass argc & argv to main if required
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@909
91177308-0d34-0410-b5e6-
96231b3b80d8