Commit Graph

996 Commits

Author SHA1 Message Date
Chris Lattner b9acf7e49e Bytecode writer is yanked out of Module printer
llvm-svn: 899
2001-10-18 20:06:31 +00:00
Chris Lattner e2c61267ad Refix bugs, stop using deprecated strstream header
llvm-svn: 898
2001-10-18 20:06:03 +00:00
Chris Lattner 4816d63844 Initial checkin
llvm-svn: 897
2001-10-18 20:05:37 +00:00
Chris Lattner eaf039a94b Initial Checkin
llvm-svn: 896
2001-10-18 20:05:30 +00:00
Chris Lattner 689dccca31 Pull bytecode writing out of Module writer pass. Prepare to move to seperate file
llvm-svn: 895
2001-10-18 20:05:07 +00:00
Chris Lattner c063e73879 Add operator[] accessors
llvm-svn: 894
2001-10-18 20:04:40 +00:00
Vikram S. Adve 71f16ecf13 Move malloc/free lowering after tracing until lli supports
calls to external malloc/free functions.

llvm-svn: 893
2001-10-18 18:20:20 +00:00
Vikram S. Adve a0db1c9a0e 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.

llvm-svn: 892
2001-10-18 18:16:11 +00:00
Vikram S. Adve 7c15313822 Add option to print per module instead of per method, so that
global declarations are also printed.

llvm-svn: 891
2001-10-18 18:13:49 +00:00
Chris Lattner 8c8b9d10c0 Only output code if file open is successful
llvm-svn: 890
2001-10-18 17:07:22 +00:00
Vikram S. Adve b2ac1e76b4 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.

llvm-svn: 889
2001-10-18 13:51:20 +00:00
Vikram S. Adve 7ac553aa12 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.

llvm-svn: 888
2001-10-18 13:49:22 +00:00
Vikram S. Adve fe2f987d5e Add option to print as bytecode instead of assembly.
llvm-svn: 887
2001-10-18 13:47:49 +00:00
Chris Lattner ed8947fb11 Use the standard header not the old one
llvm-svn: 886
2001-10-18 06:13:08 +00:00
Chris Lattner 5055730379 Dang, we were losing the Constant bit on globals. Fix this
llvm-svn: 885
2001-10-18 06:11:23 +00:00
Chris Lattner 6fc7ff4db8 Add support to insert trace code as an "optimization"
llvm-svn: 884
2001-10-18 06:05:15 +00:00
Chris Lattner 5309e10be1 Convert to be compatible with lli.
Need to eliminate duplicate \n entries

llvm-svn: 883
2001-10-18 06:03:05 +00:00
Chris Lattner d054fae5f1 Convert to new simpler, more powerful pass structure
llvm-svn: 882
2001-10-18 05:28:44 +00:00
Chris Lattner a0a8b5bc26 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)

llvm-svn: 881
2001-10-18 05:28:08 +00:00
Chris Lattner 6fea0324d7 Convert to new simpler pass itf
llvm-svn: 880
2001-10-18 05:27:33 +00:00
Chris Lattner fb742a58ee Convert to new simpler Pass structure
Componentize better

llvm-svn: 879
2001-10-18 05:22:27 +00:00
Chris Lattner b0b04facf0 Convert to new simpler Pass structure
llvm-svn: 878
2001-10-18 05:22:15 +00:00
Chris Lattner 92f1951e5b Convert to new simpler pass structure
llvm-svn: 877
2001-10-18 05:21:56 +00:00
Chris Lattner e3ad91c7ae Simplify Pass by removing silly subclasses
Fix an iterator problem

