Commit Graph

806 Commits

Author SHA1 Message Date
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
Chris Lattner 23356658b3 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 60e0dd78b2 First try at a horrible global value reference wrapper
llvm-svn: 701
2001-10-03 06:12:09 +00:00
Chris Lattner e63ddd8df7 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 571a6b07b6 * 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 02a9c0a081 Modify testcases for new LLVM const syntax
llvm-svn: 698
2001-10-03 01:48:04 +00:00
Chris Lattner da55810666 Commit more code over to new cast style
llvm-svn: 697
2001-10-02 03:41:24 +00:00
Chris Lattner 3856934386 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 8f19112923 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 4b717c0edc Add support for new style casts
llvm-svn: 694
2001-10-01 16:18:37 +00:00
Chris Lattner 222b1f5775 Add support for newer cleaner isa, cast, dyn_cast
llvm-svn: 693
2001-10-01 13:58:13 +00:00
Chris Lattner 274aeb7038 Update comments
llvm-svn: 692
2001-10-01 13:34:22 +00:00
Chris Lattner ba1c1f2fb6 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 a7610016a5 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 568f301cd2 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 0156ba6185 Fix emission of return instructions
llvm-svn: 688
2001-10-01 02:32:34 +00:00
Chris Lattner 9b316883ed 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 2ef89c99b3 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 35622c3fc0 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 fd72440286 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
Vikram S. Adve 3652ef7587 Several fixes:
(1) Avoid hard-coding some register numbers.
(2) Fix some incorrect branch opcodes.
(3) Don't try to move int register to float register!
(4) If an operand being forwarded is a constant and it doesn't fit
    into the immed field of the copy machine instruction, then
    generate a load-constant instead of a copy.
(5) Use (unsigned long) 0 for copying a pointer via "add 0, ptr -> ptr2".

llvm-svn: 683
2001-10-01 00:12:53 +00:00
Ruchira Sasanka acffb966b9 removing phy regaloc - incorrect file
llvm-svn: 682
2001-09-30 23:52:14 +00:00
Vikram S. Adve 40378e32cd Change latency of setuw and setsw to 2 cycles.
llvm-svn: 681
2001-09-30 23:46:57 +00:00
Vikram S. Adve 813ffcc4f6 Change ! ( ...== ...) to !=.
llvm-svn: 680
2001-09-30 23:45:08 +00:00
Vikram S. Adve e44abbb99d Improved dump for disp type operand.
llvm-svn: 679
2001-09-30 23:44:19 +00:00
Vikram S. Adve 819635eb7c Bug fixes:
(1) Ensure that delay slot instructions are not moved out of place (this
    was happening for some CALL instructions).  Basically, we need to
    move all delay slot instructions out of the graph and handle them
    along with the delayed control transfer instruction.
(2) Mark scheduled instructions correctly when instructions are scheduled
    in more than one cycle in a single step (due to delay slots).

llvm-svn: 678
2001-09-30 23:43:34 +00:00
Vikram S. Adve f734fc2af7 Minor changes for bug fixes in SchedGraph.cpp.
llvm-svn: 677
2001-09-30 23:37:26 +00:00
Vikram S. Adve 2b2ca42761 Two bug fixes:
(1) Add edges for Values that are written by multiple m/c instructions
(2) Add edges for LLVM operands that are not machine operands (e.g., Call args)

llvm-svn: 676
2001-09-30 23:36:58 +00:00
Ruchira Sasanka c8b4d12a8f *** empty log message ***
llvm-svn: 675
2001-09-30 23:28:04 +00:00
Ruchira Sasanka 8a18706055 no major change.
llvm-svn: 674
2001-09-30 23:22:45 +00:00
Ruchira Sasanka 560b0ad482 added suggesting color support
llvm-svn: 673
2001-09-30 23:19:57 +00:00
Ruchira Sasanka a7f89fc918 added suggesting color suppor
llvm-svn: 672
2001-09-30 23:19:09 +00:00
Ruchira Sasanka 5867c7ae80 added support for suggesting colors
llvm-svn: 671
2001-09-30 23:16:47 +00:00
Ruchira Sasanka e3b9faddad --added suggesting colors; call/ret arg handling
llvm-svn: 670
2001-09-30 23:11:59 +00:00
Chris Lattner edcc613706 Add a test for the new null keyword
llvm-svn: 669
2001-09-30 22:47:06 +00:00
Chris Lattner fbdec250b3 Implement constant pointers, and null specifically in the parser, bytecode writer, and
bytecode reader.

llvm-svn: 668
2001-09-30 22:46:54 +00:00
Chris Lattner 436248f236 Implement a constant pointer value
llvm-svn: 667
2001-09-30 20:14:07 +00:00
Chris Lattner 409bbecbcd Pull iterators out of CFG.h and genericize them with GraphTraits
llvm-svn: 666
2001-09-28 22:59:14 +00:00
Chris Lattner 707d4db319 File #include file
llvm-svn: 665
2001-09-28 22:56:43 +00:00
Chris Lattner bb09a10929 Pull iterators out of CFG.h and CFGdecls and put them in Support directory
llvm-svn: 664
2001-09-28 22:56:31 +00:00
Chris Lattner b021f68438 * Properly escape function names
* Ignore %xcc argument on conditional branches

llvm-svn: 663
2001-09-28 15:07:24 +00:00
Chris Lattner c6635c9fa2 Check in bug fix for vadve
llvm-svn: 662
2001-09-28 15:06:55 +00:00
Chris Lattner 17fe55defd Add commands to assemble and compile a .ll file
llvm-svn: 661
2001-09-28 14:13:09 +00:00
Chris Lattner bbf3ae8414 Initial support for construction of a call graph
llvm-svn: 660
2001-09-28 00:08:15 +00:00