Commit Graph

13080 Commits

Author SHA1 Message Date
Reid Spencer f47c779690 bug 122:
remove redundant isa<GlobalValue>
ensure isa<GlobalValue> case is processed before is<Constant>

llvm-svn: 14926
2004-07-17 23:36:58 +00:00
Reid Spencer 6dd4c27c7c 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.

llvm-svn: 14925
2004-07-17 23:34:47 +00:00
Reid Spencer f820a23365 bug 122:
Remove redundancy in User::classof(Value*); GlobalValue isa Constant now.

llvm-svn: 14924
2004-07-17 23:32:11 +00:00
Reid Spencer 591fc1ebf5 Fix a comment.
llvm-svn: 14923
2004-07-17 23:30:45 +00:00
Reid Spencer fdc497d049 bug 122:
We don't need to keep track of CPRs any more.

llvm-svn: 14922
2004-07-17 23:30:11 +00:00
Reid Spencer 82b7ce69e1 bug 122:
Now that GlobalVariable is a constant (via derivation from GlobalValue),
override the replaceUsesOfWithOnConstant method.

llvm-svn: 14921
2004-07-17 23:29:46 +00:00
Reid Spencer 1a76c27988 bug 122:
- derive from Constant
- declare needed overrides from Constant class

llvm-svn: 14920
2004-07-17 23:28:28 +00:00
Reid Spencer c5098ac9d4 ****** ABOLISH ConstantPointerRef *****
llvm-svn: 14919
2004-07-17 23:26:57 +00:00
Reid Spencer 88cda9db1e Extend constructor so that it can support GlobalValue's (with names).
Make GlobalValue a "classof" Constant
Fix the classof(Value*) to include GlobalValue's

llvm-svn: 14918
2004-07-17 23:26:12 +00:00
Reid Spencer 9521143ab7 Constant value not needed after CPR's disappear.
llvm-svn: 14917
2004-07-17 23:23:30 +00:00
Chris Lattner e62af95bef It looks like physref->virtreg joining is working fine. Enable it by default
but make virtreg->virtreg joining stay off by default

llvm-svn: 14916
2004-07-17 21:51:25 +00:00
Chris Lattner c856e90d1d Make sure to emit the immediate byte for instructions like:
shrd [mem], reg, imm

This fixes the jit-ls failure on 186.crafty.

llvm-svn: 14914
2004-07-17 20:26:14 +00:00
Chris Lattner 8a4039ed9a Reserve the correct amt of space.
llvm-svn: 14913
2004-07-17 20:24:05 +00:00
Chris Lattner 96591356f7 Hrm, I think we need a "Reid is buggy" bug ;-)
llvm-svn: 14912
2004-07-17 18:50:19 +00:00
Misha Brukman e6f4a5ebb0 We don't really need to #include IPO.h into this file.
llvm-svn: 14911
2004-07-17 18:37:46 +00:00
Reid Spencer 0fce16f6b1 Initial (outline only) draft of the System Library requirements, design
and details documentation.

llvm-svn: 14910
2004-07-17 10:04:49 +00:00
Reid Spencer 6d4c03ebfd Added a README to point users to the documentation on the design of this
library which is a prerequisite for maintaining the library.

llvm-svn: 14909
2004-07-17 08:39:53 +00:00
Chris Lattner 3bbaaaa940 Fix incorrect computation of mod/ref sets. Do not ask for mod/ref information
for objects of size 0.

llvm-svn: 14908
2004-07-17 07:40:34 +00:00
Chris Lattner 2e8690bf57 Print modref information in a useful way.
llvm-svn: 14907
2004-07-17 06:43:20 +00:00
Chris Lattner eed1a6f3dc Cleanups: fold two loops into one
New features: -print-all-alias-modref-info option, print more info

llvm-svn: 14906
2004-07-17 06:28:49 +00:00
Chris Lattner 1dd789d775 link.h causes problems on some platforms and is not needed on solaris, where
the comment came from.

llvm-svn: 14905
2004-07-17 03:09:12 +00:00
Chris Lattner 2ed243b3a9 Remove dead file
llvm-svn: 14904
2004-07-17 02:56:48 +00:00
Chris Lattner 041e6c9fbe Add note about IA64 C++
llvm-svn: 14903
2004-07-17 02:04:41 +00:00
Brian Gaeke 9905a2eb63 Fix warning on 64-bit machines
llvm-svn: 14902
2004-07-16 21:40:32 +00:00
Misha Brukman b85c2522fa * 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