llvm-svn: 876
2001-10-18 05:20:53 +00:00
Chris Lattner 487374cffb Fix minor bug, update comments
llvm-svn: 875
2001-10-18 01:49:48 +00:00
Chris Lattner ee6e199f0e Change Sources specifier to ExtraSources
llvm-svn: 874
2001-10-18 01:48:09 +00:00
Chris Lattner 5398a6eb6c Convert optimizations to the pass infrastructure
llvm-svn: 873
2001-10-18 01:32:34 +00:00
Chris Lattner f71b827441 Pass's return true if they make a modification, not if they fail
llvm-svn: 872
2001-10-18 01:32:17 +00:00
Chris Lattner 8874d31d91 Convert optimizations to use the Pass infrastructure
llvm-svn: 871
2001-10-18 01:31:58 +00:00
Chris Lattner 5b6026a13a * Passes return true if they change something, not if they fail
* Convert opt to use Pass's and convert optimizations to pass structure

llvm-svn: 870
2001-10-18 01:31:43 +00:00
Chris Lattner 2fa0dabf9f Passes return true if they change something, not if they fail
llvm-svn: 869
2001-10-18 01:31:22 +00:00
Vikram S. Adve 6c697526bf 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).

llvm-svn: 868
2001-10-18 00:26:20 +00:00
Vikram S. Adve 595747054d Reverse previous change.
llvm-svn: 867
2001-10-18 00:23:32 +00:00
Vikram S. Adve aad04c97e8 Generate assembly code for testcodegen.
llvm-svn: 866
2001-10-18 00:22:14 +00:00
Vikram S. Adve 757a67d389 Added several cases where a constant must be forwarded into a use.
llvm-svn: 865
2001-10-18 00:22:02 +00:00
Vikram S. Adve cc776df39c Sparc-specific code shared between local files.
llvm-svn: 864
2001-10-18 00:03:20 +00:00
Vikram S. Adve 01e57a481e Moved implementation of class UltraSparcInstrInfo to SparcInstrInfo.cpp.
llvm-svn: 863
2001-10-18 00:02:32 +00:00
Vikram S. Adve 505130cb30 Added virtual function to generate an instruction sequence to
load a constant into a register.

llvm-svn: 862
2001-10-18 00:02:06 +00:00
Vikram S. Adve 4cc2b3b155 Moved implementation of class UltraSparcInstrInfo here.
llvm-svn: 861
2001-10-18 00:01:48 +00:00
Vikram S. Adve af854b59c2 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.

llvm-svn: 860
2001-10-17 23:59:09 +00:00
Vikram S. Adve 6d19dc9080 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.

llvm-svn: 859
2001-10-17 23:57:50 +00:00
Vikram S. Adve ad97e4ed84 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.

llvm-svn: 858
2001-10-17 23:55:16 +00:00
Vikram S. Adve 59cbb6498c *** empty log message ***
llvm-svn: 857
2001-10-17 23:53:16 +00:00
Vikram S. Adve 21db313d7d Remove extra assert in dyn_cast_or_null.
llvm-svn: 856
2001-10-17 22:39:50 +00:00
Vikram S. Adve 72c1d99922 Disable codgen test for calltest.ll.
llvm-svn: 855
2001-10-17 20:14:34 +00:00
Vikram S. Adve 6b4ba47f31 Only list automatically generated .cpp files.
llvm-svn: 854
2001-10-17 12:34:26 +00:00
Vikram S. Adve bd9cae260d Allow only extra Source files to be listed in a local Makefile.
Needed for automatically generated .cpp files.

llvm-svn: 853
2001-10-17 12:33:55 +00:00
Chris Lattner 322e49aa36 Simplify some code
Remove Method special case
Fix bug exposed by this testcase:

implementation

void "PtrFunc2"()
begin
bb1:
        %reg = add int(int)* null, null
        add int (int)* %reg, null
        ret void
end

llvm-svn: 852
2001-10-16 19:54:17 +00:00
Ruchira Sasanka f42b65d898 added initializing regNum to -1 in both constructors of MachineOperand
llvm-svn: 851
2001-10-16 16:36:34 +00:00
Ruchira Sasanka 7d23a2bee9 changed debugg message printing - no change to useful code
llvm-svn: 850
2001-10-16 16:34:44 +00:00