Commit Graph

37649 Commits

Author SHA1 Message Date
Chris Lattner 8cbbbef674 * Add support for Invoke instructions
* Add support for indirect calls

llvm-svn: 752
2001-10-13 06:33:19 +00:00
Chris Lattner ea85fe365e Fix filename in comment
llvm-svn: 751
2001-10-13 06:32:42 +00:00
Chris Lattner 766662b331 Better linux support. This file still sucks
llvm-svn: 750
2001-10-13 06:31:55 +00:00
Chris Lattner 9c4de2a7a2 Fix broken #endif
llvm-svn: 749
2001-10-13 06:31:00 +00:00
Chris Lattner b18fe4e577 not is a keyword in Ansi C++. Avoid it
llvm-svn: 748
2001-10-13 06:30:39 +00:00
Chris Lattner 1c36d74dec Clean up initializers for GCC 2.96
llvm-svn: 747
2001-10-13 06:30:10 +00:00
Chris Lattner 2e676d6160 Remove exception specification. Only slows code down.
llvm-svn: 746
2001-10-13 06:25:30 +00:00
Chris Lattner 93f8297775 Changes to compile with GCC 2.96
llvm-svn: 745
2001-10-13 06:25:03 +00:00
Chris Lattner 92d335cbfe Add comment indicating semantics of indirect calls
llvm-svn: 744
2001-10-13 06:24:35 +00:00
Chris Lattner 826eff1c35 New ctor for invoke inst
llvm-svn: 743
2001-10-13 06:24:10 +00:00
Chris Lattner 6a69c69cbf Add support for indirect calls
llvm-svn: 742
2001-10-13 06:23:14 +00:00
Chris Lattner 602c3c6533 Add some casts to make GCC 2.96 happy.
llvm-svn: 741
2001-10-13 06:20:07 +00:00
Chris Lattner 107c57093e Add use_back() methods
llvm-svn: 740
2001-10-13 06:18:19 +00:00
Chris Lattner 347dad3c70 Add classof implementations for User
llvm-svn: 739
2001-10-13 06:18:05 +00:00
Chris Lattner bd71b7f4ec Expose typedefs
llvm-svn: 738
2001-10-13 06:17:50 +00:00
Chris Lattner bdc7ff5416 Add support for module local constants
llvm-svn: 737
2001-10-13 06:17:32 +00:00
Chris Lattner 56ee34b782 Add new opcode for Invoke instruction
llvm-svn: 736
2001-10-13 06:15:20 +00:00
Chris Lattner 51499227a3 Minor changes, add new ctor for invoke instruction
llvm-svn: 735
2001-10-13 06:14:53 +00:00
Chris Lattner c6b801adbc Add assertions
llvm-svn: 734
2001-10-13 06:12:38 +00:00
Chris Lattner 48e6a052c7 * 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 b7420043d6 * 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 0b6c38d98f Update todo's
llvm-svn: 731
2001-10-13 06:09:34 +00:00
Chris Lattner 1fd501fff5 Each tools should not make tags
llvm-svn: 730
2001-10-13 05:10:29 +00:00
Ruchira Sasanka 7c10e086eb --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 04009efe48 added support for implict operands in machine instruction
llvm-svn: 728
2001-10-12 17:47:23 +00:00
Ruchira Sasanka 85cc5744ba --added support for implicit operands in machine instructions
llvm-svn: 727
2001-10-12 17:46:27 +00:00
Vikram S. Adve e483768174 Delete *.s on clean.
llvm-svn: 726
2001-10-11 04:24:10 +00:00
Vikram S. Adve 8aeb09fcc7 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 1235b330f7 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 fa9dc58c9e Added a rule for building TAGS.
llvm-svn: 723
2001-10-10 22:35:00 +00:00
Vikram S. Adve c524e1c714 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 d50b665acf 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 021d523b2f 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 192686db96 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 a6d08b5f4c Moved code generation support routines to InstrSelectionSupport.{h,cpp}.
llvm-svn: 718
2001-10-10 20:50:20 +00:00
Vikram S. Adve c36a504cfe Moved code generation support routines to InstrSelectionSupport.cpp.
llvm-svn: 717
2001-10-10 20:49:07 +00:00
Vikram S. Adve cd23d1d9bd Moved first function to "simpleadd.ll".
llvm-svn: 716
2001-10-10 20:12:15 +00:00
Vikram S. Adve 96654a04db testmemory and sumarray now work with instruction selection.
llvm-svn: 715
2001-10-10 20:10:48 +00:00
Ruchira Sasanka 990d8fb3e8 --removed %g regs being allocated - fix later
llvm-svn: 714
2001-10-09 23:36:13 +00:00
Chris Lattner b27d474201 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 78326d20c5 Add comment
llvm-svn: 712
2001-10-03 19:35:57 +00:00
Chris Lattner e504b4395b Support multiple global's definitions
llvm-svn: 711
2001-10-03 19:35:04 +00:00
Chris Lattner 2503325027 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 883ad0b352 Rename getNullPointer to getNull
Allow sharing of null pointer constants

llvm-svn: 709
2001-10-03 15:39:36 +00:00
Chris Lattner ad95d1d12f Rename getNullPointer to getNull
llvm-svn: 708
2001-10-03 15:39:24 +00:00
Chris Lattner fb3e54940b 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 5950852469 Share ConstPoolPointer elements correctly
llvm-svn: 706
2001-10-03 15:38:36 +00:00
Chris Lattner f208dcfa2b Fix broken testcase
llvm-svn: 705
2001-10-03 14:59:11 +00:00
Chris Lattner 28807801be 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 7fac070215 * 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