oota-llvm.git
22 years agoNew testcase
Chris Lattner [Tue, 16 Jul 2002 05:38:33 +0000 (05:38 +0000)]
New testcase

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

22 years agoadded std:: to pair
Anand Shukla [Tue, 16 Jul 2002 00:04:57 +0000 (00:04 +0000)]
added std:: to pair

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

22 years agoadded std:: to vector
Anand Shukla [Tue, 16 Jul 2002 00:04:15 +0000 (00:04 +0000)]
added std:: to vector

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

22 years agoadded std:: to string
Anand Shukla [Tue, 16 Jul 2002 00:03:10 +0000 (00:03 +0000)]
added std:: to string

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

22 years agoadded std:: to cerr and endl
Anand Shukla [Tue, 16 Jul 2002 00:02:17 +0000 (00:02 +0000)]
added std:: to cerr and endl

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

22 years agoAdded the Mapping Pass to out put Mapping Info to .s file
Mehwish Nagda [Mon, 15 Jul 2002 23:58:21 +0000 (23:58 +0000)]
Added the Mapping Pass to out put Mapping Info to .s file

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

22 years ago*** empty log message ***
Mehwish Nagda [Mon, 15 Jul 2002 23:56:27 +0000 (23:56 +0000)]
*** empty log message ***

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

22 years agoInitial checking : Writes LLVM - MI mappiing to the .s file
Mehwish Nagda [Mon, 15 Jul 2002 23:08:49 +0000 (23:08 +0000)]
Initial checking  : Writes LLVM - MI mappiing to the .s file

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

22 years agoEnsure ConstExpr constants are unique.
Vikram S. Adve [Mon, 15 Jul 2002 18:20:50 +0000 (18:20 +0000)]
Ensure ConstExpr constants are unique.

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

22 years agoEnsure ConstExpr constants are unique using a
Vikram S. Adve [Mon, 15 Jul 2002 18:19:33 +0000 (18:19 +0000)]
Ensure ConstExpr constants are unique using a
map of <opcode, operands> to ConstExpr.

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

22 years agoAdded duplicate constant expressions to test uniqueness support.
Vikram S. Adve [Mon, 15 Jul 2002 18:18:45 +0000 (18:18 +0000)]
Added duplicate constant expressions to test uniqueness support.

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

22 years agoFix bug: test/Regression/Assembler/2002-07-14-InternalLossage.llx
Chris Lattner [Mon, 15 Jul 2002 00:10:33 +0000 (00:10 +0000)]
Fix bug: test/Regression/Assembler/2002-07-14-InternalLossage.llx

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

22 years agoCheck in tests that have been in my tree for a long time
Chris Lattner [Sun, 14 Jul 2002 23:48:42 +0000 (23:48 +0000)]
Check in tests that have been in my tree for a long time

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

22 years agoMinor rename of output
Chris Lattner [Sun, 14 Jul 2002 23:25:23 +0000 (23:25 +0000)]
Minor rename of output

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

22 years agoNew testcase to track opaque type bug
Chris Lattner [Sun, 14 Jul 2002 23:25:14 +0000 (23:25 +0000)]
New testcase to track opaque type bug

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

22 years agoMinor additions.
Vikram S. Adve [Sun, 14 Jul 2002 23:18:33 +0000 (23:18 +0000)]
Minor additions.

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

22 years agoAdded support to write out ConstantExpr nodes.
Vikram S. Adve [Sun, 14 Jul 2002 23:14:45 +0000 (23:14 +0000)]
Added support to write out ConstantExpr nodes.
Also, avoid asserting out when writing out an invalid tree
since the assembly writer is used when debugging.

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

22 years agoAdded subclass ConstantExpr to represent expressions consructed from
Vikram S. Adve [Sun, 14 Jul 2002 23:13:17 +0000 (23:13 +0000)]
Added subclass ConstantExpr to represent expressions consructed from
constants using operators such as cast, getelementptr, add, shl, etc.
Note that a ConstantExpr can be of any type, so classof() in most
other subclasses (that discriminate by type) have to check that it
is also not a ConstantExpr.

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

