1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
Commit Graph

729 Commits

Author SHA1 Message Date
Chris Lattner
a9747cdcb4 * Minor Formatting changes.
* MethodType now takes an explicit isVarArg arg instead of an implicit
  voidTy on the argument list

llvm-svn: 733
2001-10-13 06:12:30 +00:00
Chris Lattner
36b4a2152b * 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

llvm-svn: 732
2001-10-13 06:11:10 +00:00
Chris Lattner
f660e3dcbf Update todo's
llvm-svn: 731
2001-10-13 06:09:34 +00:00
Chris Lattner
2367bcef23 Each tools should not make tags
llvm-svn: 730
2001-10-13 05:10:29 +00:00
Ruchira Sasanka
bba7b347fb --corrected coalescing test: coalsed only if two are of the same reg class
llvm-svn: 729
2001-10-12 17:48:18 +00:00
Ruchira Sasanka
fb7ed55e35 added support for implict operands in machine instruction
llvm-svn: 728
2001-10-12 17:47:23 +00:00
Ruchira Sasanka
44e467ec90 --added support for implicit operands in machine instructions
llvm-svn: 727
2001-10-12 17:46:27 +00:00
Vikram S. Adve
8d89c1d8d6 Delete *.s on clean.
llvm-svn: 726
2001-10-11 04:24:10 +00:00
Vikram S. Adve
cc2f052087 Record implicitRefs for each machine instruction instead of
each VM instruction.

llvm-svn: 725
2001-10-11 04:23:19 +00:00
Vikram S. Adve
1fe4d4071c Add graph edges due to implicit refs in each machine instruction.
llvm-svn: 724
2001-10-11 04:22:45 +00:00
Vikram S. Adve
664effe5db Added a rule for building TAGS.
llvm-svn: 723
2001-10-10 22:35:00 +00:00
Vikram S. Adve
7449b96c4c Repeat some libs due to circular dependences between Sparc and other
code gen libraries.

llvm-svn: 722
2001-10-10 20:58:57 +00:00
Vikram S. Adve
623324dea9 Don't insert useful instructions in delay slot of a RETURN.
llvm-svn: 721
2001-10-10 20:58:11 +00:00
Vikram S. Adve
2f08c4c828 Insert code to load constants used as Call or Return arguments.
Also, note return value of a Call as an "implicitUse".

llvm-svn: 720
2001-10-10 20:56:33 +00:00
Vikram S. Adve
2c19cf9a69 Machine-independent code generation routines used in instruction
selection.  These used to live in several different places before.

llvm-svn: 719
2001-10-10 20:50:43 +00:00
Vikram S. Adve
392ad31850 Moved code generation support routines to InstrSelectionSupport.{h,cpp}.
llvm-svn: 718
2001-10-10 20:50:20 +00:00
Vikram S. Adve
34c44524a7 Moved code generation support routines to InstrSelectionSupport.cpp.
llvm-svn: 717
2001-10-10 20:49:07 +00:00
Vikram S. Adve
afd9787ce8 Moved first function to "simpleadd.ll".
llvm-svn: 716
2001-10-10 20:12:15 +00:00
Vikram S. Adve
cc952e1d5c testmemory and sumarray now work with instruction selection.
llvm-svn: 715
2001-10-10 20:10:48 +00:00
Ruchira Sasanka
b7ab4088e7 --removed %g regs being allocated - fix later
llvm-svn: 714
2001-10-09 23:36:13 +00:00
Chris Lattner
7a83259579 Add hack to get rid of malloc & free instructions for code generation
llvm-svn: 713
2001-10-04 01:40:53 +00:00
Chris Lattner
7a732d2a43 Add comment
llvm-svn: 712
2001-10-03 19:35:57 +00:00
Chris Lattner
4b2e88eac3 Support multiple global's definitions
llvm-svn: 711
2001-10-03 19:35:04 +00:00
Chris Lattner
ac7f7b4758 Factor parentness out of Module & GlobalVariable into GlobalValue
Implement SymbolTable debug/dump utility

