oota-llvm.git
22 years agoTest to make sure that 'internal' flags don't get dropped accidentally!
Chris Lattner [Sun, 14 Jul 2002 22:30:45 +0000 (22:30 +0000)]
Test to make sure that 'internal' flags don't get dropped accidentally!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2887 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoinitial version: for emitfuncs pass
Anand Shukla [Fri, 12 Jul 2002 20:28:22 +0000 (20:28 +0000)]
initial version: for emitfuncs pass

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2886 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoadded emitfuncs pass, and disabled reassociate pass (needs fixing)
Anand Shukla [Fri, 12 Jul 2002 20:14:27 +0000 (20:14 +0000)]
added emitfuncs pass, and disabled reassociate pass (needs fixing)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2885 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdded emitfuncs pass
Anand Shukla [Fri, 12 Jul 2002 20:12:59 +0000 (20:12 +0000)]
Added emitfuncs pass

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2884 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdded EmitFunctions directory
Anand Shukla [Fri, 12 Jul 2002 20:12:07 +0000 (20:12 +0000)]
Added EmitFunctions directory

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2883 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoInitial makefile
Anand Shukla [Fri, 12 Jul 2002 20:11:24 +0000 (20:11 +0000)]
Initial makefile

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2882 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoInitial version: adds a function table to output code
Anand Shukla [Fri, 12 Jul 2002 20:10:50 +0000 (20:10 +0000)]
Initial version: adds a function table to output code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2881 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago* Pass the DSGraph around instead of the Function to printing fns
Chris Lattner [Thu, 11 Jul 2002 20:33:32 +0000 (20:33 +0000)]
* Pass the DSGraph around instead of the Function to printing fns
* Print the globals list in the node
* Print the scalars in the scalar node
* Eliminate Scalar "label" edges in the graph
* Print fake edges lighter instead of dotted

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2880 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago* Nodes now keep track of any global variables in them
Chris Lattner [Thu, 11 Jul 2002 20:32:22 +0000 (20:32 +0000)]
* Nodes now keep track of any global variables in them

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2879 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago* Nodes now keep track of any global variables in them
Chris Lattner [Thu, 11 Jul 2002 20:32:02 +0000 (20:32 +0000)]
* Nodes now keep track of any global variables in them
* Only dead-node-eliminate nodes with no flags
* Don't merge scalars, only merge what they point to.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2878 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago* Nodes now keep track of any global variables contained within them
Chris Lattner [Thu, 11 Jul 2002 20:30:18 +0000 (20:30 +0000)]
* Nodes now keep track of any global variables contained within them

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2877 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoadded std:: to endl
Anand Shukla [Thu, 11 Jul 2002 00:17:17 +0000 (00:17 +0000)]
added std:: to endl

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2875 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoadded std:: to vector
Anand Shukla [Thu, 11 Jul 2002 00:16:28 +0000 (00:16 +0000)]
added std:: to vector

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2874 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRename DataStructure to LocalDataStructures
Chris Lattner [Wed, 10 Jul 2002 22:42:53 +0000 (22:42 +0000)]
Rename DataStructure to LocalDataStructures

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2873 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoNew implementation of data structure analysis
Chris Lattner [Wed, 10 Jul 2002 22:42:17 +0000 (22:42 +0000)]
New implementation of data structure analysis
This diff is completely meaningless because this is a replacement
implementation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2872 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoNew implementation of data structure analysis. Only local analysis has been
Chris Lattner [Wed, 10 Jul 2002 22:38:08 +0000 (22:38 +0000)]
New implementation of data structure analysis.  Only local analysis has been
implemented so far.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2871 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoDisable folding g-e-p instructions into loads and stores.
Chris Lattner [Wed, 10 Jul 2002 22:37:17 +0000 (22:37 +0000)]
Disable folding g-e-p instructions into loads and stores.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2870 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoDisable pool allocation stuff until data structure analysis is sorted back out
Chris Lattner [Wed, 10 Jul 2002 22:36:47 +0000 (22:36 +0000)]
Disable pool allocation stuff until data structure analysis is sorted back out

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2869 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoReimplement data structure analysis
Chris Lattner [Wed, 10 Jul 2002 22:36:26 +0000 (22:36 +0000)]
Reimplement data structure analysis

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2868 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoFix broken test
Chris Lattner [Wed, 10 Jul 2002 22:31:09 +0000 (22:31 +0000)]
Fix broken test

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2867 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoInclude Makefile.singlesrc in order to compile .c tests.
Vikram S. Adve [Wed, 10 Jul 2002 22:02:37 +0000 (22:02 +0000)]
Include Makefile.singlesrc in order to compile .c tests.
Some of these are not regression tests and this directory needs
to be reorganized, but the tests are important.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2866 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoSome of these are feature tests, not regression tests.
Vikram S. Adve [Wed, 10 Jul 2002 21:54:05 +0000 (21:54 +0000)]
Some of these are feature tests, not regression tests.
This directory needs to be reorganized and some of the tests
need changes to make them executable.  Also comments would help...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2865 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoBug fix: cast (bool) has higher precedence than %... who knew!
Vikram S. Adve [Wed, 10 Jul 2002 21:51:46 +0000 (21:51 +0000)]
Bug fix: cast (bool) has higher precedence than %... who knew!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2864 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd support for marking each operand as a %hh, %hm, %lm or %lo.
Vikram S. Adve [Wed, 10 Jul 2002 21:50:57 +0000 (21:50 +0000)]
Add support for marking each operand as a %hh, %hm, %lm or %lo.
Represent previous bools and these ones with flags in a single byte
per operand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2863 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdded a few more methods for creating instructions.
Vikram S. Adve [Wed, 10 Jul 2002 21:49:38 +0000 (21:49 +0000)]
Added a few more methods for creating instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2862 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoFix print of BB name in dump().
Vikram S. Adve [Wed, 10 Jul 2002 21:45:30 +0000 (21:45 +0000)]
Fix print of BB name in dump().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2861 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd support for marking each operand as a %hh, %hm, %lm or %lo.
Vikram S. Adve [Wed, 10 Jul 2002 21:45:04 +0000 (21:45 +0000)]
Add support for marking each operand as a %hh, %hm, %lm or %lo.
Represent previous bools and these ones with flags in a single byte
per operand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2860 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoChanged interface to insertCallerSavingCode().
Vikram S. Adve [Wed, 10 Jul 2002 21:42:42 +0000 (21:42 +0000)]
Changed interface to insertCallerSavingCode().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2859 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoStop using pseudo-instructions (SETX, SETUW, SETSW)
Vikram S. Adve [Wed, 10 Jul 2002 21:42:13 +0000 (21:42 +0000)]
Stop using pseudo-instructions (SETX, SETUW, SETSW)
and generate actual machine instruction sequences directly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2858 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd support to print %hh, %hm, %lm, or %lo in an operand field.
Vikram S. Adve [Wed, 10 Jul 2002 21:41:21 +0000 (21:41 +0000)]
Add support to print %hh, %hm, %lm, or %lo in an operand field.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2857 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMajor overhaul to stop using pseudo-instructions (SETX, SETUW, SETSW)
Vikram S. Adve [Wed, 10 Jul 2002 21:39:50 +0000 (21:39 +0000)]
Major overhaul to stop using pseudo-instructions (SETX, SETUW, SETSW)
and generate actual machine instruction sequences directly.

