oota-llvm.git
23 years agoAdded object of class MachineCodeForMethod.
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

23 years agoAdded class MachineCodeForMethod to provide method-level information
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

23 years agoAdded function interfaces for generating prolog and epilog code.
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

23 years agoAdded function IsLeafMethod to identify leaf methods.
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

23 years agoAdded MachineCodeForMethod object in class Method.
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

23 years agoUse class MachineCodeForMethod to print machine code.
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

23 years agoAdded class MachineCodeForMethod.
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

23 years agoCosmetic changes only.
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

23 years agoModify code that processes delay slots so that it preserves any
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

23 years agoUNUSED.
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

23 years agoSplit JMPL into JMPLCALL and JMPLRET.
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

23 years agoAdded a frame layout class, and code to insert prolog/epilog code.
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

23 years agoReordered registers slightly to simplify a new check.
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

23 years agoSplit JMPL into JMPLCALL and JMPLRET so that IsCall and IsReturn can
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

23 years agoAdded functions to generate prolog and epilog code.
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

23 years agoAdded SAVE and RESTORE. Duplicated JMPL into JMPLCALL and JMPLRET,
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

23 years agoReordered a couple of registers to simplify some new checks.
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

23 years agoRemove ugly subclass of Opaque type
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

23 years agoFix bug with
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

23 years agoFix bug exposed by this testcase:
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

23 years agoTwo changes:
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

23 years agoFix erroneous assertion failure on the following code:
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

23 years agoFix bug caused by:
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

23 years agoAdded support for both call/jmpl instructions
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

23 years agoFix problem with a cast instruction that must be expanded to type 0
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

23 years agoFixed printing of offset operand for RETURN instruction.
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

23 years agoUse CALL for direct function calls; JMPL for indirect ones.
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

23 years agoMinor bug fix in printing operands of JMPL.
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

23 years agoFix shift printing when using a ubyte LHS
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

23 years agoAdd support for And, XOR, and Or
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

23 years agoIt is valid to have unsigned arrays as constants... the linker may initialize them...
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

23 years agoAdded code to support unusable Suggested Colors.
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

23 years agoAdded code so that colorIGNode does not unnecessarily reserve unusable
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

23 years agoAdded code to PhyRegAlloc to mark unusable suggested regs
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

23 years agoAdded code to Initialize (MachineOperand) to initialize regNum to -1 -- Ruchira
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

23 years agoCorrected call interference bug - suggested color not allocated if
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

23 years agoChanged Call interference info
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

23 years agoCorrected call interference bug
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

23 years agoFix to reference the right header
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

23 years agono major change
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

23 years ago*** empty log message ***
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

23 years agoAdded implict operand printing for operator( ostream, MachineInstr&)
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

23 years agoAdded support for condition code loading/stroing in methods cpReg2Reg etc.
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

23 years agoremoved some debug messages
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

23 years agoEnhancements to pass argc & argv to main if required
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

23 years agoCheck in new testcase based on .c file. Adapted to run with lli
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

23 years agoFix null termination issue
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

23 years agoAdd new testcase from C source
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

23 years agoRemove unneccesary retcode var
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

23 years agoRefactor Assembly/Bytecode writer code into Assembly & bytecode libraries
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

23 years agoRefactor code into Assembly & bytecode libraries
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

23 years agoinitial checkin
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

23 years agomove llvm/Transforms/Pass.h to the top level llvm/Pass.h file
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

23 years agoExpose more xforms to the opt utility
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

23 years agoBytecode writer is yanked out of Module printer
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

23 years agoRefix bugs, stop using deprecated strstream header
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

23 years agoInitial checkin
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

23 years agoInitial Checkin
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

23 years agoPull bytecode writing out of Module writer pass. Prepare to move to seperate file
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

23 years agoAdd operator[] accessors
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

23 years agoMove malloc/free lowering after tracing until lli supports
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

23 years agoOnly print values live at BB or method exit, and insert loads at each
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

23 years agoAdd option to print per module instead of per method, so that
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

23 years agoOnly output code if file open is successful
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

23 years agoTrace code should always be exported just before code generation;
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

23 years agoHandle multiple exit blocks correctly.
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

23 years agoAdd option to print as bytecode instead of assembly.
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

23 years agoUse the standard header not the old one
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

23 years agoDang, we were losing the Constant bit on globals. Fix this
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

23 years agoAdd support to insert trace code as an "optimization"
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

23 years agoConvert to be compatible with lli.
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

23 years agoConvert to new simpler, more powerful pass structure
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

23 years agoMassive hacks to try to fix subtle logic bugs. I think it's all working now,
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

23 years agoConvert to new simpler pass itf
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

23 years agoConvert to new simpler Pass structure
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

23 years agoConvert to new simpler Pass structure
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

23 years agoConvert to new simpler pass structure
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

23 years agoSimplify Pass by removing silly subclasses
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

23 years agoFix minor bug, update comments
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

23 years agoChange Sources specifier to ExtraSources
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

23 years agoConvert optimizations to the pass infrastructure
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

23 years agoPass's return true if they make a modification, not if they fail
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

23 years agoConvert optimizations to use the Pass infrastructure
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

23 years ago* Passes return true if they change something, not if they fail
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

23 years agoPasses return true if they change something, not if they fail
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

23 years ago1. Move most of the constant-fixup code into machine-independent file
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

23 years agoReverse previous change.
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

23 years agoGenerate assembly code for testcodegen.
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

23 years agoAdded several cases where a constant must be forwarded into a use.
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

23 years agoSparc-specific code shared between local files.
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

23 years agoMoved implementation of class UltraSparcInstrInfo to SparcInstrInfo.cpp.
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

23 years agoAdded virtual function to generate an instruction sequence to
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

23 years agoMoved implementation of class UltraSparcInstrInfo here.
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

23 years ago1. Add a bottom-up pass on BURG trees that is used to fix constant operands.
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

23 years ago1. Add a bottom-up pass on BURG trees that is used to fix constant operands.
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

23 years agoSeparate VM instruction that generates the instructions that compute a value
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

23 years ago*** empty log message ***
Vikram S. Adve [Wed, 17 Oct 2001 23:53:16 +0000 (23:53 +0000)]
*** empty log message ***

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@857 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoRemove extra assert in dyn_cast_or_null.
Vikram S. Adve [Wed, 17 Oct 2001 22:39:50 +0000 (22:39 +0000)]
Remove extra assert in dyn_cast_or_null.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@856 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoDisable codgen test for calltest.ll.
Vikram S. Adve [Wed, 17 Oct 2001 20:14:34 +0000 (20:14 +0000)]
Disable codgen test for calltest.ll.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@855 91177308-0d34-0410-b5e6-96231b3b80d8

23 years agoOnly list automatically generated .cpp files.
Vikram S. Adve [Wed, 17 Oct 2001 12:34:26 +0000 (12:34 +0000)]
Only list automatically generated .cpp files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@854 91177308-0d34-0410-b5e6-96231b3b80d8