Chris Lattner
28e969d689
Okay, so this is a huge hack. Fixme later
...
llvm-svn: 1171
2001-11-07 05:31:53 +00:00
Chris Lattner
0758abd126
New class to provide high performance writing.
...
llvm-svn: 1167
2001-11-07 04:20:50 +00:00
Vikram S. Adve
59a13288a6
Make reg. numbers signed ints.
...
llvm-svn: 1137
2001-11-05 03:56:02 +00:00
Chris Lattner
33d9cb9903
Minor method rename
...
llvm-svn: 1119
2001-11-04 08:08:34 +00:00
Chris Lattner
34f8595c0b
Add a helper function to PHI node
...
llvm-svn: 1113
2001-11-03 21:08:00 +00:00
Chris Lattner
cf5befef63
Expose method to merge identically named methods
...
llvm-svn: 1109
2001-11-03 19:49:54 +00:00
Ruchira Sasanka
97b93aea81
Moved InsertCallerSaveInstr to the SparcRegInfo.cpp and made machine independent
...
llvm-svn: 1107
2001-11-03 17:14:13 +00:00
Chris Lattner
4f1ca018aa
Fix major bugs in type resolution
...
llvm-svn: 1092
2001-11-03 03:27:53 +00:00
Chris Lattner
c7724169bf
Fix the linker. This bug was not fun to track down. grr
...
llvm-svn: 1090
2001-11-03 03:26:47 +00:00
Chris Lattner
e80af939da
Print floating point numbers in expodential form so that small numbers don't get truncated, which broke the health benchmark
...
llvm-svn: 1086
2001-11-01 22:06:00 +00:00
Chris Lattner
63ac2b335a
Expose the low level DCE mechanism to external users
...
llvm-svn: 1082
2001-11-01 07:00:21 +00:00
Chris Lattner
977f0044fc
Implement constant propogation of null pointer values.
...
llvm-svn: 1078
2001-11-01 05:55:13 +00:00
Chris Lattner
3003edc9f1
Add simpler to use ctors. Add getType() overload to specialize getelementptr's type
...
llvm-svn: 1077
2001-11-01 05:54:28 +00:00
Chris Lattner
3e8ef98515
Add new isNullValue method
...
llvm-svn: 1076
2001-11-01 05:53:56 +00:00
Chris Lattner
8ac538db47
Initial checkin of level raising code
...
llvm-svn: 1073
2001-11-01 02:41:52 +00:00
Chris Lattner
d307537327
Move level change xfor into the transforms directory
...
llvm-svn: 1070
2001-11-01 02:39:49 +00:00
Chris Lattner
d67f2a4493
Add some useful accessors
...
llvm-svn: 1069
2001-11-01 02:39:36 +00:00
Chris Lattner
20726ed31b
Implement code to convert %malloc and %free FUNCTION CALLS into the instruction equivalent
...
llvm-svn: 1065
2001-10-31 06:35:59 +00:00
Chris Lattner
9db8b765cd
Implemented constant propogation of cast instructions
...
llvm-svn: 1064
2001-10-31 05:07:57 +00:00
Chris Lattner
b3f4d1bc73
New GCC cleanup pass interface
...
llvm-svn: 1061
2001-10-31 04:32:53 +00:00
Chris Lattner
92fcd608cf
Fix ordering problem. Found by purify. :)
...
llvm-svn: 1042
2001-10-30 16:38:49 +00:00
Chris Lattner
790409a07a
Expose some more printing functionality from the assembly writer library
...
llvm-svn: 1030
2001-10-29 16:36:49 +00:00
Chris Lattner
e10ec076e9
Systems headers use <> not ""
...
llvm-svn: 1023
2001-10-29 13:29:50 +00:00
Chris Lattner
3bb79584d5
Include functionality to get a string array constant as a string
...
llvm-svn: 1020
2001-10-29 13:24:31 +00:00
Chris Lattner
0936089b67
Remove useCSyntax flag
...
llvm-svn: 1019
2001-10-29 13:22:49 +00:00
Chris Lattner
84085ac517
Initial checkin of name mangling code. Moved from Linker.h
...
llvm-svn: 1017
2001-10-28 23:31:10 +00:00
Chris Lattner
328c9afafe
Remove unneccesary function prototypes
...
llvm-svn: 1014
2001-10-28 22:40:59 +00:00
Vikram S. Adve
8716cdfb52
Added a constant pool to record values that need to be emitted
...
in the assembly code.
llvm-svn: 999
2001-10-28 21:24:50 +00:00
Vikram S. Adve
e3b575497d
Add support for name mangling.
...
llvm-svn: 998
2001-10-28 21:23:44 +00:00
Vikram S. Adve
42ea891fb8
Switch useLLVMSyntax to useCSyntax.
...
llvm-svn: 997
2001-10-28 21:21:25 +00:00
Vikram S. Adve
e6298e3574
Support printing control characters in standard C/assembly style.
...
llvm-svn: 995
2001-10-28 21:06:48 +00:00
Ruchira Sasanka
9c38dbc249
Added support for spilling
...
llvm-svn: 992
2001-10-28 18:15:12 +00:00
Ruchira Sasanka
cf28a7c7d3
Moved callerSaving code to machine specific classes since we have to handle
...
%ccr reg differently.
llvm-svn: 991
2001-10-28 18:14:15 +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
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
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
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
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
Ruchira Sasanka
24729a34ce
Added support for both call/jmpl instructions
...
llvm-svn: 930
2001-10-21 16:43:41 +00:00
Ruchira Sasanka
1437395c9f
Added code to Initialize (MachineOperand) to initialize regNum to -1 -- Ruchira
...
llvm-svn: 919
2001-10-19 18:17:49 +00:00
Chris Lattner
4ee7648815
Refactor code into Assembly & bytecode libraries
...
llvm-svn: 903
2001-10-18 20:31:54 +00:00
Chris Lattner
9e06a47525
initial checkin
...
llvm-svn: 902
2001-10-18 20:31:42 +00:00
Chris Lattner
2b4a64a31b
move llvm/Transforms/Pass.h to the top level llvm/Pass.h file
...
llvm-svn: 901
2001-10-18 20:19:09 +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
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
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
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
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
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
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
21db313d7d
Remove extra assert in dyn_cast_or_null.
...
llvm-svn: 856
2001-10-17 22:39:50 +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
5b8971f418
Added support for caller saving
...
llvm-svn: 847
2001-10-16 01:23:19 +00:00
Chris Lattner
24872c8838
Print Debug Code to stderr instead of stdout so that it doesn't mess up the assembly output
...
llvm-svn: 841
2001-10-15 18:30:06 +00:00
Chris Lattner
8761d50df7
ConcretePass should not be a templated class!
...
llvm-svn: 838
2001-10-15 17:47:13 +00:00
Chris Lattner
1bb5f8e4ee
Add new Pass infrastructure and some examples
...
llvm-svn: 836
2001-10-15 17:31:51 +00:00
Chris Lattner
6991ab1e5e
Convert to use Pass infrastructure
...
llvm-svn: 834
2001-10-15 17:30:18 +00:00
Chris Lattner
578e83df34
File moved to: llvm/Transforms/HoistPHIConstants.h
...
llvm-svn: 833
2001-10-15 17:30:06 +00:00
Ruchira Sasanka
48972e033b
--changed Sugesting colors for method calls/return values etc.
...
llvm-svn: 829
2001-10-15 16:23:48 +00:00
Ruchira Sasanka
33535773cb
fixed a coalscing bug
...
llvm-svn: 828
2001-10-15 16:22:44 +00:00
Chris Lattner
02b671388e
Be const correct
...
llvm-svn: 826
2001-10-15 15:54:43 +00:00
Chris Lattner
f6cb8e759a
Add cast_or_null & dyn_cast_or_null
...
llvm-svn: 824
2001-10-15 13:41:37 +00:00
Chris Lattner
162ed4d6cc
Rename ConstPoolPointerReference to ConstPoolPointerRef - My fingers get tired typing that much
...
llvm-svn: 822
2001-10-15 13:21:42 +00:00
Chris Lattner
acff533281
Improve error messages on assertion failure.
...
llvm-svn: 821
2001-10-15 13:13:32 +00:00
Chris Lattner
0e09b977ca
*** empty log message ***
...
llvm-svn: 813
2001-10-14 23:34:12 +00:00
Chris Lattner
79ccfb1e07
Update comment, remove misleading method
...
llvm-svn: 806
2001-10-14 23:26:24 +00:00
Chris Lattner
004b85f9c0
Initializers are not const even if the GV is.
...
llvm-svn: 805
2001-10-14 23:24:46 +00:00
Vikram S. Adve
6e4d106c21
Cast NULL when requested.
...
llvm-svn: 803
2001-10-14 23:21:06 +00:00
Vikram S. Adve
de04672797
Added getEntryNode() and getExitNode() functions.
...
The latter are actually bogus and will be fixed by me soon.
llvm-svn: 802
2001-10-14 23:20:44 +00:00
Vikram S. Adve
27ee020e1b
Insert code to trace values at basic block and method exits.
...
llvm-svn: 801
2001-10-14 23:19:02 +00:00
Vikram S. Adve
227ea168bd
Added routine to create a char array for a string.
...
llvm-svn: 798
2001-10-14 23:16:27 +00:00
Chris Lattner
9853942d66
Use the instruction.def file to remain up to date with future instruction
...
changes
llvm-svn: 792
2001-10-14 17:24:50 +00:00
Chris Lattner
00987bb11a
New file to define instructions...
...
llvm-svn: 791
2001-10-14 17:24:33 +00:00
Chris Lattner
8015f958c6
New module linking functionality prototype
...
llvm-svn: 789
2001-10-13 16:57:49 +00:00
Chris Lattner
9b69cae4d9
Dang, I screwed up the merge. This should be better
...
llvm-svn: 785
2001-10-13 07:18:40 +00:00
Chris Lattner
ea85fe365e
Fix filename in comment
...
llvm-svn: 751
2001-10-13 06:32:42 +00:00
Chris Lattner
766662b331
Better linux support. This file still sucks
...
llvm-svn: 750
2001-10-13 06:31:55 +00:00
Chris Lattner
9c4de2a7a2
Fix broken #endif
...
llvm-svn: 749
2001-10-13 06:31:00 +00:00
Chris Lattner
b18fe4e577
not is a keyword in Ansi C++. Avoid it
...
llvm-svn: 748
2001-10-13 06:30:39 +00:00
Chris Lattner
1c36d74dec
Clean up initializers for GCC 2.96
...
llvm-svn: 747
2001-10-13 06:30:10 +00:00
Chris Lattner
2e676d6160
Remove exception specification. Only slows code down.
...
llvm-svn: 746
2001-10-13 06:25:30 +00:00
Chris Lattner
93f8297775
Changes to compile with GCC 2.96
...
llvm-svn: 745
2001-10-13 06:25:03 +00:00
Chris Lattner
92d335cbfe
Add comment indicating semantics of indirect calls
...
llvm-svn: 744
2001-10-13 06:24:35 +00:00
Chris Lattner
826eff1c35
New ctor for invoke inst
...
llvm-svn: 743
2001-10-13 06:24:10 +00:00
Chris Lattner
6a69c69cbf
Add support for indirect calls
...
llvm-svn: 742
2001-10-13 06:23:14 +00:00
Chris Lattner
602c3c6533
Add some casts to make GCC 2.96 happy.
...
llvm-svn: 741
2001-10-13 06:20:07 +00:00
Chris Lattner
107c57093e
Add use_back() methods
...
llvm-svn: 740
2001-10-13 06:18:19 +00:00
Chris Lattner
347dad3c70
Add classof implementations for User
...
llvm-svn: 739
2001-10-13 06:18:05 +00:00
Chris Lattner
bd71b7f4ec
Expose typedefs
...
llvm-svn: 738
2001-10-13 06:17:50 +00:00
Chris Lattner
bdc7ff5416
Add support for module local constants
...
llvm-svn: 737
2001-10-13 06:17:32 +00:00