Reid Spencer
1c9c8e64d2
bug 122:
...
- Replace ConstantPointerRef usage with GlobalValue usage
- Minimize redundant isa<GlobalValue> usage
- Correct isa<Constant> for GlobalValue subclass
- Delete ConstantPointerRef member function implementations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14928 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 23:48:33 +00:00
Reid Spencer
7970396014
bug 122:
...
- Replace ConstantPointerRef usage with GlobalValue usage
- Minimize redundant isa<GlobalValue> usage
- Correct isa<Constant> for GlobalValue subclass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14927 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 23:47:01 +00:00
Reid Spencer
31c0da4483
bug 122:
...
remove redundant isa<GlobalValue>
ensure isa<GlobalValue> case is processed before is<Constant>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14926 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 23:36:58 +00:00
Reid Spencer
1488b34be5
bug 122:
...
- Add ValueListTy to TypeTy so that the bcreader can have its own User
category that won't get factored into any optimizations or cleanup.
- Correct an isa_impl to correctly include GlobalValue now that it isa
Constant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14925 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 23:34:47 +00:00
Reid Spencer
e3d19aac69
bug 122:
...
Remove redundancy in User::classof(Value*); GlobalValue isa Constant now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14924 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 23:32:11 +00:00
Reid Spencer
3e7bb400bf
Fix a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14923 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 23:30:45 +00:00
Reid Spencer
c6c981d643
bug 122:
...
We don't need to keep track of CPRs any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14922 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 23:30:11 +00:00
Reid Spencer
efd5dd80c9
bug 122:
...
Now that GlobalVariable is a constant (via derivation from GlobalValue),
override the replaceUsesOfWithOnConstant method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14921 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 23:29:46 +00:00
Reid Spencer
118c091fd7
bug 122:
...
- derive from Constant
- declare needed overrides from Constant class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14920 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 23:28:28 +00:00
Reid Spencer
355b0d88cb
****** ABOLISH ConstantPointerRef *****
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14919 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 23:26:57 +00:00
Reid Spencer
e2643aa9df
Extend constructor so that it can support GlobalValue's (with names).
...
Make GlobalValue a "classof" Constant
Fix the classof(Value*) to include GlobalValue's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14918 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 23:26:12 +00:00
Reid Spencer
d25e6cd128
Constant value not needed after CPR's disappear.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14917 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 23:23:30 +00:00
Chris Lattner
e1b9536d54
It looks like physref->virtreg joining is working fine. Enable it by default
...
but make virtreg->virtreg joining stay off by default
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14916 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 21:51:25 +00:00
Chris Lattner
42df461c90
Make sure to emit the immediate byte for instructions like:
...
shrd [mem], reg, imm
This fixes the jit-ls failure on 186.crafty.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14914 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 20:26:14 +00:00
Chris Lattner
3b5e6e5f84
Reserve the correct amt of space.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14913 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 20:24:05 +00:00
Chris Lattner
05540a75f5
Hrm, I think we need a "Reid is buggy" bug ;-)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14912 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 18:50:19 +00:00
Misha Brukman
a57b76fece
We don't really need to #include IPO.h into this file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14911 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 18:37:46 +00:00
Reid Spencer
4f6015a487
Initial (outline only) draft of the System Library requirements, design
...
and details documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14910 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 10:04:49 +00:00
Reid Spencer
8b67f54767
Added a README to point users to the documentation on the design of this
...
library which is a prerequisite for maintaining the library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14909 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 08:39:53 +00:00
Chris Lattner
cb19d67907
Fix incorrect computation of mod/ref sets. Do not ask for mod/ref information
...
for objects of size 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14908 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 07:40:34 +00:00
Chris Lattner
ad48cc71dc
Print modref information in a useful way.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14907 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 06:43:20 +00:00
Chris Lattner
0e872cb470
Cleanups: fold two loops into one
...
New features: -print-all-alias-modref-info option, print more info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14906 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 06:28:49 +00:00
Chris Lattner
bc10c3b6c3
link.h causes problems on some platforms and is not needed on solaris, where
...
the comment came from.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14905 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 03:09:12 +00:00
Chris Lattner
9e02cf8266
Remove dead file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14904 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 02:56:48 +00:00
Chris Lattner
7962f711d9
Add note about IA64 C++
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14903 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 02:04:41 +00:00
Brian Gaeke
66291f39be
Fix warning on 64-bit machines
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14902 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 21:40:32 +00:00
Misha Brukman
bebde759e5
* Use LI(S) to copy constants into registers intead of ADDI(S) as the latter is
...
a funky way to "use" R0 for a 0-valued operand
* Add IMPLICIT_DEFs for incoming function arguments via registers to help the
register allocator not clobber those registers
* Implement comparisons with longs
* Teach emitSelectOperation() to fold the SetCC operation
Patch contributed by Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14901 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 21:06:24 +00:00
Misha Brukman
af7f28cdac
* Store all non-volatile int registers R13-31 on the stack, restore on exit
...
* Fix comment formatting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14900 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 20:55:20 +00:00
Misha Brukman
be15f67af7
Fix code formatting
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14899 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 20:54:25 +00:00
Misha Brukman
01d46e9c55
Implement PowerPCInstrInfo::isMoveInstr(), patch by Nate Begeman
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14898 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 20:51:55 +00:00
Misha Brukman
6b4ea88e83
Add prototype for TargetInstrInfo::isMoveInstr()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14897 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 20:50:55 +00:00
Misha Brukman
86fd274790
* Enable allocation of registers r2-r10
...
* Allocate registers 13-31 backwards (to be able to store them all at once)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14896 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 20:35:20 +00:00
Misha Brukman
2bf5438931
Add IMPLICIT_DEFS pseudo-instruction; patch by: Nate Begeman
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14895 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 20:33:41 +00:00
Misha Brukman
039ba763d1
The generated instruction selector isn't (yet) functional
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14894 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 20:31:13 +00:00
Misha Brukman
da2b13f694
* Output non-lazy linking stubs for external global variables
...
* Get rid of dead and #if 0'd code
* Minor for loop speed-up: save end iterator instead of querying every time
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14893 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 20:29:04 +00:00
Misha Brukman
b3998ec5c5
Correctly build shared objects on MacOS X for debugging code generators
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14892 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 19:45:45 +00:00
Misha Brukman
6f14ad1ca0
Define double alignment as 8 bytes now that assert(DoubleAlignment == PointerSize)
...
has been eliminated
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14891 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 19:32:12 +00:00
Misha Brukman
29188c6ff6
* Add spaces between words and numbers in comments printed out for longs/floats
...
* Print out IMPLICIT_DEFS as comments in the assembly, patch by Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14890 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 19:01:13 +00:00
Misha Brukman
29baf29b01
Fix grammar.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14888 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 17:40:28 +00:00
Alkis Evlogimenos
8e9b219b67
Add convinience constructor for function calls with two args.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14885 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 12:04:28 +00:00
Brian Gaeke
7c4676f341
Add a class for pseudo-instructions. Use it.
...
Add IMPLICIT_USE and IMPLICIT_DEF, a la X86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14884 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 10:32:10 +00:00
Brian Gaeke
7d7ac63366
Add what will eventually be the TSFlags. Big switch(opcode) statements are bad.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14883 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 10:31:59 +00:00
Brian Gaeke
d303a2058c
Add special handling for pseudo-instructions (print them as comments).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14882 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 10:31:47 +00:00
Brian Gaeke
22b5cd8ac7
Add to-do list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14881 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 10:31:36 +00:00
Brian Gaeke
812c488f0a
Do IMPLICIT_DEFs on incoming args' hard regs, to avoid confusing the regalloc.
...
Support single-fp incoming args.
Support single-fp outgoing args ('call' operands).
Support double-fp return values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14880 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 10:31:25 +00:00
Chris Lattner
81d54465d9
The powerpc is now gone. However it is now just known as the Skeleton target.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14877 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 07:14:34 +00:00
Chris Lattner
84c34b72d9
Build skeleton target
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14876 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 07:12:46 +00:00
Chris Lattner
9404cce349
Build the skeleton target
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14875 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 07:11:53 +00:00
Chris Lattner
5ad021c8d4
Initial checkin of the rest of the skeleton target
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14874 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 07:11:15 +00:00
Chris Lattner
25c29d1e6c
Initial skeleton tablegen files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14873 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 06:29:19 +00:00