22 years agoCreate a static version of Instruction::getOpcodeName(opCode) that
Vikram S. Adve [Sun, 14 Jul 2002 23:09:40 +0000 (23:09 +0000)]
Create a static version of Instruction::getOpcodeName(opCode) that
can be invoked with only an opcode (i.e., without an instruction).
Move all opCode->opCodeName translations there.

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

22 years agoAdd support for writing ConstantExpr nodes.
Vikram S. Adve [Sun, 14 Jul 2002 23:08:30 +0000 (23:08 +0000)]
Add support for writing ConstantExpr nodes.

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

22 years agoWrite out the plane for types first, since values of primitive types
Vikram S. Adve [Sun, 14 Jul 2002 23:07:51 +0000 (23:07 +0000)]
Write out the plane for types first, since values of primitive types
may be constructed by expressions of other types (and so the
contents of the primitive type planes must come after all types).
Use a helper function outputConstantsInPlane in outputConstants to
do this.

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

22 years agoUse a helper function outputConstantsInPlane in outputConstants.
Vikram S. Adve [Sun, 14 Jul 2002 23:05:53 +0000 (23:05 +0000)]
Use a helper function outputConstantsInPlane in outputConstants.

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

22 years agoAdd support for reading ConstantExpr nodes.
Vikram S. Adve [Sun, 14 Jul 2002 23:05:09 +0000 (23:05 +0000)]
Add support for reading ConstantExpr nodes.
Add class ConstantFwdRefs to resolve forward references to constants
and to globals. (Hmm... this class could be renamed I guess.)

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

22 years agoAdd support for reading ConstantExpr nodes.
Vikram S. Adve [Sun, 14 Jul 2002 23:04:18 +0000 (23:04 +0000)]
Add support for reading ConstantExpr nodes.
Add class ConstantFwdRefs to resolve forward references to constants
and to globals (unified old code for globals into this).

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

22 years agoAdded support for parsing expressions constructed from constant values.
Vikram S. Adve [Sun, 14 Jul 2002 22:59:28 +0000 (22:59 +0000)]
Added support for parsing expressions constructed from constant values.
(Major new non-terminal is ConstExpr.)

Add YYERROR_VERBOSE and print additional information on errors.

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

22 years agoDeclare globals llvmAsmtext and llvmAsmleng for use in the parser.
Vikram S. Adve [Sun, 14 Jul 2002 22:49:40 +0000 (22:49 +0000)]
Declare globals llvmAsmtext and llvmAsmleng for use in the parser.

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

22 years agoCreate a static version of Instruction::getOpcodeName(opCode) that
Vikram S. Adve [Sun, 14 Jul 2002 22:48:20 +0000 (22:48 +0000)]
Create a static version of Instruction::getOpcodeName(opCode) that
can be invoked with only an opcode (i.e., without an instruction).
Move all opCode->opCodeName translations there.

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

22 years agoAdded subclass ConstantExpr to represent expressions consructed from
Vikram S. Adve [Sun, 14 Jul 2002 22:47:54 +0000 (22:47 +0000)]
Added subclass ConstantExpr to represent expressions consructed from
constants using operators such as cast, getelementptr, add, shl, etc.
Note that a ConstantExpr can be of any type, so classof() in most
other subclasses (that discriminate by type) have to check that it
is also not a ConstantExpr.   This is why isConstantExpr() is needed.

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

22 years agoAdd a couple of virtual functions to support subclass ConstantExpr.
Vikram S. Adve [Sun, 14 Jul 2002 22:46:32 +0000 (22:46 +0000)]
Add a couple of virtual functions to support subclass ConstantExpr.
Note that a ConstantExpr can be of any type, so classof() in most
other subclasses (that discriminate by type) have to check that it
is also not a ConstantExpr.   This is why isConstantExpr() is needed.

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

22 years agoTest the handling of constant expressions.
Vikram S. Adve [Sun, 14 Jul 2002 22:39:02 +0000 (22:39 +0000)]
Test the handling of constant expressions.

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

22 years agoAllow tests that use custom commands to run
Chris Lattner [Sun, 14 Jul 2002 22:32:59 +0000 (22:32 +0000)]
Allow tests that use custom commands to run

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

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