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
2f004fdf18
Fix filename in comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@751 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:32:42 +00:00
Chris Lattner
432b0a7e3d
Better linux support. This file still sucks
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@750 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:31:55 +00:00
Chris Lattner
6fed025318
Fix broken #endif
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@749 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:31:00 +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
Chris Lattner
da47526737
Clean up initializers for GCC 2.96
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@747 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:30:10 +00:00
Chris Lattner
0f0dc4e47c
Remove exception specification. Only slows code down.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@746 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:25:30 +00:00
Chris Lattner
c5a22ce2b9
Changes to compile with GCC 2.96
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@745 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:25:03 +00:00
Chris Lattner
a0d7f9dbb7
Add comment indicating semantics of indirect calls
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@744 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:24:35 +00:00
Chris Lattner
742b1461db
New ctor for invoke inst
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@743 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:24:10 +00:00
Chris Lattner
11a6d82447
Add support for indirect calls
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@742 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:23:14 +00:00
Chris Lattner
d97f802453
Add some casts to make GCC 2.96 happy.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@741 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:20:07 +00:00
Chris Lattner
004adcafec
Add use_back() methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@740 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:18:19 +00:00
Chris Lattner
26e129e64f
Add classof implementations for User
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@739 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:18:05 +00:00
Chris Lattner
067238d5d9
Expose typedefs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@738 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:17:50 +00:00
Chris Lattner
7502f635c6
Add support for module local constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@737 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:17:32 +00:00
Chris Lattner
72665af24d
Add new opcode for Invoke instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@736 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:15:20 +00:00
Chris Lattner
9686fd11c4
Minor changes, add new ctor for invoke instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@735 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:14:53 +00:00
Chris Lattner
16ddd02545
Add assertions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@734 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:12:38 +00:00
Chris Lattner
30bdaaa3fc
* Minor Formatting changes.
...
* MethodType now takes an explicit isVarArg arg instead of an implicit
voidTy on the argument list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@733 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:12:30 +00:00
Chris Lattner
5ef35fdb72
* Add destroyConstant stuff to handle module local constants
...
* Add classof implementations for more ConstPoolVal subclasses
* Pull null pointer implementation stuff out of ConstPoolPointer into
a subclass ConstPoolPointerNull
* Implement ConstPoolPointerReference correctly and completely
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@732 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:11:10 +00:00
Chris Lattner
5168b27e79
Update todo's
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@731 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 06:09:34 +00:00
Chris Lattner
669bd7c2c2
Each tools should not make tags
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@730 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 05:10:29 +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
c68059ebc1
Delete *.s on clean.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@726 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-11 04:24:10 +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
0193d5e58e
Added a rule for building TAGS.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@723 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 22:35:00 +00:00
Vikram S. Adve
7b70f3f086
Repeat some libs due to circular dependences between Sparc and other
...
code gen libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@722 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:58:57 +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
593da4acc5
Moved code generation support routines to InstrSelectionSupport.{h,cpp}.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@718 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:50:20 +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
Vikram S. Adve
25e288fd92
Moved first function to "simpleadd.ll".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@716 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:12:15 +00:00
Vikram S. Adve
5a28f062b9
testmemory and sumarray now work with instruction selection.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@715 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:10:48 +00:00