llvm-svn: 710
2001-10-03 19:28:15 +00:00
Chris Lattner
ee349cd48b Rename getNullPointer to getNull
Allow sharing of null pointer constants

llvm-svn: 709
2001-10-03 15:39:36 +00:00
Chris Lattner
5eb7388b84 Rename getNullPointer to getNull
llvm-svn: 708
2001-10-03 15:39:24 +00:00
Chris Lattner
db52bbed27 Allow duplicate constant values as long as they are compatible.
Clean up stuff a little bit with inMethod/ModuleContext functions

llvm-svn: 707
2001-10-03 15:39:04 +00:00
Chris Lattner
5fa26313dd Share ConstPoolPointer elements correctly
llvm-svn: 706
2001-10-03 15:38:36 +00:00
Chris Lattner
5c929fedef Fix broken testcase
llvm-svn: 705
2001-10-03 14:59:11 +00:00
Chris Lattner
a6c7a3f199 Add check to make sure that we dont reference MEthodType's directly
llvm-svn: 704
2001-10-03 14:59:05 +00:00
Chris Lattner
a01eda3091 * 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

llvm-svn: 703
2001-10-03 14:53:21 +00:00
Chris Lattner
fee01c0591 Adjust test cases to match the fact that methods are now explicit pointer values, not explicit
llvm-svn: 702
2001-10-03 14:50:12 +00:00
Chris Lattner
af910dda17 First try at a horrible global value reference wrapper
llvm-svn: 701
2001-10-03 06:12:09 +00:00
Chris Lattner
510a74e27d 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.

llvm-svn: 700
2001-10-03 03:19:33 +00:00
Chris Lattner
77d303815e * 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

llvm-svn: 699
2001-10-03 01:49:25 +00:00
Chris Lattner
bdd805228a Modify testcases for new LLVM const syntax
llvm-svn: 698
2001-10-03 01:48:04 +00:00
Chris Lattner
08b1dde37e Commit more code over to new cast style
llvm-svn: 697
2001-10-02 03:41:24 +00:00
Chris Lattner
ad1b0a1a83 Convert more code to use new style casts
Eliminate old style casts from value.h

llvm-svn: 696
2001-10-01 20:11:19 +00:00
Chris Lattner
4c684cde80 Add more support for new style casts
Convert more code to use them

llvm-svn: 695
2001-10-01 18:26:53 +00:00
Chris Lattner
43781f1f96 Add support for new style casts
llvm-svn: 694
2001-10-01 16:18:37 +00:00
Chris Lattner
b59e92797b Add support for newer cleaner isa, cast, dyn_cast
llvm-svn: 693
2001-10-01 13:58:13 +00:00
Chris Lattner
bb7743d148 Update comments
llvm-svn: 692
2001-10-01 13:34:22 +00:00
Chris Lattner
345daca305 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.

llvm-svn: 691
2001-10-01 13:19:53 +00:00
Chris Lattner
e646911562 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.

Also pull Interval stuff into the Interval class out of the global namespace

llvm-svn: 690
2001-10-01 13:19:41 +00:00
Chris Lattner
dd4b6a1f5b Comment out a paragraph that refers to a file that no longer exists
llvm-svn: 689
2001-10-01 13:18:35 +00:00
Chris Lattner
716c1ac09e Fix emission of return instructions
llvm-svn: 688
2001-10-01 02:32:34 +00:00
Chris Lattner
0d1998546d Add path to as so it doesn't find llvm as if that path is set.
llvm-svn: 687
2001-10-01 00:50:36 +00:00
Chris Lattner
c82ad749e2 Exclude a couple of tests that the regalloc stuff doesn't handle yet
llvm-svn: 686
2001-10-01 00:40:49 +00:00
Vikram S. Adve
86af89c10d Add different "cast constant value" for several possible types.
Note these are actually generated by Phis with constant operands.

llvm-svn: 685
2001-10-01 00:23:12 +00:00
Vikram S. Adve
a491a05515 Add vector `implicitUses' to class MachineCodeForVMInstr to hold values
that are used by the VM instruction but not explicit operands of the
m/c instruction.

llvm-svn: 684
2001-10-01 00:18:12 +00:00