Ruchira Sasanka
97b8b4410a
removed some debug messages
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@910 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 22:36:26 +00:00
Chris Lattner
f8f2afb8cc
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
2001-10-18 21:55:32 +00:00
Chris Lattner
b81a0bff04
Refix bugs, stop using deprecated strstream header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@898 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:06:03 +00:00
Chris Lattner
475becb7bc
Initial checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@897 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:05:37 +00:00
Vikram S. Adve
631b9a3523
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
2001-10-18 18:16:11 +00:00
Vikram S. Adve
bedb00d6dc
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
2001-10-18 13:49:22 +00:00
Chris Lattner
b2c823d2be
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
2001-10-18 06:11:23 +00:00
Chris Lattner
4457163bc4
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
2001-10-18 06:03:05 +00:00
Chris Lattner
8d9e3776d8
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
2001-10-18 05:28:08 +00:00
Chris Lattner
42c9c2cce4
Convert to new simpler pass itf
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@880 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 05:27:33 +00:00
Chris Lattner
e001059e0a
Change Sources specifier to ExtraSources
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@874 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 01:48:09 +00:00
Chris Lattner
5680ee6b28
Convert optimizations to the pass infrastructure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@873 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 01:32:34 +00:00
Vikram S. Adve
7fe27874be
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
2001-10-18 00:26:20 +00:00
Vikram S. Adve
fee93865d6
Sparc-specific code shared between local files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@864 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 00:03:20 +00:00
Vikram S. Adve
4df35a2ce3
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
2001-10-18 00:02:32 +00:00
Vikram S. Adve
5684c4e2b4
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
2001-10-18 00:02:06 +00:00
Vikram S. Adve
30764b8366
Moved implementation of class UltraSparcInstrInfo here.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@861 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 00:01:48 +00:00
Vikram S. Adve
6d35326cd5
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
2001-10-17 23:57:50 +00:00
Vikram S. Adve
f43e3366ef
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
2001-10-17 23:55:16 +00:00
Vikram S. Adve
85b46d6c6d
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@857 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-17 23:53:16 +00:00
Vikram S. Adve
c811c2ec0b
Only list automatically generated .cpp files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@854 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-17 12:34:26 +00:00
Chris Lattner
386a3b7b95
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@852 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-16 19:54:17 +00:00
Ruchira Sasanka
1b732fd0d6
changed debugg message printing - no change to useful code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@850 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-16 16:34:44 +00:00
Ruchira Sasanka
47c1372e09
No major change - commented some debug code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@849 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-16 01:33:55 +00:00
Ruchira Sasanka
92e251cc29
No major change - added some comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@848 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-16 01:25:05 +00:00
Ruchira Sasanka
c4d4b76efb
Added support for caller saving
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@847 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-16 01:23:19 +00:00
Chris Lattner
f927bb482e
Emit the proper .type declarations to tell the debugger what a function is
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@845 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 19:34:17 +00:00
Chris Lattner
c28f6d6258
Handle abnormal jmpl syntax correctly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@844 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 19:21:31 +00:00
Chris Lattner
7b851abd85
Implement ulong & long support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@843 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 19:18:26 +00:00
Chris Lattner
634b352fa6
Print Debug Code to stderr instead of stdout so that it doesn't mess up the assembly output
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@841 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 18:30:06 +00:00
Chris Lattner
1e23ed7c65
Output to cerr rather than cout so that debug info doesn't mess up assembly generation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@840 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 18:15:27 +00:00
Chris Lattner
1bffea0341
Add new Pass infrastructure and some examples
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@836 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 17:31:51 +00:00
Ruchira Sasanka
b8354a8e4f
--added support for implicit operands
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@832 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 16:58:50 +00:00
Ruchira Sasanka
a90e77061d
updated suggesting/coloring of call & return args & implicit operands.
...
Changed added instr to a deque (from a vector)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@831 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 16:26:38 +00:00
Ruchira Sasanka
cc3ccac238
updated suggesting/coloring of call & return args & implicit operands
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@830 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 16:25:28 +00:00
Ruchira Sasanka
21721b63c3
fixed a coalscing bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@828 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 16:22:44 +00:00
Chris Lattner
ec0a95f4e4
Be const correct
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@826 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 15:54:43 +00:00
Chris Lattner
39bb5b4ee9
Implement initializers for structs and pointers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@823 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 13:25:40 +00:00
Chris Lattner
c18545dc9e
Rename ConstPoolPointerReference to ConstPoolPointerRef - My fingers get tired typing that much
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@822 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 13:21:42 +00:00
Chris Lattner
f84b9bc33b
* getExitNode() doesn't exist in method anymore
...
* Make local functions static
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@820 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 13:07:21 +00:00
Vikram S. Adve
54287145e7
Added Instrumentation subdirectory.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@819 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 12:01:05 +00:00
Chris Lattner
2e42d3a306
Implement global variables. Struct and Pointer initializers are not implemented yet though
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@818 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 05:51:48 +00:00
Chris Lattner
8d2de8a82c
Implement linking of global variable constant references
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@817 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 03:12:52 +00:00
Chris Lattner
6bb46cdf27
Oops, didn't handle hex values correctly. :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@815 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 00:05:03 +00:00
Chris Lattner
c5bdb247e4
* Fix the constpoolarray -> c"" printing routines to escape things properly
...
* Fix slightly broken sharing problems
* Do not escape the literal string passed in
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@814 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:54:12 +00:00
Chris Lattner
5fdc4c91ae
Minor cleanup
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@812 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:29:30 +00:00
Chris Lattner
5c377c524a
Implement linker. It's 95% working now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@810 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:29:15 +00:00
Vikram S. Adve
c025fc1083
Forward operands into implicit uses as well as explicit ones.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@808 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:28:43 +00:00
Chris Lattner
b847f51bc8
External methods shouldn't have argument lists
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@807 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:28:41 +00:00
Vikram S. Adve
df1892fee2
Insert code to trace values at basic block and method exits.
...
Current version does not check for liveness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@800 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:18:45 +00:00
Vikram S. Adve
db2da49d76
Added routine to create a char array for a string.
...
Also, print char arrays as strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@799 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:17:20 +00:00
Vikram S. Adve
137b62ccc8
Two bug fixes that were suppressing some "load-constant-into-register" instrs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@795 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 18:10:33 +00:00
Chris Lattner
aa703203c3
Move the burg file to here. Add .in suffix to indicate that it gets
...
preprocessed before burg gets to it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@794 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 17:26:21 +00:00
Chris Lattner
0714e3bc44
Make the sparc.burg file be a little more flexible and rubust in the fact of
...
renumbering of instructions. It is still horribly broken and grossly dependant on the number of instructions, but now it is a least a little better.
Oh yeah it also works now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@793 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 17:25:31 +00:00
Chris Lattner
ce2a550d5e
Check in makefile
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@788 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 16:57:03 +00:00
Chris Lattner
5a2f8ba018
Compile the transforms directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@776 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 07:04:00 +00:00
Chris Lattner
52f7e908cb
Start of a linker
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@775 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 07:03:50 +00:00
Chris Lattner
49ad898e33
Implement the invoke instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@774 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 07:01:45 +00:00
Chris Lattner
56c5acbe96
* Fix a nefarious bugs: TypesEqual was wrong for varargs methods
...
* MethodType::get now takes a literal isVarArg method argument
* Use new style casts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@773 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 07:01:33 +00:00
Chris Lattner
762a2418a1
Convert a runtime check into an assertion
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@772 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:58:56 +00:00
Chris Lattner
dd6dfbc8cc
* Add support for Module specific constants
...
* Add proper support for ConstPoolPointerReference's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@771 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:58:40 +00:00
Chris Lattner
b1726accb2
Add new TerminatorInst ctor for invoke
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@770 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:57:47 +00:00
Chris Lattner
f5ec48d7b5
* Fix TODO
...
* Support ConstPoolPOinterReferences correctly
* New constPoolPointerNull subclass
* Add classof support for more classes
* Add proper support for ConstPoolPointerReference::getStrValue()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@769 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:57:33 +00:00
Chris Lattner
e369fcbe35
Fix broken #endif
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@768 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:54:54 +00:00
Chris Lattner
749655ff8e
* Add #include
...
* Fix #endif problems
* Change to getCalledValue instead of getCalledMethod
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@767 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:54:30 +00:00
Chris Lattner
d215fd1f56
Add StringList support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@766 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:53:19 +00:00
Chris Lattner
93d39d23b4
Support the invoke instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@765 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:52:41 +00:00
Chris Lattner
5a0d4179df
Support indirect calls
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@764 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:52:31 +00:00
Chris Lattner
01bad7fbda
not is a keyword in ansi C++, avoid it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@763 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:51:26 +00:00
Chris Lattner
80c685ff15
* Fix privacy issues on RegToRefVecMap
...
* Fix initialization order problems...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@762 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:51:01 +00:00
Chris Lattner
1b98c5c6c3
* Use new style casts more
...
* Add real support for global variable addresses initializing constants
* Fix encoding/decoding of VarArgs calls
* Support the Invoke instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@761 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:48:38 +00:00
Chris Lattner
05950c34a4
* Add real support for global variable addresses initializing constants
...
* Add minor optimization to BytecodeParser::refineAbstractType
* MethodType::get now take an explicit isVarArg parameter
* Fix encoding/decoding of VarArgs calls
* Support the Invoke instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@760 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:47:01 +00:00
Chris Lattner
e02fa8551d
* Support writing GlobalVariables with info comments by them
...
* Print out prototypes correctly in cases that we weren't before
* Use new style casts more
* Support printing new invoke instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@759 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:42:36 +00:00
Chris Lattner
2079fde081
* Add support for forward references of global variable addresses
...
* Add support for numeric global variable addresses
* Clean up getVal function by refactoring it into several smaller functions
* MethodTypes are now specified with an explicit isVarArg parameter
* Break ValueRef into ConstValueRef & SymbolicValueRef components
* Add support for the new Invoke instruction
* Fix a few broken calls to Type::getName instead of Type::getDescription
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@758 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:41:08 +00:00
Chris Lattner
8c9c586768
Add operator< to ValID's so that they can be put in map's
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@757 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:37:47 +00:00
Chris Lattner
b4d22f9952
Remove exception specification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@756 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:37:27 +00:00
Chris Lattner
5efbbc28f6
Support the new Invoke instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@755 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:37:14 +00:00
Chris Lattner
f1fef65157
Support pointers to globals happily
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@754 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:35:09 +00:00
Chris Lattner
8f486ddc76
Fix code to make GCC 2.96 happy
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@753 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:34:47 +00:00
Chris Lattner
9f9e2befd0
* Add support for Invoke instructions
...
* Add support for indirect calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@752 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:33:19 +00:00
Chris Lattner
0b693fb125
not is a keyword in Ansi C++. Avoid it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@748 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:30:39 +00:00
Ruchira Sasanka
d33238bb7b
--corrected coalescing test: coalsed only if two are of the same reg class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@729 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-12 17:48:18 +00:00
Ruchira Sasanka
c1daae895d
added support for implict operands in machine instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@728 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-12 17:47:23 +00:00
Ruchira Sasanka
598641b4ca
--added support for implicit operands in machine instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@727 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-12 17:46:27 +00:00
Vikram S. Adve
a995e6086d
Record implicitRefs for each machine instruction instead of
...
each VM instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@725 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-11 04:23:19 +00:00
Vikram S. Adve
8d0ffa553f
Add graph edges due to implicit refs in each machine instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@724 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-11 04:22:45 +00:00
Vikram S. Adve
6db77c55ff
Don't insert useful instructions in delay slot of a RETURN.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@721 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:58:11 +00:00
Vikram S. Adve
8557b226f3
Insert code to load constants used as Call or Return arguments.
...
Also, note return value of a Call as an "implicitUse".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@720 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:56:33 +00:00
Vikram S. Adve
a1d14f3555
Machine-independent code generation routines used in instruction
...
selection. These used to live in several different places before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@719 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:50:43 +00:00
Vikram S. Adve
9aba1d3307
Moved code generation support routines to InstrSelectionSupport.cpp.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@717 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:49:07 +00:00
Ruchira Sasanka
0e986d7d28
--removed %g regs being allocated - fix later
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@714 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-09 23:36:13 +00:00
Chris Lattner
43efcbf561
Add comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@712 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 19:35:57 +00:00
Chris Lattner
8921983734
Support multiple global's definitions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@711 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 19:35:04 +00:00
Chris Lattner
4387370c1c
Factor parentness out of Module & GlobalVariable into GlobalValue
...
Implement SymbolTable debug/dump utility
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@710 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 19:28:15 +00:00
Chris Lattner
6a57baa295
Rename getNullPointer to getNull
...
Allow sharing of null pointer constants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@709 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 15:39:36 +00:00
Chris Lattner
d535c2d163
Rename getNullPointer to getNull
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@708 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 15:39:24 +00:00
Chris Lattner
b747451c9c
Allow duplicate constant values as long as they are compatible.
...
Clean up stuff a little bit with inMethod/ModuleContext functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@707 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 15:39:04 +00:00
Chris Lattner
b973dd75ba
Add check to make sure that we dont reference MEthodType's directly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@704 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 14:59:05 +00:00
Chris Lattner
ef9c23f281
* Both Method & GlobalVariable now subclass GlobalValue
...
* ConstPoolPointerReference now represents a pointer to a GlobalValue
* Methods name references are now explicit pointers to methods
* Rename Value::GlobalVal to Value::GlobalVariableVal to avoid confusion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@703 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 14:53:21 +00:00
Chris Lattner
f4ba6c710c
First try at a horrible global value reference wrapper
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@701 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 06:12:09 +00:00
Chris Lattner
d05adbcdce
Clean up parser, fix a bug that prevented this from working:
...
%ListNode3 = global %list { %list* null, int 4 }
because %list is name and the parser expected a literal {..} type there.
In addition, simplified rules that the fix (Allow any Types there, not just a StructType)
made obsolete. Simplified type propogation a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@700 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 03:19:33 +00:00
Chris Lattner
df7306f1b9
* Add support for null as a constant
...
* Allow multiple definitions of a type with the same name as long as they are the same type
* Eagerly resolve types to allow #2 to work instead of after the whole const pool has been processed
* Change grammar to require a const before a local constant definition
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@699 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 01:49:25 +00:00
Chris Lattner
b00c582b6d
Commit more code over to new cast style
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@697 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-02 03:41:24 +00:00
Chris Lattner
1d87bcf490
Convert more code to use new style casts
...
Eliminate old style casts from value.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@696 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 20:11:19 +00:00
Chris Lattner
cfe26c930a
Add more support for new style casts
...
Convert more code to use them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@695 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 18:26:53 +00:00
Chris Lattner
9636a91649
Add support for new style casts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@694 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 16:18:37 +00:00
Chris Lattner
f0604b84c7
Pull predecessor and successor iterators out of the CFG*.h files, and plop them into
...
the BasicBlock class where they should be. pred_begin/pred_end become methods on BasicBlock,
and the cfg namespace isn't used anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@691 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 13:19:53 +00:00
Chris Lattner
39f501ca41
Fix emission of return instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@688 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 02:32:34 +00:00
Vikram S. Adve
4cecdd206e
Several fixes:
...
(1) Avoid hard-coding some register numbers.
(2) Fix some incorrect branch opcodes.
(3) Don't try to move int register to float register!
(4) If an operand being forwarded is a constant and it doesn't fit
into the immed field of the copy machine instruction, then
generate a load-constant instead of a copy.
(5) Use (unsigned long) 0 for copying a pointer via "add 0, ptr -> ptr2".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@683 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01 00:12:53 +00:00
Ruchira Sasanka
71939033de
removing phy regaloc - incorrect file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@682 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:52:14 +00:00
Vikram S. Adve
6e64ef4008
Change latency of setuw and setsw to 2 cycles.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@681 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:46:57 +00:00
Vikram S. Adve
64c2cedd66
Change ! ( ...== ...) to !=.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@680 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:45:08 +00:00
Vikram S. Adve
e949da5bb1
Improved dump for disp type operand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@679 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:44:19 +00:00
Vikram S. Adve
c5b4632c27
Bug fixes:
...
(1) Ensure that delay slot instructions are not moved out of place (this
was happening for some CALL instructions). Basically, we need to
move all delay slot instructions out of the graph and handle them
along with the delayed control transfer instruction.
(2) Mark scheduled instructions correctly when instructions are scheduled
in more than one cycle in a single step (due to delay slots).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@678 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:43:34 +00:00
Vikram S. Adve
4a87b38ba9
Minor changes for bug fixes in SchedGraph.cpp.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@677 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:37:26 +00:00
Vikram S. Adve
5316f8fa2f
Two bug fixes:
...
(1) Add edges for Values that are written by multiple m/c instructions
(2) Add edges for LLVM operands that are not machine operands (e.g., Call args)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@676 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:36:58 +00:00
Ruchira Sasanka
aca997cbd7
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@675 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:28:04 +00:00
Ruchira Sasanka
ab304c42c2
added suggesting color support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@673 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:19:57 +00:00
Ruchira Sasanka
91442282d8
added support for suggesting colors
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@671 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:16:47 +00:00
Ruchira Sasanka
a5ab9648a8
--added suggesting colors; call/ret arg handling
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@670 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 23:11:59 +00:00
Chris Lattner
1a1cb111fe
Implement constant pointers, and null specifically in the parser, bytecode writer, and
...
bytecode reader.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@668 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 22:46:54 +00:00
Chris Lattner
4cfb153316
Implement a constant pointer value
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@667 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-30 20:14:07 +00:00
Chris Lattner
41c2e5c434
File #include file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@665 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 22:56:43 +00:00
Chris Lattner
3ff4387113
Pull iterators out of CFG.h and CFGdecls and put them in Support directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@664 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 22:56:31 +00:00
Chris Lattner
c56d779501
* Properly escape function names
...
* Ignore %xcc argument on conditional branches
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@663 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 15:07:24 +00:00
Chris Lattner
5070c6a512
Check in bug fix for vadve
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@662 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 15:06:55 +00:00
Chris Lattner
41fbf305ee
Initial support for construction of a call graph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@660 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 00:08:15 +00:00
Chris Lattner
5efec28901
Make error report a little more useful
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@657 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 00:06:52 +00:00
Chris Lattner
8a396e57ab
ADCE is broken but at least we know why
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@656 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28 00:06:42 +00:00
Ruchira Sasanka
a5564c61e8
-- fixed a ret val bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@652 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 22:40:51 +00:00
Ruchira Sasanka
24fad613ba
-- removed debugging messages
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@651 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 22:39:58 +00:00
Ruchira Sasanka
23d95af632
-fixed return value bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@650 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 22:31:21 +00:00
Chris Lattner
045e7c8434
Change debug info from #define to command line option
...
Clean up extra debug info that wasn't guarded
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@647 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 16:26:23 +00:00
Chris Lattner
6edcad89e7
Change debug info from #define to command line option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@646 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 16:26:10 +00:00
Chris Lattner
4c3aaa4adb
* REMOVE extraneous debug info if DEBUG_RA is not set
...
* Spell PhyRegAlloc right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@645 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 16:09:04 +00:00
Chris Lattner
9a3d63bcbe
Seperate instruction definitions into new SparcInstr.def file
...
Move contents of SparcMachineInstrDesc[] out of SparcInternals.h
into Sparc.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@644 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 15:56:23 +00:00
Chris Lattner
c04bf0724a
Okay, make the member function work.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@643 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 14:09:25 +00:00
Chris Lattner
45f598806b
Remove global debug output fns that have been superceded by a member func
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@642 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 14:08:53 +00:00
Chris Lattner
8c770be801
Add EmitAssembly to mf
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@637 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 13:48:18 +00:00
Chris Lattner
e88f78cce3
First cut at assembly output
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@636 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 13:47:27 +00:00
Chris Lattner
32f600a8bf
Add emitAssemblyMethod to TargetMachine
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@635 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 13:47:12 +00:00
Ruchira Sasanka
80acc6cf43
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@634 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 22:57:47 +00:00
Ruchira Sasanka
89fb46b00b
-- ruchira
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@632 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 22:52:44 +00:00
Ruchira Sasanka
e727f8553d
-- updated printing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@631 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 22:43:57 +00:00
Chris Lattner
7e5450312d
Remove a copy of a bunch of code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@630 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 18:15:40 +00:00
Chris Lattner
bcbb6b3fac
Fix up code a bit, remove operator<< to Assembly/Writer.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@628 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 17:03:59 +00:00
Chris Lattner
767b78fb39
Remove extraneous #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@627 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 17:03:48 +00:00
Chris Lattner
921b5e1471
Don't check for null on delete
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@624 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 17:02:42 +00:00
Vikram S. Adve
e6cbbfeead
Renamed files to match the primary classes they provide.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@620 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:10:05 +00:00
Vikram S. Adve
f1adecc7c7
Renamed a header file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@619 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:04:53 +00:00
Vikram S. Adve
339084b908
Make class TargetMachine the common interface to all target-dependent
...
information, including instr, sched, and reg information.
This allows us to allocate them all in one place and use them much
more uniformly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@618 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:04:24 +00:00
Vikram S. Adve
243dd45820
Allow pointer constants as well as integer and booleans.
...
Skip over list nodes in ForwardOperand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@617 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:03:13 +00:00
Vikram S. Adve
0fb498017a
Make class TargetMachine the common interface to all target-dependent
...
information, including instr, sched, and reg information.
Rename files to match the primary classes they provide.
Commented out call to register allocation until more tests run correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@616 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:01:29 +00:00
Vikram S. Adve
0799fc479a
Renamed files to match the main classes they provide.
...
Some other minor changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@615 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:58:33 +00:00
Vikram S. Adve
137f7202c7
Cast unsigned to int! It was causing a nice little bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@614 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:57:39 +00:00
Vikram S. Adve
6e44718192
Minor changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@613 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:56:28 +00:00
Vikram S. Adve
4c31fb5fbb
Don't add instructions to subtree for Phi or Call.
...
Free tree nodes when done.
Avoid obscuring code with for_each and bind_obj :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@612 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:54:27 +00:00
Vikram S. Adve
fe30f1f664
Format file header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@611 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:52:03 +00:00
Vikram S. Adve
f0ba28045f
Add new entry/exit edges when removing delay slot nodes from the graph.
...
Renamed some header files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@610 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:51:38 +00:00
Vikram S. Adve
8b6d245693
Moved erase edge functions to class SchedGraph.
...
Add new dummy edges when deleting existing edges.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@609 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:50:40 +00:00
Vikram S. Adve
851d44c522
Renamed some header files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@608 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:49:39 +00:00
Vikram S. Adve
f0b6d7960c
Moved erase-edge functions from SchedGraphNode to SchedGraph.
...
Renamed some header files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@607 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:49:26 +00:00
Vikram S. Adve
5efa3ccbd1
Moved DebugValue to Value.cpp.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@606 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:48:16 +00:00
Vikram S. Adve
bb6a8c0849
Added debugging support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@605 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:44:41 +00:00
Vikram S. Adve
4bc86976bb
Minor fixes: renamed target machine files; fold sched info into TargetMachine.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@603 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 12:41:43 +00:00
Chris Lattner
7f5ef148b0
Remove the unsized array constraint
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@599 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 04:38:32 +00:00
Chris Lattner
d70684f758
Add support for global constants, and for initializers for constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@598 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 04:01:05 +00:00
Chris Lattner
1781acab34
Add support for global constants, and for initializers for constants
...
Clean up parser somewhat by factoring out freeing of ID's into setname function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@597 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 04:00:54 +00:00
Ruchira Sasanka
6b0a8b5b1a
modified machine code printing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@595 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 21:11:11 +00:00
Ruchira Sasanka
866f1385b4
modified printing of debug messages
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@593 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 19:11:31 +00:00
Ruchira Sasanka
6053b9337b
--added methods for printing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@592 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 19:08:41 +00:00
Ruchira Sasanka
ed8f674b9a
added setRegForValue to MachineOperand class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@591 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 19:07:45 +00:00
Ruchira Sasanka
0931a01f57
fixed printing messages
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@590 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 19:06:58 +00:00
Ruchira Sasanka
4d0d632927
-- debug messages dissabled
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@589 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 16:54:40 +00:00
Ruchira Sasanka
1bf6d645cd
--reg alloc code added
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@587 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 00:33:26 +00:00
Ruchira Sasanka
1f3b29fc72
-reg alloc code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@586 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 00:31:44 +00:00
Ruchira Sasanka
e38bd53361
added register allocation code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@585 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 00:30:44 +00:00
Chris Lattner
e4d71a1e18
Fix a bug with not removing method level types after compilation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@582 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 22:03:42 +00:00
Ruchira Sasanka
1506aef6d4
added RegAlloc Directory to DIRS
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@581 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 21:28:17 +00:00
Ruchira Sasanka
8e6047920d
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@580 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 21:18:34 +00:00
Ruchira Sasanka
94d86e9677
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@579 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 20:31:39 +00:00
Chris Lattner
7163447b9d
Add support for loading and storing pointers...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@575 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 20:00:02 +00:00
Chris Lattner
ffe335ace1
Fix a bug that caused a crash if a setcc had zero uses.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@574 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 18:29:28 +00:00
Chris Lattner
c0c77083ba
Add a forward decl, oops.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@573 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 17:55:51 +00:00
Chris Lattner
46cbff625e
Chris seems fond of #include <vector>. Fix these. Also convert use list in
...
Value to a vector instead of a list.
Move SchedGraph.h & SchedPriorities.h into lib/CodeGen/InstrScheduling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@572 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 16:56:32 +00:00
Chris Lattner
78a81a24e1
Add a comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@571 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 16:08:12 +00:00
Chris Lattner
c7634618ca
Break scheduling infrastructure out of TargetMachine.cpp into SchedInfo.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@569 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 15:43:58 +00:00
Chris Lattner
e5bc8b0653
Split Target/Machine.h into three files:
...
* Machine.h
* InstInfo.h
* SchedInfo.h
TODO: Split out reg info stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@567 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 06:08:03 +00:00
Chris Lattner
b26bcc5087
Make a new llvm/Target #include directory.
...
Move files from lib/CodeGen/TargetMachine to lib/Target
Move TargetData.h and TargetMachine.h to Target/{Data.h|Machine.h}
Prepare to split TargetMachine.h into several smaller files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@566 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 05:34:53 +00:00
Chris Lattner
f6e0e28135
Checkin changes to:
...
1. Clean up the TargetMachine structure. No more wierd pointers that have to
be cast around and taken care of by the target.
2. Instruction Scheduling now takes the schedinfo as an argument. The same
should be done with the instinfo, it just isn't now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@565 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 04:32:55 +00:00
Chris Lattner
c6495eeef6
Move files to new sparc directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@563 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:56:45 +00:00
Chris Lattner
f6374bfd69
Move the sparc target to a new lib/Target directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@562 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:55:11 +00:00
Chris Lattner
20b1ea0c98
Move files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@561 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:47:57 +00:00
Chris Lattner
1fddfd18ab
Move the contents of the CodeGen/TargetMachine/Sparc directory to Target/Sparc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@560 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:46:34 +00:00
Chris Lattner
0e6530ee1b
This checkin represents some cleanup of the backend, implementing the following things:
...
1. The TargetMachine structure is free to decide the process a particular target uses to generate code.
2. All of the gooee details of the sparc backend are now localized in the lib/CodeGen/TargetMAchine/Sparc directory. The Sparc.h file that is globally visible is just a stub.
3. The Sparc.h file that esxists now will dissapear entirely someday when we have multiple backends chosen by a factory of some sort.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@559 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:37:52 +00:00
Chris Lattner
0811f76860
This checkin represents some cleanup of the backend, implementing the following things:
...
1. The TargetMachine structure is free to decide the process a particular target uses to generate code.
2. All of the gooee details of the sparc backend are now localized in the lib/CodeGen/TargetMAchine/Sparc directory. The Sparc.h file that is globally visible is just a stub.
3. The Sparc.h file that esxists now will dissapear entirely someday when we have multiple backends chosen by a factory of some sort.
NOTE! The BBLiveVar.cpp file dependant on the Sparc backend, and is therefore not generic/portale to other backends. This needs to be fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@558 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:37:22 +00:00
Chris Lattner
d8dc93d0ac
Updates to use local header files.
...
Note that this reverted changes that Ruchira commited that broke the build and
are unmaintainable without other checkins.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@557 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:33:32 +00:00
Chris Lattner
5f6baf78ea
More cleanups, preparing to revamp InstrForest to, among other things,
...
not leak all its allocated memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@553 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-12 16:34:03 +00:00
Chris Lattner
4ddb4c82d7
* Clean up InstrForest
...
* Fix ins sel problem, test case:
void "foo" (int *%x, int *%y)
begin
seteq int *%x, %y
ret void
end
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@552 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-12 01:28:49 +00:00
Chris Lattner
d268ad6e2e
Eliminate 'BasicNode' from InstrForest.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@551 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-11 23:52:11 +00:00
Chris Lattner
c2a2396e17
Eliminate MainTreeNode function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@550 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-11 23:22:43 +00:00
Chris Lattner
974e73a086
Remove irrelevant gross K&R Cisms
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@549 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-11 23:13:38 +00:00
Chris Lattner
69f8ce051e
Handle subtract in expression classifier
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@548 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-11 04:27:34 +00:00
Chris Lattner
e93cdce4c9
Use the correct style casts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@546 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:12:04 +00:00
Chris Lattner
ca24d381e7
Use correct style casts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@545 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:11:44 +00:00
Chris Lattner
243f1f7315
Use correct style casts
...
Types are not all constant now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@544 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:11:28 +00:00
Chris Lattner
c4e09ec453
Use type checking predicates
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@543 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:10:26 +00:00
Chris Lattner
79a4aeb61c
Use correct casts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@542 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:10:02 +00:00
Chris Lattner
1a4f8ae3c8
Use predicate for Value type test
...
Use builtin casts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@541 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:09:50 +00:00
Chris Lattner
919758563d
Use predicate for Value type test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@540 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:09:28 +00:00
Chris Lattner
b64e774ce5
ModuleTyID doesn't exist anyymore
...
Use correct cast
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@539 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:09:08 +00:00
Chris Lattner
1767edd983
getMethodType is now just getType
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@538 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:08:52 +00:00
Chris Lattner
b0e4523624
Add support for printing globals
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@537 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:08:19 +00:00
Chris Lattner
b2d22f6dce
Update to use correct type cast
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@536 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:08:08 +00:00
Chris Lattner
fad0d4f1d4
Add support for global variables
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@535 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 20:07:57 +00:00
Chris Lattner
b221a76386
Fix a bug I introduced (assertion failed: Unknown operand type), and convert to predicate style for type checks
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@531 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 19:43:38 +00:00
Chris Lattner
70cc3397f8
Implement global variable support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@530 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 07:58:01 +00:00
Chris Lattner
7720c8e1a7
Add support for external methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@529 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 04:50:17 +00:00
Chris Lattner
365a76e46e
Genericize support for calling functions a bit
...
Add external method support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@528 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-10 04:49:44 +00:00
Chris Lattner
2a7eb23091
Remove the definitions of 3 global functions that don't belong in the core
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@526 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 23:02:07 +00:00
Chris Lattner
52bdd8aaa3
Implement the subset of the GetConstantValueAsSignedInt function that is needed, locally. Remove the two support functions to inline their contents.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@525 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 23:01:47 +00:00
Chris Lattner
990f2a5a1a
Implement the subset of the GetConstantValueAsSignedInt function that is needed, locally.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@524 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 23:01:32 +00:00
Chris Lattner
74c2b7633f
Rename contype to subtype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@522 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 22:26:58 +00:00
Chris Lattner
b8259dd93c
Make ADCE more robust, it still has problems, but it's getting closer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@521 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 22:26:47 +00:00
Chris Lattner
e6fdb11e1a
Fix problems with freeing memory twice
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@520 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 22:26:29 +00:00
Chris Lattner
167ed34a1f
Rename file to be consistent with header name
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@519 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 21:59:43 +00:00
Chris Lattner
82072d4743
Clean up Type class by removing mutable ConstRules member and use annotations insead
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@516 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 21:02:38 +00:00
Chris Lattner
14712a6abf
Clean up ConstRules stuff to use annotations instead of a mutable member in Type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@515 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 21:01:20 +00:00
Chris Lattner
78914e772f
Convert ConstRules to use annotations to clean it up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@514 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 21:00:23 +00:00
Vikram S. Adve
9856e0c56b
Handle cast float-to-float or cast double-to-double.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@512 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 20:35:34 +00:00
Chris Lattner
56786d268f
Fix build breakage. :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@511 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 19:52:23 +00:00
Chris Lattner
2e5309304a
I really don't like it when people break the build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@510 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09 19:41:52 +00:00
Ruchira Sasanka
7cd2ca13c1
Committed for compliation. Not yet final.
...
--Ruchira
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@505 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-08 14:22:50 +00:00
Ruchira Sasanka
c7136d2b09
--Ruchira
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@504 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-08 14:10:34 +00:00
Chris Lattner
c9744e7f26
Make use of the new TOOLNAME/USEDLIBS options provided in Makefile.common
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@501 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 22:59:25 +00:00
Chris Lattner
1fa0c09e9d
Updates to work with new lack of constant pool
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@490 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:22:57 +00:00
Chris Lattner
15dedbc585
Remove unneeded #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@489 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:22:28 +00:00
Chris Lattner
c83e954025
Remove unnecesary #include add dump calls pulled out of .h file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@488 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:21:03 +00:00
Chris Lattner
1ff63a1217
* Remove lots of #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@487 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:19:42 +00:00
Chris Lattner
1b40a1bacd
Add tags so emacs knows these are C++ files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@483 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:04:20 +00:00
Chris Lattner
a361ba2ca0
Moved functionality into the other constant pool stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@477 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 18:00:19 +00:00
Chris Lattner
822b4fb896
The header file for a translation unit should always be included first
...
System headers should be last
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@475 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 17:18:30 +00:00
Chris Lattner
feb6059343
A file should always include it's private header file *FIRST* see the
...
coding guidelines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@474 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 17:15:18 +00:00
Chris Lattner
454bd1f9a7
Annotations are now const
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@470 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:59:15 +00:00
Chris Lattner
bc7a95eb7a
Cleanup
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@467 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:57:29 +00:00
Chris Lattner
36bd82aa47
Support abstract types
...
Remove constant pool support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@466 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:57:07 +00:00
Chris Lattner
c038a2f953
Support a abstract, opaque, and recursive types
...
Remove lockty, remove fillerty
Make type lookup more efficient
Support shared generic factory code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@465 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:56:42 +00:00
Chris Lattner
2fd4413a7e
Types and constnats are wierd objects in the symtabs
...
Support abstract types in symtab
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@464 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:48:17 +00:00
Chris Lattner
9cb66f7e67
Modules must have a valid, nonnull type. Make them void
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@463 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:47:42 +00:00
Chris Lattner
7c43a0ace7
Support new setName interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@462 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:47:18 +00:00
Chris Lattner
e05bf2f49c
* Support new setname interface
...
* Add assertion for sanity checking
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@461 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:47:03 +00:00
Chris Lattner
531daef154
* Cnstants are now global objects
...
* ConstantPools no longer exist
* Constants are global objects in the LLVM system
* Constants are structurally equilivant if they are pointer equilivant
* Support abstract & opaque types
* Support setName on constants even though they don't track names
* Constnats don't get copy ctors anymore
* ConstPoolVal::equals is no longer useful [use ptr equivalency]
* Support generic factory classes to create and maintain constants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@460 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:46:31 +00:00
Chris Lattner
6892b126e3
Support new setName itf
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@459 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:44:17 +00:00
Chris Lattner
c0f483d4ef
Annotations are const objects now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@458 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:44:01 +00:00
Chris Lattner
13b1f0cb4b
Types and constants are wierd things in symbol tables now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@457 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:43:50 +00:00
Chris Lattner
b70d82fb39
* Eliminate reference to ConstantPool class
...
* Constants are global objects that are not allocated or freed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@456 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:43:22 +00:00
Chris Lattner
78721d5418
Constant pool is dead
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@455 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:42:51 +00:00
Chris Lattner
7365745546
Constants are now global unique objects
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@454 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:42:26 +00:00
Chris Lattner
2f11a9ded3
* Eliminate constant pool dependancies:
...
* Eliminate DoRemoveUnusedConstants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@453 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:42:08 +00:00
Chris Lattner
9b644cc627
* Supoprt global constants
...
* Remove support for local constant pools
* Eliminate constant pool merging method, which is no longer neccesary
* Disable invalid optimization (todo: fix it)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@452 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:41:30 +00:00
Chris Lattner
311611079b
* Support global constants
...
* Eliminate need for constant pool
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@451 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:40:34 +00:00
Chris Lattner
97b7311e9f
annotations are now const
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@450 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:40:04 +00:00
Chris Lattner
e8fdde179d
* Emit bytecode using a deque instead of a vector to be faster
...
* Internal rep no longer has a constant pool
* Support emission of recursive types
* Don't output a constant pool for an external method
* The bytecode writer is no longer a module analyzer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@449 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:39:41 +00:00
Chris Lattner
1d670cc402
* Remove support for internal constant pool
...
* Support globally unique constants
* Support recursive and forward referenced types
* Support abstract types
* Add new BCR_TRACE macro to enable debugging of why the bytecode reader
occasionally refuses to read something
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@448 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:37:43 +00:00
Chris Lattner
007377f381
* Assembly writer is not a module analyzer anymore
...
* There is no constant pool anymore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@447 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:36:04 +00:00
Chris Lattner
30c8979bcb
* Add support for forward referencing types
...
* Add support for upreferences for recursive types
* Remove support for ConstantPool.h
* Add support for globally unique Constants
* Add support for the opaque type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@446 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:35:17 +00:00
Chris Lattner
eb5ff8d517
Add support for forward referencing types
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@445 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:33:01 +00:00
Chris Lattner
e1fe875fc2
Add support for an opaque type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@444 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:32:43 +00:00
Chris Lattner
85b0bb175f
Remove #include of nonexistant header file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@443 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:32:10 +00:00
Chris Lattner
9a29790a6b
* Slot calc is now simpler and not based on module analyzer.
...
* Add new SC_DEBUG option to enable debugging of why stuff doesn't work
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@442 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:31:52 +00:00
Chris Lattner
5485bbe0f6
Module analyzer no longer has to iterate over constant pool
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@441 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:31:23 +00:00
Chris Lattner
8e195e02fe
Simplify code by eliminating need to hang onto constant pool references
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@440 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:31:04 +00:00
Chris Lattner
539a4bf4b5
You no longer have to delete constants! They are located in a global
...
constant pool instead of in local ones.
Change bool handling to prevent modification of bool values
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@436 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:29:18 +00:00
Chris Lattner
4c4007b3df
Simplify SlotCalculator. SlotCalculator is now not a ModuleAnalyzer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@432 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 16:27:05 +00:00
Ruchira Sasanka
f2a6477aee
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@412 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-31 20:59:58 +00:00
Vikram S. Adve
0e4fda3c1a
Added directory LiveVar/
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@410 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:29:31 +00:00
Vikram S. Adve
840f53ae8e
Added nonterminals for arithmetic operations where one operand is constant.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@406 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:25:46 +00:00
Vikram S. Adve
59e3b8220a
Makefile for InstrSched/
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@403 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:17:22 +00:00
Vikram S. Adve
3b4d062eb3
Remove source list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@402 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:16:59 +00:00
Vikram S. Adve
4c182bf16f
Added directory InstrSched.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@401 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:16:13 +00:00
Vikram S. Adve
d4228a5066
Major changes too hard to document :-)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@400 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:12:57 +00:00
Vikram S. Adve
24084be5f2
Extensive additions for supporting instruction scheduling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@398 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:10:41 +00:00
Vikram S. Adve
bf24233691
Added class MachineSchedInfo and several supporting classes
...
as a machine description for instruction scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@397 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:09:36 +00:00
Vikram S. Adve
0e1158f340
Implementation of instruction scheduling for LLVM.
...
Currently schedules one basic block at a time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@396 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:07:19 +00:00
Vikram S. Adve
37866b3437
Class that encapsulates priority heuristics for instruction scheduling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@395 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:06:49 +00:00
Vikram S. Adve
78ef1392f3
Scheduling DAG for instruction scheduling. Currently for a single basic block.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@394 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:06:02 +00:00
Vikram S. Adve
89df1ae2c3
Moved debug options declaration to header file, and moved
...
a function to MachineInstr.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@393 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:04:38 +00:00
Vikram S. Adve
5b79591450
Moved function PrintMachineInstructions here.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@392 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:02:39 +00:00
Vikram S. Adve
8b5f6cc0a4
analyze() now checks to see that we don't analyze the same method twice.
...
Needs a mechnanism to override this check (e.g., after a transformation).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@391 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 22:36:35 +00:00
Vikram S. Adve
402ace79fc
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@390 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 22:35:21 +00:00
Chris Lattner
9ff64a8c63
I suck
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@385 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 18:54:45 +00:00
Chris Lattner
e7fb36030b
Initial checkin of TargetData code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@384 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 16:00:15 +00:00
Chris Lattner
e37dbf843d
Remove target specific stuff from Type classes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@383 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:52:13 +00:00
Chris Lattner
b5d2f1db8c
Remove target specific method from MemAccessInst class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@382 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:51:43 +00:00
Chris Lattner
e3860e5be5
Convert to use the new factored out TargetData class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@381 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:51:16 +00:00
Chris Lattner
3a13c7e56f
Factor code out to the TargetData class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@380 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 15:50:41 +00:00
Chris Lattner
da8f004cdb
Support passing a data pointer to annotation factory methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@376 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 05:19:10 +00:00
Chris Lattner
be88fd03e6
Demolish explicit source list
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@375 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 05:18:35 +00:00
Chris Lattner
86660981e1
Lots of new functionality
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-27 05:16:50 +00:00
Chris Lattner
d6075728d2
Remove explicit source list
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-25 20:40:32 +00:00
Chris Lattner
1b5499bbb8
Make sure noone branches to the entry node of the method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-24 14:56:34 +00:00
Chris Lattner
8dc89a330c
Add annotation support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@366 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-23 17:07:56 +00:00
Chris Lattner
384e5b1595
Handle case where there is no exit node from a flowgraph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-23 17:07:19 +00:00
Chris Lattner
9407be443e
Changed an assertion message
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-23 17:06:38 +00:00
Chris Lattner
92101acd7f
Initial checkin of interpreter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@361 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-23 17:05:04 +00:00
Ruchira Sasanka
e27c344b56
LV code on machine instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-20 21:12:49 +00:00
Ruchira Sasanka
9166181257
LV info on machine instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-20 21:11:01 +00:00
Vikram S. Adve
149977b48a
Always set isDef for operand in position resultPos.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@357 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-13 16:32:45 +00:00
Ruchira Sasanka
b0cdcda42a
Changed SetMachineOpernad calls in Set3OperandsFromInstr so that the
...
result position is a def (i.e., added true to the end of call) -- Ruchira
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-13 16:26:28 +00:00
Ruchira Sasanka
81cb20775a
Changed case 64 to make the first arg of phi a defintion
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-13 16:24:01 +00:00
Ruchira Sasanka
0b03c6a492
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-07 21:01:23 +00:00
Ruchira Sasanka
45c171ee25
added a default isDef arg to SetMachineOperand method - Ruchira
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-07 20:16:52 +00:00
Vikram S. Adve
98a9c979e2
Add CC operand as 4th operand of SUBcc, and mark it as a def.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-06 21:06:10 +00:00
Vikram S. Adve
0fae90e3a2
Also, move burg rule to Makefile.common.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@346 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-06 19:06:56 +00:00
Vikram S. Adve
811aad97c1
Better still, lets move pathname for Burg to Makefile.common.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@344 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-06 19:01:45 +00:00
Vikram S. Adve
735c4ce808
Use full pathname for burg.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@342 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-06 18:53:26 +00:00
Vikram S. Adve
960066ad75
Simplify command line options, and add option for printing
...
machine instructions without debugging info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@340 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:53:25 +00:00
Vikram S. Adve
769939dbde
Added tree nodes for Phi instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@338 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:50:29 +00:00
Vikram S. Adve
e4e77f9efc
Generate tree nodes for Phi instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@337 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:49:53 +00:00
Vikram S. Adve
1885da4f49
Allow machine instructions with variable numbers of arguments.
...
This is used only by Phi for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:49:28 +00:00
Vikram S. Adve
74f4a130d2
Generate dummy Phi machine instruction, plus a bug fix for BrCond(boolreg).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@334 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-31 21:46:57 +00:00
Vikram S. Adve
76d3520f3e
Record machine instructions in the vector for each basic block.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-30 18:48:43 +00:00
Vikram S. Adve
b63933975f
Added vector of machine instructions for the basic block.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@330 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-30 18:47:24 +00:00
Chris Lattner
ca112b361e
Remove some gross stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:52:53 +00:00
Chris Lattner
3868521e22
Allow vararg method types with 0 fixed types
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:52:35 +00:00
Chris Lattner
36e4b8aec4
Make error msg nicer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@326 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:52:14 +00:00
Chris Lattner
ee7cb29866
Enable the elimination of method prototypes that are not referenced
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@325 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:51:49 +00:00
Chris Lattner
7c5014767f
* Make sure that the size of the type field can also control the output
...
instruction pattern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@324 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:51:21 +00:00
Chris Lattner
3d3f289eac
* Add calls to failure template so that it is actually possible to debug
...
why bytecode parsing is failing. Just put a breakpoint in the failure
templates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@323 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:50:18 +00:00
Chris Lattner
81e29632f7
* Fix bugs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@322 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:49:02 +00:00
Chris Lattner
93750fa4f8
* Enable the use of escaped literal strings
...
* Unresolved variable names now have the correct line number for their
error messages
* Rename Def* to Value*
* Check for symbol table collisions before inserting values
* Remove the STRING keyword
* Enable the use of string literals to initialize constant arrays
* Enable the use of extended constants in more locations: eg ret [int] [4, 5]
* Allow method prototypes to appear in the constant pool of the program
* Support varargs methods better. Enable varargs methods with 0 fixed
arguments
* Allow the entire method prototype to optionally be specified in a call inst
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 17:48:55 +00:00
Vikram S. Adve
3c3b713d55
Added UltraSparcInstrInfo class to specialize class MachineInstrInfo.
...
Relevant changes elsewhere:
Added MachineInstrInfo class and moved instruction-related members there.
Added several fields to MachineInstrDescriptor (and renamed it from
MachineInstrInfo. Latency fields are to support scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 04:19:10 +00:00
Vikram S. Adve
9b0b1ec1ec
Eliminate unused function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 04:15:45 +00:00
Vikram S. Adve
4f23166133
Bug fixes:
...
Store bool result in register after SetCC if the bool value
is used by anything other than a branch.
Forward-substitute operand of a VM instruction for which no
machine instruction is generated (e.g., Cast).
Other changes due to changes to classes TargetMachine and MachineInstr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 04:15:15 +00:00
Vikram S. Adve
44a853cc53
Added MachineInstrInfo class and moved instruction-related members there.
...
Added several fields to MachineInstrDescriptor (and renamed it from
MachineInstrInfo. Latency fields are to support scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 04:09:37 +00:00
Vikram S. Adve
6a175e01eb
Eliminate separate enum for operand register type.
...
Use union for alternative data for different operand types.
Add iterator over Value* operands in a MachineInstr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-28 04:06:37 +00:00
Chris Lattner
1333ed5b4f
Don't write out constants that do not have a name, they will be inlined.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-26 16:29:38 +00:00
Chris Lattner
bcbf6baf10
Refactor some of the constant stuff so that we can return complex constant
...
values directly. This was causing test failures. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-26 16:29:15 +00:00
Chris Lattner
9b50c1578d
Add an arg to insertVal to allow us to prevent builtin types from being ignored
...
when they are inserted.
Ignore constant values without names. If they are used, they will be inlined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-26 16:28:37 +00:00
Chris Lattner
a25809dda4
Add an arg to insertVal to allow us to prevent builtin types from being ignored
...
when they are inserted
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-26 16:28:18 +00:00
Chris Lattner
e5a57ee363
Add support for extern varargs methods & varargs method calls
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-25 22:47:55 +00:00
Chris Lattner
8b81bf5046
Add support for extern varargs methods & varargs method calls
...
Remove tool generated files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@296 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-25 22:47:46 +00:00
Chris Lattner
793d678316
Fix a bug when compiling 'shl ubyte * %var, ubyte 2'
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-25 22:47:32 +00:00
Chris Lattner
3805e4ccfa
Fixed a bug exposed when doing something like this: <program> -notanoption --help
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-25 18:40:49 +00:00
Ruchira Sasanka
b2d11bad7e
Changed printValue() to print constant value if the value is a constant.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-24 18:21:21 +00:00
Ruchira Sasanka
683847fb75
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-24 17:14:13 +00:00
Chris Lattner
2233a07b68
Doh! Wrong Optional flag. :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 23:14:23 +00:00
Chris Lattner
03fe1bd149
Add a comment indicating that there is documentation of the library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@289 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 23:04:07 +00:00
Chris Lattner
dc4693dbcf
Minor changes to implementation of CommandLine library to let users override
...
options forced by different subclasses of Option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 23:02:45 +00:00
Chris Lattner
1e78f36127
CommandLine library cleanup. No longer use getValue/setValue, instead, just treat the commandline
...
args as the objects they represent and the "right thing" will happen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 19:27:24 +00:00
Chris Lattner
b49ff5c5ee
Doh! Wrong accessor. Caused 'can not read bytecode' errors. :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 18:51:23 +00:00
Chris Lattner
4bc3daaa3f
Eliminated the Unique class in favor of NonCopyable and NonCopyableV
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 18:26:21 +00:00
Chris Lattner
57dbb3ad63
Moved inline/llvm/Tools/* to include/llvm/Support/*
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 17:46:59 +00:00
Chris Lattner
dbab15a2c9
Initial checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@278 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 17:17:47 +00:00
Chris Lattner
75279ccc75
Clean up hash table usage
...
Remove opaque pointer used for C compatibility which isn't an issue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 03:50:57 +00:00
Chris Lattner
6c5a32d545
Removal of the redundant CompileContext wrapper
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 03:09:03 +00:00
Chris Lattner
8f367bd3c0
Large scale changes to implement new command line argument facility
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 02:35:57 +00:00
Chris Lattner
a28504313d
Remove dependence on command line library. Silly anyway.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-22 18:36:00 +00:00
Chris Lattner
aceb9132b7
Privatize LLCOptions. It had no business being visible to the entire
...
program.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@267 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-22 04:40:02 +00:00
Chris Lattner
68498cefe6
Eliminate lots of unnecessary #includes and forward decls
...
there are probably more to kill
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@261 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 23:24:48 +00:00
Chris Lattner
942d99e4c8
Eliminate many unneccesary #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 22:59:56 +00:00
Chris Lattner
51a9ad93af
Make code fit in 80 columns more
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 22:57:05 +00:00
Chris Lattner
36765b0c3f
Remove unneccesary #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@258 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 22:53:35 +00:00
Chris Lattner
57738965f8
Exterminate nasty Cisms
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 22:42:09 +00:00
Chris Lattner
e23fb7c8ee
Refer to include/llvm/CodeGen not Codegen
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 22:32:34 +00:00
Chris Lattner
ea1c7b6f7d
Make sure we build all of the code!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 21:04:03 +00:00
Chris Lattner
7e583cfafe
Renamed include/llvm/Codegen to include/llvm/CodeGen
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 20:58:30 +00:00
Chris Lattner
f9be9a9bf1
Fix code to be in a consistent style
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 20:09:07 +00:00
Chris Lattner
cfad5df977
Remove getTempValuesForMachineCode from the Instruction interface
...
to remove dependency on <vector>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 20:04:10 +00:00
Chris Lattner
d9c03441b5
Moved LLC subdir to the tools top level directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@248 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 19:33:01 +00:00
Chris Lattner
d7fa0fdbd7
Add new ctor for ConstPoolBool
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 19:16:08 +00:00
Chris Lattner
1a2cefcb40
Add new constructor for const pool bool
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 19:15:26 +00:00
Chris Lattner
f59bd5331e
Add support for casts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 19:10:49 +00:00
Chris Lattner
7e314d2042
Add support for casting operators
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 19:10:33 +00:00
Chris Lattner
19f31f28d8
More functionality, renamed API
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 19:07:19 +00:00
Vikram S. Adve
8ee0064983
Utility routines for simpler access to the value of an integer constant.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:44:00 +00:00
Vikram S. Adve
6beedac106
Program options class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:43:07 +00:00
Vikram S. Adve
a21cf20411
Description of the SPARC as a target architecture.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:42:19 +00:00
Vikram S. Adve
daae69927f
Base clas for a description of a target architecture.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:42:08 +00:00
Vikram S. Adve
70bc4b5d1a
Instruction selection via pattern matching on instruction trees using BURG.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:41:50 +00:00
Vikram S. Adve
05f4745c01
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:41:01 +00:00
Vikram S. Adve
4e1aeca8c9
Added CodeGen, LLC, and Support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:40:37 +00:00
Vikram S. Adve
a4e6f88fbb
Add isIntegral() method to SignedIntType and UnsignedIntType.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:32:48 +00:00
Vikram S. Adve
d01d99b2a0
Compute and cache information about the storage size and layout
...
of structures. This information is machine-dependent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 21:09:17 +00:00
Vikram S. Adve
6575a1d134
Provide uniform access to the pointer operand and to the index
...
operands (if any) for different types of MemAccessInst's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 21:07:06 +00:00
Vikram S. Adve
3344615555
Added a representation of the machine instructions generated
...
for a VM instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 21:05:02 +00:00
Chris Lattner
369bbeb62c
Start of expression analysis support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 19:17:55 +00:00
Chris Lattner
37bf6308ab
Implement ensureTypeAvailable
...
Implement ConstPoolInt class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 19:16:02 +00:00
Chris Lattner
b5bcbc3bef
Add support for constant propogation of multiplies
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 19:15:36 +00:00
Chris Lattner
622f740a7d
Factor out WriteAsOperand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 19:15:21 +00:00
Chris Lattner
698b56e690
Add a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 19:15:08 +00:00
Chris Lattner
a137f87051
Add multiply as a supported constant propogation operation
...
Include the LevelChange.h header in AllOpts.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 19:14:41 +00:00
Chris Lattner
7f6330c743
Fix nasty typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-20 04:39:07 +00:00
Chris Lattner
bc7135f5c0
Support external methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 21:43:45 +00:00
Chris Lattner
739a56d26d
Implement forward/external declarations for methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 06:35:59 +00:00
Chris Lattner
e181564419
Implement forward/external declarations for methods. Also, emit an error if a method
...
is defined more than once, instead of crashing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 06:35:53 +00:00
Chris Lattner
a59c266d84
Add support for assembly printing fp constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 00:18:39 +00:00
Chris Lattner
ff5eccef96
Add support to the bytecode writer to recognize floating point constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 00:17:23 +00:00
Chris Lattner
a137530341
Add support to the bytecode reader to recognize floating point constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 00:17:18 +00:00
Chris Lattner
3d52b2fdcc
Add support to the parser to recognize floating point constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-15 00:17:01 +00:00
Chris Lattner
a3d3c2b645
* ValueHolder now takes 3 arguments
...
* Added a few methods to ConstantPool
* ConstPoolVal no longer derives from Value
* Method & Module multiply inherit from SymTabValue & Value now
* Added a GetElementPtrInst::isStructSelector() method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:13:19 +00:00
Chris Lattner
3b7bfdb201
Add knowledge about the struct form of the GetElementPtr instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:11:51 +00:00
Chris Lattner
20a155f5ab
Remove dependency on the structure of ValueHolder.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:11:26 +00:00
Chris Lattner
e545981a6a
* The parent of a constant pool is a symtabvalue, not a value.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:10:49 +00:00
Chris Lattner
54d56e3a99
The parent of a constant pool is a symtabvalue, not a value.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:10:33 +00:00
Chris Lattner
e98dda6d42
Added some comments, preparing to add global variables and method prototypes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:10:16 +00:00
Chris Lattner
644dc172f5
* The parent of a constant pool is a SymTabValue, not a value.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:08:51 +00:00
Chris Lattner
dc4c3f2f5f
Made the following changes:
...
* ValueHolder became a 3 argument template. This allows for BasicBlock to
use the value holder arg as a typesafe parent pointer.
* SymTabValue no longer inherits from Value
* Method does not inherit from only SymTabValue. Now it inherits from both
STV & Value.
* Module does not inherit from only SymTabValue. Now it inherits from both
STV & Value.
* Updated the SymTabValue.h file to reference SymTabValue instead of STDef
in several places
* Added isArraySelector & isStructSelector to GetElementPtr instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-14 06:07:58 +00:00
Chris Lattner
d8c2e42aef
Add DebugValue member.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-12 23:35:26 +00:00
Chris Lattner
c262f7298f
Don't clean out the type plane of the constant pool... this is a hack. FIXME
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-09 19:38:52 +00:00
Chris Lattner
8896eda9a9
Make sure that types go in the constant pool if they are used.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-09 19:38:36 +00:00
Chris Lattner
ab5ac6bb38
Implementation of Store & GetElementPtr
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 23:22:50 +00:00
Chris Lattner
0bd654a049
Implement checking for new instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 21:18:49 +00:00
Chris Lattner
027dcc5b22
Implemented shl, shl, & load instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 21:10:27 +00:00
Chris Lattner
71496b3b50
Moved Cast from being a Unary instruction to being an "Other" instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 19:03:27 +00:00
Chris Lattner
72f1e9929a
Use the CDG to mark branches alive on demand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 18:38:36 +00:00
Chris Lattner
3590830cef
Fixed post dominator frontiers! Yaay!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 05:54:09 +00:00
Chris Lattner
0908309e3c
Neg instruction removed. Cast instruction implemented.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08 04:57:15 +00:00
Chris Lattner
6bcc03143b
Removing unnecesary file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 20:54:19 +00:00
Chris Lattner
9f3d27654a
Convert BinaryOperand and UnaryOperator to only take instruction types of
...
the appropriate enum
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 20:17:23 +00:00
Chris Lattner
a41f50dea8
Broad superficial changes:
...
* Renamed getOpcode to getOpcodeName
* Changed getOpcodeName to return a const char * instead of string
* Added a getOpcode method to replace getInstType
* Changed code to use getOpcode instead of getInstType
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 19:24:15 +00:00
Chris Lattner
c8b25d40cb
Changed the fundemental architecture of Operands for Instructions. Now
...
Operands are maintained as a vector<Use> in the User class, and operator
iterators are provided as before. Getting an operand no longer requires
a virtual function call.
WARNING: getOperand(x) where x >= getNumOperands() will now assert instead
of returning null!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 08:36:50 +00:00
Chris Lattner
f0d0e9c262
Changed memory reference instructions to store the result as the implicit
...
type of the instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 08:36:30 +00:00
Chris Lattner
3fa0bc4408
Fixed some error messages to be nicer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-07 08:36:05 +00:00
Chris Lattner
63a0b2a9b4
Add method to unify all exit nodes of a method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-06 16:58:36 +00:00
Chris Lattner
94108ab8a3
Implement support for postdominators, except in dom frontiers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-06 16:58:22 +00:00
Chris Lattner
d818312d09
Update to include right file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-06 16:32:07 +00:00
Chris Lattner
e6850235f5
IntervalPartition was changed to inherit from vector<Interval*> instead of
...
contain it so that it would have full iterator access without much work.
Writer includes code to print out IntervalPartition's now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-03 15:28:35 +00:00
Chris Lattner
3d98049e38
Code got moved from the lib/Assembly/Writer/IntervalWriter.cpp file to
...
here. Updates to correct description n stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-03 05:36:34 +00:00
Chris Lattner
347bfdad7f
Add printing code for dominator info
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-02 05:46:47 +00:00
Chris Lattner
1715229db9
Checkin of new dominator calculation routines. These will be improved in
...
the future to do post dominators and stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-02 05:46:38 +00:00
Chris Lattner
bd4996ad68
Moved deleter to include/llvm/Tools/STLExtras.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-02 01:08:08 +00:00
Chris Lattner
02e90d59c8
Initial checkin. Should print dead instructions, except it doesn't do
...
control dependencies. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-30 06:39:11 +00:00
Chris Lattner
49c8f64747
Rename DoSparseConditionalConstantProp -> DoSCCP
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-30 06:37:43 +00:00
Chris Lattner
7e02b7e600
Optimizations got their own header files
...
Optimizations now live in the 'opt' namespace
include/llvm/Opt was renamed include/llvm/Optimizations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-30 04:36:40 +00:00
Chris Lattner
28bf86ac00
Implement reduceApply method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-30 04:35:40 +00:00
Chris Lattner
a7e26118a2
Add a new pop_back() method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-30 04:35:21 +00:00
Chris Lattner
50d0b7ec3f
Split AllOpts.h into lots of little .h files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-30 04:34:07 +00:00
Chris Lattner
2b05880476
Export ConstantFoldTerminator, allow it to fold conditional branches to
...
the same label.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-29 23:56:58 +00:00
Chris Lattner
cb056de508
Added documentation. Constant fold terminators.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-29 23:56:23 +00:00
Chris Lattner
7b8ec2d752
Add a check to avoid allowing V->replaceAllUsesWith(V)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-29 05:25:51 +00:00
Chris Lattner
b47af25099
Add implementation of BasicBlock::removePredecessor code that was factored
...
out of DCE.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-29 05:25:23 +00:00
Chris Lattner
25d17a5001
* Factored RemovePredecessorFromBlock into BasicBlock::removePredecessor
...
* Avoid messing around with this case:
br label %A
%A: br label %A
* Enable optimizations that are correct now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-29 05:24:28 +00:00
Chris Lattner
bca26a4c6b
We need to make sure to remove PHI nodes in the successor that cannot be
...
executed when removing branch dest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-29 05:23:10 +00:00
Chris Lattner
1be1d79a1d
Added a note about a new verification the verifier should do
...
Removed a redundant check
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-29 05:22:12 +00:00
Chris Lattner
7fc9fe3439
Miscellaneous cleanups:
...
* Convert post to pre-increment for for loops
* Use generic programming more
* Use new Value::cast* instructions
* Use new Module, Method, & BasicBlock forwarding methods
* Use new facilities in STLExtras.h
* Use new Instruction::isPHINode() method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-27 23:41:11 +00:00
Chris Lattner
138a124f09
Add a new Sparse Conditional Constant Propogation pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-27 23:38:11 +00:00
Chris Lattner
8a36b31e1a
Change to use the new GenericBinaryInst class. Support lots more operators.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-27 23:36:49 +00:00
Chris Lattner
3b34c59dcb
Misc cleanup
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-27 23:36:09 +00:00
Chris Lattner
531450d8a6
* Expose DoConstantPoolMerging
...
* Cleanups (post->pre increment, new cleaner API, etc)
* Moved stuff into ConstantHandling.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-27 23:35:26 +00:00
Chris Lattner
079df31921
Convert ugly postincrement to efficient preincrement
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-27 23:34:01 +00:00
Chris Lattner
6bb09d96a0
Add instructions to fold unary and binary instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-27 23:31:34 +00:00
Chris Lattner
17262f7784
Convert postincrements to more efficient preincrements
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-27 23:28:02 +00:00
Chris Lattner
20554f11d0
Moved UnaryOperator::create to InstrTypes.cpp until there is an iUnaryOps.cpp
...
Moved BinaryOperator::create to iBinaryOperators.cpp
Add getUniqueName to SymbolTable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-25 07:33:13 +00:00
Chris Lattner
d473a0acc4
Implement induction variable injection!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-25 07:32:19 +00:00
Chris Lattner
bebd60dc9d
Renamed get.*Operator to create seeing that it would have to be qualified
...
with the classname anyways.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-25 07:31:31 +00:00
Chris Lattner
3bcd6394ec
* Rename get.*Operator to create seeing that it would have to be qualified
...
with the classname anyways.
* Add an isPHINode() method to Instruction
* Add getUniqueName() to SymbolTable class
* Add an insert method to ValueHolder
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-25 07:31:05 +00:00
Chris Lattner
53b1c0161d
A silly stupid test of the loop depth calculator was added. REMOVE in the
...
future.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-25 03:55:37 +00:00
Chris Lattner
23e36625a2
IntervalPartition: recode to use IntervalIterator to do all the work
...
LoopDepth.cpp: new file that calculates the depth of a loop, using
IntervalPartitions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-25 03:55:04 +00:00
Chris Lattner
2d676c961e
New file due to the Intervals.h splitup
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-24 04:07:44 +00:00
Chris Lattner
c9f39b26c0
#include a different header due to Intervals.h splitting up
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-24 04:05:45 +00:00
Chris Lattner
107109c2cd
IntervalPartition & IntervalIterator classes have been split out into
...
their own .h files & .cpp file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-24 04:05:21 +00:00
Chris Lattner
a0eb461263
Prepare for split between Interval, IntervalIterator, and IntervalIPartition
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-24 03:25:01 +00:00
Chris Lattner
364b147a0f
Implement a lot more functionality. Now loop invariant and linear
...
induction variables are correctly identified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-22 02:24:38 +00:00
Chris Lattner
a4ef933a04
Interval::HeaderNode is now accessed thorugh an accessor function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-22 02:23:39 +00:00
Chris Lattner
28d480b316
Add a space to the PHI node output code to make it look nicer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-21 05:29:56 +00:00
Chris Lattner
da956802bd
Moved printing code to the Assembly/Writer library.
...
Code now detects looping intervals
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-21 05:27:22 +00:00
Chris Lattner
1c54f1da79
Implement the new Interval::isLoop method
...
Implement destructor to free memory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-21 05:26:15 +00:00
Chris Lattner
5ef7afb011
Get rid of a silly printout that isn't needed right now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-20 23:09:39 +00:00
Chris Lattner
568320595c
Add capability to print a derived interval graph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-20 22:44:38 +00:00
Chris Lattner
ed465bc265
Add capability to build a derived interval graph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-20 22:44:32 +00:00
Chris Lattner
2275c1d55d
Initial Checking of Interval handling code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-20 20:09:55 +00:00
Chris Lattner
d213f0f3a1
Add a test case for interval code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-20 19:27:11 +00:00
Chris Lattner
d36c91c9c6
Updates to work with new cfg namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-13 19:55:22 +00:00
Chris Lattner
ee976f3371
Updates to support
...
* Changes in PHI node structure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-11 15:04:40 +00:00
Chris Lattner
c24d2088dc
Updates to support
...
* Changes in PHI node structure
* Change to PHI syntax
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-11 15:04:20 +00:00
Chris Lattner
477c2ec3e0
Moved getBinaryOperator to the BinaryOperator class and the getUnaryOperator
...
to the UnaryOperator class (from the Instruction class).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-08 21:30:13 +00:00
Chris Lattner
dac6dda315
Updated to work with new CFG.h file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-07 21:18:45 +00:00
Chris Lattner
b0b0aa3849
Add extra method to PHI node class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-07 16:59:37 +00:00
Chris Lattner
f155e13092
Significant rework. DCE is still not done (see #ifdef'd out parts)
...
but at least the stuff that is checked in, now works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-07 16:59:26 +00:00
Chris Lattner
b9a4578df5
Fixed to print slightly differently. Added use counts for labels
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-07 16:58:55 +00:00
Chris Lattner
bbcfc51f3b
Fixes for BB iterators, additional methods added for DCE pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-07 16:58:36 +00:00
Chris Lattner
009505452b
Initial revision
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-06 20:29:01 +00:00