llvm-svn: 14901
2004-07-16 21:06:24 +00:00
Misha Brukman db032fb1f9 * Store all non-volatile int registers R13-31 on the stack, restore on exit
* Fix comment formatting

llvm-svn: 14900
2004-07-16 20:55:20 +00:00
Misha Brukman 780da8425f Fix code formatting
llvm-svn: 14899
2004-07-16 20:54:25 +00:00
Misha Brukman 3adf84ba0d Implement PowerPCInstrInfo::isMoveInstr(), patch by Nate Begeman
llvm-svn: 14898
2004-07-16 20:51:55 +00:00
Misha Brukman f0def96a36 Add prototype for TargetInstrInfo::isMoveInstr()
llvm-svn: 14897
2004-07-16 20:50:55 +00:00
Misha Brukman 9c2c293225 * Enable allocation of registers r2-r10
* Allocate registers 13-31 backwards (to be able to store them all at once)

llvm-svn: 14896
2004-07-16 20:35:20 +00:00
Misha Brukman 6ed15fd181 Add IMPLICIT_DEFS pseudo-instruction; patch by: Nate Begeman
llvm-svn: 14895
2004-07-16 20:33:41 +00:00
Misha Brukman 8c9938654a The generated instruction selector isn't (yet) functional
llvm-svn: 14894
2004-07-16 20:31:13 +00:00
Misha Brukman d4ac818593 * 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

llvm-svn: 14893
2004-07-16 20:29:04 +00:00
Misha Brukman 06773822b9 Correctly build shared objects on MacOS X for debugging code generators
llvm-svn: 14892
2004-07-16 19:45:45 +00:00
Misha Brukman a6b9a566b9 Define double alignment as 8 bytes now that assert(DoubleAlignment == PointerSize)
has been eliminated

llvm-svn: 14891
2004-07-16 19:32:12 +00:00
Misha Brukman d350b64352 * 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

llvm-svn: 14890
2004-07-16 19:01:13 +00:00
Misha Brukman 65728ddf45 Fix grammar.
llvm-svn: 14888
2004-07-16 17:40:28 +00:00
Alkis Evlogimenos 763d930d22 Add convinience constructor for function calls with two args.
llvm-svn: 14885
2004-07-16 12:04:28 +00:00
Brian Gaeke 135b870f72 Add a class for pseudo-instructions. Use it.
Add IMPLICIT_USE and IMPLICIT_DEF, a la X86.

llvm-svn: 14884
2004-07-16 10:32:10 +00:00
Brian Gaeke a57943154e Add what will eventually be the TSFlags. Big switch(opcode) statements are bad.
llvm-svn: 14883
2004-07-16 10:31:59 +00:00
Brian Gaeke f486726c56 Add special handling for pseudo-instructions (print them as comments).
llvm-svn: 14882
2004-07-16 10:31:47 +00:00
Brian Gaeke 97b71c9fa9 Add to-do list.
llvm-svn: 14881
2004-07-16 10:31:36 +00:00
Brian Gaeke 5ce1408537 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.

llvm-svn: 14880
2004-07-16 10:31:25 +00:00
Chris Lattner 2453818b8a The powerpc is now gone. However it is now just known as the Skeleton target.
llvm-svn: 14877
2004-07-16 07:14:34 +00:00
Chris Lattner f1b8afb3b4 Build skeleton target
llvm-svn: 14876
2004-07-16 07:12:46 +00:00
Chris Lattner a46d2a63c7 Build the skeleton target
llvm-svn: 14875
2004-07-16 07:11:53 +00:00
Chris Lattner ed85542ad7 Initial checkin of the rest of the skeleton target
llvm-svn: 14874
2004-07-16 07:11:15 +00:00
Chris Lattner 3d53a4752d Initial skeleton tablegen files
llvm-svn: 14873
2004-07-16 06:29:19 +00:00
Chris Lattner 42023220fa Add skeleton makefile
llvm-svn: 14872
2004-07-16 06:20:55 +00:00
Chris Lattner e8a034901d Initial readme
llvm-svn: 14871
2004-07-16 06:12:28 +00:00