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
Chris Lattner [Thu, 18 Oct 2001 21:55:07 +0000 (21:55 +0000)]
Check in new testcase based on .c file. Adapted to run with lli
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@908
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 21:54:42 +0000 (21:54 +0000)]
Fix null termination issue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@907
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 21:50:39 +0000 (21:50 +0000)]
Add new testcase from C source
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@906
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 20:33:21 +0000 (20:33 +0000)]
Remove unneccesary retcode var
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@905
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 20:32:07 +0000 (20:32 +0000)]
Refactor Assembly/Bytecode writer code into Assembly & bytecode libraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@904
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 20:31:54 +0000 (20:31 +0000)]
Refactor code into Assembly & bytecode libraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@903
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 20:31:42 +0000 (20:31 +0000)]
initial checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@902
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 20:19:09 +0000 (20:19 +0000)]
move llvm/Transforms/Pass.h to the top level llvm/Pass.h file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@901
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 20:06:45 +0000 (20:06 +0000)]
Expose more xforms to the opt utility
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@900
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 20:06:31 +0000 (20:06 +0000)]
Bytecode writer is yanked out of Module printer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@899
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 20:06:03 +0000 (20:06 +0000)]
Refix bugs, stop using deprecated strstream header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@898
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 20:05:37 +0000 (20:05 +0000)]
Initial checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@897
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 20:05:30 +0000 (20:05 +0000)]
Initial Checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@896
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 20:05:07 +0000 (20:05 +0000)]
Pull bytecode writing out of Module writer pass. Prepare to move to seperate file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@895
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 20:04:40 +0000 (20:04 +0000)]
Add operator[] accessors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@894
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 18 Oct 2001 18:20:20 +0000 (18:20 +0000)]
Move malloc/free lowering after tracing until lli supports
calls to external malloc/free functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@893
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 18 Oct 2001 18:16:11 +0000 (18:16 +0000)]
Only print values live at BB or method exit, and insert loads at each
BB exit to read and print values stored in that BB. Note that only
these stored values are live at method exit!. Also, print messages at
method entry and exit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@892
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 18 Oct 2001 18:13:49 +0000 (18:13 +0000)]
Add option to print per module instead of per method, so that
global declarations are also printed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@891
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 17:07:22 +0000 (17:07 +0000)]
Only output code if file open is successful
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@890
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 18 Oct 2001 13:51:20 +0000 (13:51 +0000)]
Trace code should always be exported just before code generation;
this is not a debugging option. But we can export it as assembly
instead of bytecode if -debugtrace is specified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@889
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 18 Oct 2001 13:49:22 +0000 (13:49 +0000)]
Handle multiple exit blocks correctly.
Restore string variable cache.
Resurrect code to use formatted printing instead of PrintVal
but leave it turned off for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@888
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 18 Oct 2001 13:47:49 +0000 (13:47 +0000)]
Add option to print as bytecode instead of assembly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@887
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 06:13:08 +0000 (06:13 +0000)]
Use the standard header not the old one
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@886
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 06:11:23 +0000 (06:11 +0000)]
Dang, we were losing the Constant bit on globals. Fix this
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@885
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 06:05:15 +0000 (06:05 +0000)]
Add support to insert trace code as an "optimization"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@884
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 06:03:05 +0000 (06:03 +0000)]
Convert to be compatible with lli.
Need to eliminate duplicate \n entries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@883
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 05:28:44 +0000 (05:28 +0000)]
Convert to new simpler, more powerful pass structure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@882
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 05:28:08 +0000 (05:28 +0000)]
Massive hacks to try to fix subtle logic bugs. I think it's all working now,
at least what used to. I should disable method exit code completely because
it's broken (doesn't insert just post dominating values)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@881
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 05:27:33 +0000 (05:27 +0000)]
Convert to new simpler pass itf
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@880
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 05:22:27 +0000 (05:22 +0000)]
Convert to new simpler Pass structure
Componentize better
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@879
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 05:22:15 +0000 (05:22 +0000)]
Convert to new simpler Pass structure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@878
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 05:21:56 +0000 (05:21 +0000)]
Convert to new simpler pass structure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@877
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 05:20:53 +0000 (05:20 +0000)]
Simplify Pass by removing silly subclasses
Fix an iterator problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@876
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 01:49:48 +0000 (01:49 +0000)]
Fix minor bug, update comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@875
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 01:48:09 +0000 (01:48 +0000)]
Change Sources specifier to ExtraSources
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@874
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 01:32:34 +0000 (01:32 +0000)]
Convert optimizations to the pass infrastructure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@873
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 01:32:17 +0000 (01:32 +0000)]
Pass's return true if they make a modification, not if they fail
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@872
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 01:31:58 +0000 (01:31 +0000)]
Convert optimizations to use the Pass infrastructure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@871
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 01:31:43 +0000 (01:31 +0000)]
* Passes return true if they change something, not if they fail
* Convert opt to use Pass's and convert optimizations to pass structure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@870
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Oct 2001 01:31:22 +0000 (01:31 +0000)]
Passes return true if they change something, not if they fail
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@869
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 18 Oct 2001 00:26:20 +0000 (00:26 +0000)]
1. Move most of the constant-fixup code into machine-independent file
InstrSelectionSupport.cpp. It now happens in a bottom-up pass on
each BURG tree after the original top-down selection pass on the tree.
2. Handle global values as constants (viz., constant addresses).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@868
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 18 Oct 2001 00:23:32 +0000 (00:23 +0000)]
Reverse previous change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@867
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 18 Oct 2001 00:22:14 +0000 (00:22 +0000)]
Generate assembly code for testcodegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@866
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 18 Oct 2001 00:22:02 +0000 (00:22 +0000)]
Added several cases where a constant must be forwarded into a use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@865
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 18 Oct 2001 00:03:20 +0000 (00:03 +0000)]
Sparc-specific code shared between local files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@864
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 18 Oct 2001 00:02:32 +0000 (00:02 +0000)]
Moved implementation of class UltraSparcInstrInfo to SparcInstrInfo.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@863
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 18 Oct 2001 00:02:06 +0000 (00:02 +0000)]
Added virtual function to generate an instruction sequence to
load a constant into a register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@862
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 18 Oct 2001 00:01:48 +0000 (00:01 +0000)]
Moved implementation of class UltraSparcInstrInfo here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@861
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Wed, 17 Oct 2001 23:59:09 +0000 (23:59 +0000)]
1. Add a bottom-up pass on BURG trees that is used to fix constant operands.
Needs to be bottom up because constant values may be forward-substituted
to their uses (i.e., into the parent in the BURG tree).
2. Move most of the constant-fixup code into machine-indepedent file
InstrSelectionSupport.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@860
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Wed, 17 Oct 2001 23:57:50 +0000 (23:57 +0000)]
1. Add a bottom-up pass on BURG trees that is used to fix constant operands.
Needs to be bottom up because constant values may be forward-substituted
to their uses (i.e., into the parent in the BURG tree).
2. Move most of the constant-fixup code into machine-indepedent file
InstrSelectionSupport.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@859
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Wed, 17 Oct 2001 23:55:16 +0000 (23:55 +0000)]
Separate VM instruction that generates the instructions that compute a value
from the value itself (the one causing an edge) because the latter may be
a temporary used within the instruction sequence for the VM instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@858
91177308-0d34-0410-b5e6-
96231b3b80d8