Also a couple of bug fixes in code for putting constants into registers:
-- Do *not* sign-extend unsigned constant that is shorter than int reg size
-- Fix handling of address constant (a GlobalValue) vs. constant that
   must be loaded.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2856 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMore important fixes:
Vikram S. Adve [Wed, 10 Jul 2002 21:36:00 +0000 (21:36 +0000)]
More important fixes:
-- FP argument to a function with no prototype going on stack
   was not being copied to the stack in colorCallArgs().
-- Put caller-saving code *before* argument copying code so that
   we don't trash a register before saving it!
-- Two other minor fixes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2855 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoPut caller-saving code *before* argument copying code!
Vikram S. Adve [Wed, 10 Jul 2002 21:30:17 +0000 (21:30 +0000)]
Put caller-saving code *before* argument copying code!
(This file has a minor change required for this fix.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2854 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMinor change in comments.
Vikram S. Adve [Wed, 10 Jul 2002 21:29:22 +0000 (21:29 +0000)]
Minor change in comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2853 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago*** empty log message ***
Chris Lattner [Wed, 10 Jul 2002 16:48:17 +0000 (16:48 +0000)]
*** empty log message ***

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2852 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAllow specifying a module for context instead of a slot calculator directly
Chris Lattner [Wed, 10 Jul 2002 16:48:14 +0000 (16:48 +0000)]
Allow specifying a module for context instead of a slot calculator directly

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2851 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd a new testcase. It actually is not infinite looping. It just takes
Chris Lattner [Tue, 9 Jul 2002 19:58:06 +0000 (19:58 +0000)]
Add a new testcase.  It actually is not infinite looping.  It just takes
FOREVER to run.  That's the bug.  :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2850 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoDisabling reassociate pass until it is fixed.
Vikram S. Adve [Tue, 9 Jul 2002 19:53:09 +0000 (19:53 +0000)]
Disabling reassociate pass until it is fixed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2849 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoNew testcase for problem effecting mst
Chris Lattner [Tue, 9 Jul 2002 19:41:21 +0000 (19:41 +0000)]
New testcase for problem effecting mst

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2848 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agochanged mem_fun to std::mem_fun
Anand Shukla [Tue, 9 Jul 2002 19:18:56 +0000 (19:18 +0000)]
changed mem_fun to std::mem_fun

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2847 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoadded std:: to hash_set
Anand Shukla [Tue, 9 Jul 2002 19:18:16 +0000 (19:18 +0000)]
added std:: to hash_set

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2846 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdded std:: to mem_fun for 64-bit gcc
Anand Shukla [Tue, 9 Jul 2002 19:16:59 +0000 (19:16 +0000)]
Added std:: to mem_fun for 64-bit gcc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2845 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoImplementing shift left & shift right on pointers
Chris Lattner [Tue, 9 Jul 2002 18:42:36 +0000 (18:42 +0000)]
Implementing shift left & shift right on pointers

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2844 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoInclude header in the compiler-neutral location
Chris Lattner [Tue, 9 Jul 2002 16:50:24 +0000 (16:50 +0000)]
Include header in the compiler-neutral location

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2843 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdded support for printing constant global references to
Vikram S. Adve [Tue, 9 Jul 2002 12:30:29 +0000 (12:30 +0000)]
Added support for printing constant global references to
assembly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2842 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd makefile-mode flag for emacs.
Vikram S. Adve [Tue, 9 Jul 2002 12:04:21 +0000 (12:04 +0000)]
Add makefile-mode flag for emacs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2841 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoFix iteration and InsertPos bugs introduced when Chris changed over to ilist.
Vikram S. Adve [Mon, 8 Jul 2002 23:37:07 +0000 (23:37 +0000)]
Fix iteration and InsertPos bugs introduced when Chris changed over to ilist.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2840 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoNumerous changes in interface to class SparcRegInfo corresponding to
Vikram S. Adve [Mon, 8 Jul 2002 23:34:10 +0000 (23:34 +0000)]
Numerous changes in interface to class SparcRegInfo corresponding to
changes in class MachineRegInfo (see MachineRegInfo.h for details).

Added {LD,ST}[X]FSR instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2839 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoclass MachineCodeForBasicBlock is now an annotation on BasicBlock.
Vikram S. Adve [Mon, 8 Jul 2002 23:31:24 +0000 (23:31 +0000)]
class MachineCodeForBasicBlock is now an annotation on BasicBlock.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2838 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoBA no longer has the unused CC operand.
Vikram S. Adve [Mon, 8 Jul 2002 23:30:59 +0000 (23:30 +0000)]
BA no longer has the unused CC operand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2837 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoHave to save a boolean (setCC) value whenever use is outside the current
Vikram S. Adve [Mon, 8 Jul 2002 23:30:14 +0000 (23:30 +0000)]
Have to save a boolean (setCC) value whenever use is outside the current
basic block.

Mark setCCInstr used as dest. of conditional-move as both a def and a use.

BA instruction no longer has the unused CC argument.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2836 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoBA has only one argument.
Vikram S. Adve [Mon, 8 Jul 2002 23:25:17 +0000 (23:25 +0000)]
BA has only one argument.
Added LDFSR, LDXFSR, STFSR and STXFSR.
Fixed operands info for RDCCR, WRCCR.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2835 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoSignificant changes to correctly spill CC registers and to correctly
Vikram S. Adve [Mon, 8 Jul 2002 23:23:12 +0000 (23:23 +0000)]
Significant changes to correctly spill CC registers and to correctly
handle conditional move instructions:
-- cpMem<->Reg functions now support CC registers (int and FP) correctly.
   Also, cpMem<->Reg functions now return a vector of machine instructions.
-- Scratch registers must be explicitly provided to cpMem<->Reg when
   needed, since CC regs need one to be copied to/from memory.
-- CC regs are saved to a scratch register instead of stack.
-- All regs used by a instruction are now recorded in MachineInstr::regsUsed,
   since regs used to save values *across* an instruction are not obvious
   either from the operands or from the LiveVar sets.
-- An (explicit or implicit) operand may now be both a def and a use.
   This is needed for conditional move operations.
   So an operand may need spill code both before and after the instruction.

Other changes:
-- Added several get{Class,Type} functions.
-- Added unified-to-local register number conversion.
-- class MachineCodeForBasicBlock is now an annotation on BasicBlock.
-- Suggest/Color methods may modify the MachineInstr (and always did),
   so don't make that argument const!
-- Caller-saving code doesn't need its special purpose code for
   handling CC registers since cpMem<->Reg handle those correctly now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2834 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoSignificant changes to correctly spill CC registers and to correctly
Vikram S. Adve [Mon, 8 Jul 2002 23:15:32 +0000 (23:15 +0000)]
Significant changes to correctly spill CC registers and to correctly
handle conditional move instructions:
-- cpMem<->Reg functions now support CC registers (int and FP) correctly.
-- Scratch registers must be explicitly provided to cpMem<->Reg when
   needed, since CC regs need one to be copied to/from memory.
-- CC regs are saved to a scratch register instead of stack.
-- All regs used by a instruction are now recorded in MachineInstr::regsUsed,
   since regs used to save values *across* an instruction are not obvious
   either from the operands or from the LiveVar sets.
-- An (explicit or implicit) operand may now be both a def and a use.
   This is needed for conditional move operations.
   So an operand may need spill code both before and after the instruction.
-- class MachineCodeForBasicBlock is now an annotation on BasicBlock.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2833 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMachineInstr* in vector are not const (and never really were)
Vikram S. Adve [Mon, 8 Jul 2002 23:07:26 +0000 (23:07 +0000)]
MachineInstr* in vector are not const (and never really were)
because operands may be modified directly to set register.
Also, class MachineCodeForBasicBlock is now an annotation on BasicBlock.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2832 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRename static struct Initializer to avoid name conflict with BB.
Vikram S. Adve [Mon, 8 Jul 2002 23:04:31 +0000 (23:04 +0000)]
Rename static struct Initializer to avoid name conflict with BB.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2831 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoFix printing of BB in dump.
Vikram S. Adve [Mon, 8 Jul 2002 23:03:54 +0000 (23:03 +0000)]
Fix printing of BB in dump.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2830 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMoved class MachineCodeForBasicBlock to MachineCodeForBasicBlock.h.
Vikram S. Adve [Mon, 8 Jul 2002 23:03:10 +0000 (23:03 +0000)]
Moved class MachineCodeForBasicBlock to MachineCodeForBasicBlock.h.
This class is now an annotation on BasicBlock.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2829 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMachineInstr::dump() now takes no arguments.
Vikram S. Adve [Mon, 8 Jul 2002 23:01:46 +0000 (23:01 +0000)]
MachineInstr::dump() now takes no arguments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2828 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoImplementation of class MachineCodeForBasicBlock.
Vikram S. Adve [Mon, 8 Jul 2002 23:01:11 +0000 (23:01 +0000)]
Implementation of class MachineCodeForBasicBlock.
Moved here from MachineInstr.cpp to make it an annotation on BasicBlock.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2827 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoA single MachineInstr operand may now be both a def and a use,
Vikram S. Adve [Mon, 8 Jul 2002 22:59:23 +0000 (22:59 +0000)]
A single MachineInstr operand may now be both a def and a use,
so additional dep. edges have to be added.
This was needed to correctly handle conditional move instructions!
MachineCodeForBasicBlock is now an annotation on BasicBlock.
Renamed "earliestForNode" to "earliestReadyTimeForNode".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2826 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoA single MachineInstr operand may now be both a def and a use.
Vikram S. Adve [Mon, 8 Jul 2002 22:56:34 +0000 (22:56 +0000)]
A single MachineInstr operand may now be both a def and a use.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2825 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agocpMem<->Reg functions now support CC registers (int and FP) correctly.
Vikram S. Adve [Mon, 8 Jul 2002 22:44:14 +0000 (22:44 +0000)]
cpMem<->Reg functions now support CC registers (int and FP) correctly.
A scratch register has to be provided when needed to do the copy.
Also, cpMem<->Reg functions now return a vector of machine instructions.

Added several get{Class,Type} functions.

Suggest/Color methods may modify the MachineInstr (and always did),
so don't make that argument const!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2824 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoInterface to class MachineCodeForBasicBlock.
Vikram S. Adve [Mon, 8 Jul 2002 22:40:34 +0000 (22:40 +0000)]
Interface to class MachineCodeForBasicBlock.
Moved here from MachineInstr.h to make it an annotation on BasicBlock.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2823 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agogetUsableUniRegAtMI interface simplified slightly.
Vikram S. Adve [Mon, 8 Jul 2002 22:39:36 +0000 (22:39 +0000)]
getUsableUniRegAtMI interface simplified slightly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2822 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMoved class MachineCodeForBasicBlock to MachineCodeForBasicBlock.{cpp,h}.
Vikram S. Adve [Mon, 8 Jul 2002 22:38:45 +0000 (22:38 +0000)]
Moved class MachineCodeForBasicBlock to MachineCodeForBasicBlock.{cpp,h}.
An (explicit or implicit) operand may now be both a def and a use.
Also add a set of regs used by each instruction.
dump() no longer takes an optional argument, which doesn't work in gdb.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2821 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMachineInstr* in vector are not const (and never really were)
Vikram S. Adve [Mon, 8 Jul 2002 22:34:40 +0000 (22:34 +0000)]
MachineInstr* in vector are not const (and never really were)
because operands may be modified directly to set register.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2820 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdded two more helper functions for instruction creation.
Vikram S. Adve [Mon, 8 Jul 2002 22:33:45 +0000 (22:33 +0000)]
Added two more helper functions for instruction creation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2819 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMoved MachineCodeForBB to be an annotation on BasicBlock.
Vikram S. Adve [Mon, 8 Jul 2002 22:31:11 +0000 (22:31 +0000)]
Moved MachineCodeForBB to be an annotation on BasicBlock.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2818 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agochanges BBsorting and oredering
Anand Shukla [Mon, 8 Jul 2002 19:37:06 +0000 (19:37 +0000)]
changes BBsorting and oredering

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2817 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agosmall corrections
Anand Shukla [Mon, 8 Jul 2002 19:36:39 +0000 (19:36 +0000)]
small corrections

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2816 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agochanged function numbering
Anand Shukla [Mon, 8 Jul 2002 19:36:01 +0000 (19:36 +0000)]
changed function numbering

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2815 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd new << to allow printing modules by reference.
Anand Shukla [Wed, 3 Jul 2002 16:52:15 +0000 (16:52 +0000)]
Add new << to allow printing modules by reference.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2814 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago*** empty log message ***
Chris Lattner [Sun, 30 Jun 2002 16:25:25 +0000 (16:25 +0000)]
*** empty log message ***

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2813 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoClean up anands patch
Chris Lattner [Sun, 30 Jun 2002 16:25:21 +0000 (16:25 +0000)]
Clean up anands patch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2812 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoStrip the symbols out of the bytecode to inflate generated executables less.
Chris Lattner [Sun, 30 Jun 2002 16:25:07 +0000 (16:25 +0000)]
Strip the symbols out of the bytecode to inflate generated executables less.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2811 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoYEs, we really do want to sort.
Chris Lattner [Sun, 30 Jun 2002 16:20:02 +0000 (16:20 +0000)]
YEs, we really do want to sort.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2810 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoYes, we REALLY DO want to run the reassociate pass.
Chris Lattner [Sun, 30 Jun 2002 16:19:14 +0000 (16:19 +0000)]
Yes, we REALLY DO want to run the reassociate pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2809 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRemove diff-cluttering tags
Chris Lattner [Sun, 30 Jun 2002 16:12:03 +0000 (16:12 +0000)]
Remove diff-cluttering tags

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2808 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRemove tag that just clutters diffs
Chris Lattner [Sun, 30 Jun 2002 16:08:25 +0000 (16:08 +0000)]
Remove tag that just clutters diffs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2807 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoFix anands changes
Chris Lattner [Sun, 30 Jun 2002 16:07:20 +0000 (16:07 +0000)]
Fix anands changes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2806 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoConvert tabs to spaces
Chris Lattner [Sun, 30 Jun 2002 16:04:37 +0000 (16:04 +0000)]
Convert tabs to spaces

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2805 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoFix anand's last checkin
Chris Lattner [Sun, 30 Jun 2002 16:01:15 +0000 (16:01 +0000)]
Fix anand's last checkin

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2804 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoFix comment
Chris Lattner [Sun, 30 Jun 2002 15:50:09 +0000 (15:50 +0000)]
Fix comment

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2803 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoCleanup
Chris Lattner [Fri, 28 Jun 2002 22:06:39 +0000 (22:06 +0000)]
Cleanup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2802 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agochanges for 64bit gcc
Anand Shukla [Tue, 25 Jun 2002 22:07:38 +0000 (22:07 +0000)]
changes for 64bit gcc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2801 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoadded include<iostream> for cerr
Anand Shukla [Tue, 25 Jun 2002 22:04:00 +0000 (22:04 +0000)]
added include<iostream> for cerr

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2800 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoChanges for 64bit gcc
Anand Shukla [Tue, 25 Jun 2002 21:57:48 +0000 (21:57 +0000)]
Changes for 64bit gcc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2799 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agocorrecting makefile: incorrectly checked in wrong version earlier
Anand Shukla [Tue, 25 Jun 2002 21:44:44 +0000 (21:44 +0000)]
correcting makefile: incorrectly checked in wrong version earlier

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2798 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoChanges for 64bit gcc
Anand Shukla [Tue, 25 Jun 2002 21:43:28 +0000 (21:43 +0000)]
Changes for 64bit gcc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2797 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoadded include<iostream> for cerr
Anand Shukla [Tue, 25 Jun 2002 21:29:10 +0000 (21:29 +0000)]
added include<iostream> for cerr

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2796 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agochanges to make it compatible with 64bit gcc
Anand Shukla [Tue, 25 Jun 2002 21:18:19 +0000 (21:18 +0000)]
changes to make it compatible with 64bit gcc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2795 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoadditions and bug fixes
Anand Shukla [Tue, 25 Jun 2002 21:14:58 +0000 (21:14 +0000)]
additions and bug fixes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2794 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoadded include<iostream> for cerr
Anand Shukla [Tue, 25 Jun 2002 21:12:25 +0000 (21:12 +0000)]
added include<iostream> for cerr

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2793 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agochanges to make it compatible with 64bit gcc
Anand Shukla [Tue, 25 Jun 2002 21:07:58 +0000 (21:07 +0000)]
changes to make it compatible with 64bit gcc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2792 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agochanges to make it compatible with 64bit gcc
Anand Shukla [Tue, 25 Jun 2002 20:55:50 +0000 (20:55 +0000)]
changes to make it compatible with 64bit gcc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2791 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agochanges to make it compatible with 64bit gcc
Anand Shukla [Tue, 25 Jun 2002 20:44:04 +0000 (20:44 +0000)]
changes to make it compatible with 64bit gcc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2790 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agochanges to make it compatible with 64bit gcc
Anand Shukla [Tue, 25 Jun 2002 20:35:19 +0000 (20:35 +0000)]
changes to make it compatible with 64bit gcc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2789 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agominor change in removing endl
Anand Shukla [Tue, 25 Jun 2002 20:34:54 +0000 (20:34 +0000)]
minor change in removing endl

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2788 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoWe must with with GCC 2.95 :(
Chris Lattner [Tue, 25 Jun 2002 20:33:28 +0000 (20:33 +0000)]
We must with with GCC 2.95 :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2787 91177308-0d34-0410-b5e6-96231b3b80d8