Commit Graph

477 Commits

Author SHA1 Message Date
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