oota-llvm.git
20 years agoEliminate the RegisterClass argument, since it can easily be derived from
Chris Lattner [Sun, 15 Aug 2004 21:55:29 +0000 (21:55 +0000)]
Eliminate the RegisterClass argument, since it can easily be derived from
the regno

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

20 years agoMake this compile on gc 3.4.1 (static_cast to non-const type was not
Alkis Evlogimenos [Sun, 15 Aug 2004 09:18:55 +0000 (09:18 +0000)]
Make this compile on gc 3.4.1 (static_cast to non-const type was not
allowed).

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

20 years agoMore Functionality:
Reid Spencer [Sun, 15 Aug 2004 08:19:46 +0000 (08:19 +0000)]
More Functionality:
- cleaned up lexical scanner
- added support for "lang.optN" configuration items
- added temporary file support (ala lib/System)
- corrected logic for deciding which phases to run
- consolidated the Action and ActionPattern classes

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

20 years agoInitial configuration files (to be installed) for ll (LLVM Assembly) and
Reid Spencer [Sun, 15 Aug 2004 08:16:12 +0000 (08:16 +0000)]
Initial configuration files (to be installed) for ll (LLVM Assembly) and
st (Stacker) source files. These versions for testing/review only.

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

20 years agoInitial implementations of the ErrorCode and Path concepts for Linux.
Reid Spencer [Sun, 15 Aug 2004 08:14:33 +0000 (08:14 +0000)]
Initial implementations of the ErrorCode and Path concepts for Linux.

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

20 years agoFirst version of a class to represent the notion of an operating system
Reid Spencer [Sun, 15 Aug 2004 08:13:01 +0000 (08:13 +0000)]
First version of a class to represent the notion of an operating system
path to a file or directory and some rudimentary operations on them.

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

20 years agoFirst version of a class to represent operating system and lib/System
Reid Spencer [Sun, 15 Aug 2004 08:12:14 +0000 (08:12 +0000)]
First version of a class to represent operating system and lib/System
error codes in a platform independent way.

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

20 years agoAdd future optimization opportunity
Nate Begeman [Sun, 15 Aug 2004 06:43:10 +0000 (06:43 +0000)]
Add future optimization opportunity

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

20 years agoFix float to int codepath by always allocating 8 bytes for the target of a double...
Nate Begeman [Sun, 15 Aug 2004 06:42:28 +0000 (06:42 +0000)]
Fix float to int codepath by always allocating 8 bytes for the target of a double store; optimize cmplwi generation.

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

20 years agoZimm16 is now dead. Its entry is not removed from the enum, to avoid having
Chris Lattner [Sun, 15 Aug 2004 05:48:47 +0000 (05:48 +0000)]
Zimm16 is now dead.  Its entry is not removed from the enum, to avoid having
to renumber everything.  Similar elimination should be applied to other
operand enum values that are only used to format printing in the .s file.

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

20 years agoConvert all of the DForm_6* operations, which makes all of the Zimm16 users
Chris Lattner [Sun, 15 Aug 2004 05:46:14 +0000 (05:46 +0000)]
Convert all of the DForm_6* operations, which makes all of the Zimm16 users
dead.

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

20 years agoAdd i1imm
Chris Lattner [Sun, 15 Aug 2004 05:37:00 +0000 (05:37 +0000)]
Add i1imm

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

20 years agoReenable the CCRC
Chris Lattner [Sun, 15 Aug 2004 05:31:15 +0000 (05:31 +0000)]
Reenable the CCRC

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

20 years agoConvert the DForm_4 over to the asmprintergen
Chris Lattner [Sun, 15 Aug 2004 05:20:16 +0000 (05:20 +0000)]
Convert the DForm_4 over to the asmprintergen

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

20 years agoRemove dead code
Nate Begeman [Sun, 15 Aug 2004 00:31:02 +0000 (00:31 +0000)]
Remove dead code

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

20 years agoPrint mflr using the asmwriter generator
Chris Lattner [Sat, 14 Aug 2004 23:27:29 +0000 (23:27 +0000)]
Print mflr using the asmwriter generator

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

20 years agoUpdate to no longer take MF as an argument
Chris Lattner [Sat, 14 Aug 2004 22:57:22 +0000 (22:57 +0000)]
Update to no longer take MF as an argument

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

20 years agoMake the AsmWriter a first-class tblgen object. Allow targets to specify
Chris Lattner [Sat, 14 Aug 2004 22:50:53 +0000 (22:50 +0000)]
Make the AsmWriter a first-class tblgen object.  Allow targets to specify
name of the generated asmwriter class, and the name of the format string.

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

20 years agoReplace PowerPCPEI.cpp with target independant PrologEpilogInserter
Nate Begeman [Sat, 14 Aug 2004 22:16:36 +0000 (22:16 +0000)]
Replace PowerPCPEI.cpp with target independant PrologEpilogInserter

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

20 years agoAdd support for frame pointers, and large offsets from stack and frame pointers....
Nate Begeman [Sat, 14 Aug 2004 22:13:58 +0000 (22:13 +0000)]
Add support for frame pointers, and large offsets from stack and frame pointers.  Adopt elimination of MachineFunction& arg from eliminateFrameIndex.

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

20 years agoUse the `tools-only' target to avoid getting warnings about not having a CFE.
Misha Brukman [Sat, 14 Aug 2004 22:13:33 +0000 (22:13 +0000)]
Use the `tools-only' target to avoid getting warnings about not having a CFE.

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

20 years agoAdd indexed forms of load doubleword and load word algebraic for 64 bit targets
Nate Begeman [Sat, 14 Aug 2004 22:12:20 +0000 (22:12 +0000)]
Add indexed forms of load doubleword and load word algebraic for 64 bit targets

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

20 years agoFix handling of FP constants with single precision, and loading of internal linkage...
Nate Begeman [Sat, 14 Aug 2004 22:11:38 +0000 (22:11 +0000)]
Fix handling of FP constants with single precision, and loading of internal linkage function addresses

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

20 years agoAdd initial support for using the generated asm writer. Also, fix FP constant printi...
Nate Begeman [Sat, 14 Aug 2004 22:09:10 +0000 (22:09 +0000)]
Add initial support for using the generated asm writer.  Also, fix FP constant printing to always print 8 byte intializers.  Move printing of LinkOnce stubs.

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

20 years agoAdd generation of asm writer from tablegen files to Makefile
Nate Begeman [Sat, 14 Aug 2004 22:06:38 +0000 (22:06 +0000)]
Add generation of asm writer from tablegen files to Makefile

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

20 years agoEliminate MachineFunction& argument from eliminateFrameIndex in x86 Target. Get...
Nate Begeman [Sat, 14 Aug 2004 22:05:10 +0000 (22:05 +0000)]
Eliminate MachineFunction& argument from eliminateFrameIndex in x86 Target.  Get MachineFunction from MachineInstruction's parent's parent

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

20 years agoEliminate MachineFunction& argument from eliminateFrameIndex in SparcV9 target
Nate Begeman [Sat, 14 Aug 2004 22:03:29 +0000 (22:03 +0000)]
Eliminate MachineFunction& argument from eliminateFrameIndex in SparcV9 target

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

20 years agoEliminate MachineFunction& argument from eliminateFrameIndex in Skeleton target
Nate Begeman [Sat, 14 Aug 2004 22:01:38 +0000 (22:01 +0000)]
Eliminate MachineFunction& argument from eliminateFrameIndex in Skeleton target

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

20 years agoElminiate MachineFunction& argument from eliminateFrameIndex
Nate Begeman [Sat, 14 Aug 2004 22:00:10 +0000 (22:00 +0000)]
Elminiate MachineFunction& argument from eliminateFrameIndex

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

20 years agoImplement test/Regression/Transforms/GlobalConstifier/phi-select.llx
Chris Lattner [Sat, 14 Aug 2004 20:57:17 +0000 (20:57 +0000)]
Implement test/Regression/Transforms/GlobalConstifier/phi-select.llx
This allows more globals to be marked constant, particularly global arrays.

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

20 years agoNew testcase that the constifier should handle
Chris Lattner [Sat, 14 Aug 2004 20:47:56 +0000 (20:47 +0000)]
New testcase that the constifier should handle

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

20 years agoNew basic testcase for the constifier
Chris Lattner [Sat, 14 Aug 2004 20:44:09 +0000 (20:44 +0000)]
New basic testcase for the constifier

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

20 years agoConverted to use flex for tokenizing input so we can use an easier to
Reid Spencer [Sat, 14 Aug 2004 09:37:15 +0000 (09:37 +0000)]
Converted to use flex for tokenizing input so we can use an easier to
understand recursive descent parser, we can easily handle more syntax
variety, and we can more easily change the configuration items accepted.

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

20 years agoFix header commentary.
Reid Spencer [Fri, 13 Aug 2004 20:25:54 +0000 (20:25 +0000)]
Fix header commentary.

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

20 years agoAdditional functionality. This version handles option parsing and parameter
Reid Spencer [Fri, 13 Aug 2004 20:22:43 +0000 (20:22 +0000)]
Additional functionality. This version handles option parsing and parameter
subsitution correctly for at least .ll and .st files. There's still a long
way to go (i.e. this isn't worth of review yet).

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

20 years agoFirst version of a utility internal to llvmc that handles the parsing and
Reid Spencer [Fri, 13 Aug 2004 20:21:22 +0000 (20:21 +0000)]
First version of a utility internal to llvmc that handles the parsing and
construction of configuration data for compiler front ends.

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

20 years agoAdded description of usage of the getPosition() option on cl::opt and
Reid Spencer [Fri, 13 Aug 2004 20:19:14 +0000 (20:19 +0000)]
Added description of usage of the getPosition() option on cl::opt and
cl::list.

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

20 years agoAllow any cl::opt to use the method getPosition() to retrieve the option's
Reid Spencer [Fri, 13 Aug 2004 19:47:30 +0000 (19:47 +0000)]
Allow any cl::opt to use the method getPosition() to retrieve the option's
absolute position on the command line. Similarly allow any cl::list to
use the method getPosition(n) to retrieve the absolute position of the nth
option in the list. This provides support for two things: (a) options like
-l that are actually positional and their order of occurrence matters when
they are intermixed with positional arguments like "a.o"; and (b) options
like -x LANG which affect only the positional arguments that come after
the option. In both cases, knowing the absolute position of a given option
helps.

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

20 years agoRemove an unneeded header and forward declaration
Nate Begeman [Fri, 13 Aug 2004 09:33:17 +0000 (09:33 +0000)]
Remove an unneeded header and forward declaration

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

20 years agoFix siod by switching BoolTy to byte rather than int until CFE changes for
Nate Begeman [Fri, 13 Aug 2004 09:32:01 +0000 (09:32 +0000)]
Fix siod by switching BoolTy to byte rather than int until CFE changes for
Darwin.  Also, change asm printer to output proper stubs for external
functions whose address is passed as an argument to aid in bugpointing.

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

20 years agoFix 177.mesa compilation, don't use floating point regs for base addresses!
Nate Begeman [Fri, 13 Aug 2004 04:45:14 +0000 (04:45 +0000)]
Fix 177.mesa compilation, don't use floating point regs for base addresses!

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

20 years agoFix llc crasher compiling siod by giving BuildMI the correct number of arguments
Nate Begeman [Fri, 13 Aug 2004 03:56:49 +0000 (03:56 +0000)]
Fix llc crasher compiling siod by giving BuildMI the correct number of arguments

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

20 years agoAdd another test
Chris Lattner [Fri, 13 Aug 2004 03:27:48 +0000 (03:27 +0000)]
Add another test

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

20 years agoIf we are extracting a block that has multiple successors that are the same
Chris Lattner [Fri, 13 Aug 2004 03:27:07 +0000 (03:27 +0000)]
If we are extracting a block that has multiple successors that are the same
block (common in a switch), make sure to remove extra edges in successor
blocks.  This fixes CodeExtractor/2004-08-12-BlockExtractPHI.ll and should
be pulled into LLVM 1.3 (though the regression test need not be, as that
would require pulling in the LoopExtract.cpp changes).

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

20 years agoWhen we code extract some stuff, leave the codeRepl block in the place where
Chris Lattner [Fri, 13 Aug 2004 03:17:39 +0000 (03:17 +0000)]
When we code extract some stuff, leave the codeRepl block in the place where
the extracted code was, instead of putting it at the end of the function

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

20 years agoNew testcase, which causes the block extractor to barf
Chris Lattner [Fri, 13 Aug 2004 03:08:54 +0000 (03:08 +0000)]
New testcase, which causes the block extractor to barf

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

20 years ago"extract" the block extractor pass from bugpoint (haha)
Chris Lattner [Fri, 13 Aug 2004 03:05:17 +0000 (03:05 +0000)]
"extract" the block extractor pass from bugpoint (haha)

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

20 years agoAdd a pass
Chris Lattner [Fri, 13 Aug 2004 03:03:44 +0000 (03:03 +0000)]
Add a pass

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

20 years agoAdd value mapper support for select constant exprs. This should fix a bug
Chris Lattner [Fri, 13 Aug 2004 02:43:19 +0000 (02:43 +0000)]
Add value mapper support for select constant exprs.  This should fix a bug
Nate ran into when bugpointing siod.  This fix should go into LLVM 1.3

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

20 years agoLongs are in one register on PowerPC 64; use appropriate instructions to operate...
Nate Begeman [Fri, 13 Aug 2004 02:20:47 +0000 (02:20 +0000)]
Longs are in one register on PowerPC 64; use appropriate instructions to operate on them.

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

20 years agoAdd some more 64 bit instructions we need for the PowerPC-64 ISel to the tablegen...
Nate Begeman [Fri, 13 Aug 2004 02:19:26 +0000 (02:19 +0000)]
Add some more 64 bit instructions we need for the PowerPC-64 ISel to the tablegen files

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

20 years agoWrap long lines and try to fill the 80 chars per line so that we don't have too
Misha Brukman [Thu, 12 Aug 2004 20:16:08 +0000 (20:16 +0000)]
Wrap long lines and try to fill the 80 chars per line so that we don't have too
many short lines.

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

20 years ago* Escape &, <, and >
Misha Brukman [Thu, 12 Aug 2004 19:58:43 +0000 (19:58 +0000)]
* Escape &, <, and >
* Wrap code in <tt> or for larger blocks, <div class="doc_text">
* Wrap lines at 80 cols

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

20 years agoAdd description of packed type support.
Chris Lattner [Thu, 12 Aug 2004 19:12:28 +0000 (19:12 +0000)]
Add description of packed type support.

Patch contributed by Brad Jones!

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

20 years agoAdd information on adding a derived type to LLVM, patch contributed by
Chris Lattner [Thu, 12 Aug 2004 19:06:24 +0000 (19:06 +0000)]
Add information on adding a derived type to LLVM, patch contributed by
Brad Jones!

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

20 years agoAllow targets to specify particular stack slots that certain physregs must
Chris Lattner [Thu, 12 Aug 2004 19:01:55 +0000 (19:01 +0000)]
Allow targets to specify particular stack slots that certain physregs must
be spilled into.

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

20 years agoSplit saveCallerSavedRegisters into two methods for clarity, and add comments.
Chris Lattner [Thu, 12 Aug 2004 19:01:14 +0000 (19:01 +0000)]
Split saveCallerSavedRegisters into two methods for clarity, and add comments.
Add support for targets that must spill certain physregs at certain locations.

Patch contributed by Nate Begeman, slightly hacked by me.

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

20 years agoRemove dead methods
Chris Lattner [Thu, 12 Aug 2004 18:37:15 +0000 (18:37 +0000)]
Remove dead methods

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

20 years agoFix warning
Chris Lattner [Thu, 12 Aug 2004 18:36:28 +0000 (18:36 +0000)]
Fix warning

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

20 years agoInstead of a virtual method call, lets try a direct constant reference
Chris Lattner [Thu, 12 Aug 2004 18:29:05 +0000 (18:29 +0000)]
Instead of a virtual method call, lets try a direct constant reference

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

20 years agoVirtual method calls are overrated
Chris Lattner [Thu, 12 Aug 2004 18:20:55 +0000 (18:20 +0000)]
Virtual method calls are overrated

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

20 years agoVirtual method calls are overrated.
Chris Lattner [Thu, 12 Aug 2004 18:20:41 +0000 (18:20 +0000)]
Virtual method calls are overrated.

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

20 years agoForward substitute some constants into their users
Chris Lattner [Thu, 12 Aug 2004 18:10:18 +0000 (18:10 +0000)]
Forward substitute some constants into their users

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

20 years agoThe only target that uses this code (v9) always has argsOnStackHaveFixedSize
Chris Lattner [Thu, 12 Aug 2004 18:06:35 +0000 (18:06 +0000)]
The only target that uses this code (v9) always has argsOnStackHaveFixedSize
set to true (obviously)

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

20 years agoRemove dead methods
Chris Lattner [Thu, 12 Aug 2004 17:58:27 +0000 (17:58 +0000)]
Remove dead methods

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

20 years agoWhen we want a constant, just use it, instead of calling through layers of
Chris Lattner [Thu, 12 Aug 2004 17:56:01 +0000 (17:56 +0000)]
When we want a constant, just use it, instead of calling through layers of
virtual methods and register name mapping functions

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

20 years agoConvert to unix line format.
Reid Spencer [Thu, 12 Aug 2004 17:52:47 +0000 (17:52 +0000)]
Convert to unix line format.

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

20 years agoDisable PPC64 backend by default because LLC cannot choose automatically between
Misha Brukman [Thu, 12 Aug 2004 17:16:43 +0000 (17:16 +0000)]
Disable PPC64 backend by default because LLC cannot choose automatically between
SparcV9 and PowerPC64 without target triples, since they are both 64-bit
big-endian targets.

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

20 years agoThis patch makes the inliner refuse to inline functions that have alloca
Chris Lattner [Thu, 12 Aug 2004 05:45:09 +0000 (05:45 +0000)]
This patch makes the inliner refuse to inline functions that have alloca
instructions in the body of the function (not the entry block).  This fixes
test/Programs/SingleSource/Regression/C/2004-08-12-InlinerAndAllocas.c
and test/Programs/External/SPEC/CINT2000/176.gcc on zion.

This should obviously be pulled into 1.3.

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

20 years ago* Correct 64-bit version: blr 1 (not 0)
Misha Brukman [Thu, 12 Aug 2004 03:30:03 +0000 (03:30 +0000)]
* Correct 64-bit version: blr 1 (not 0)
* BuildMI() can build 0-param instructions (e.g., NOP)

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

20 years ago* Print out full names for non-GPR or -FPR registers
Misha Brukman [Thu, 12 Aug 2004 03:28:47 +0000 (03:28 +0000)]
* Print out full names for non-GPR or -FPR registers
* BuildMI() really *does* handle 0 params!

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

20 years agoFix code extraction of unwind blocks. This fixed bugs that bugpoint can
Chris Lattner [Thu, 12 Aug 2004 03:17:02 +0000 (03:17 +0000)]
Fix code extraction of unwind blocks.  This fixed bugs that bugpoint can
run into.  This should go into 1.3

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

20 years ago* Pointers are 8 bytes, hence cLong type on 64-bit PPC
Misha Brukman [Thu, 12 Aug 2004 02:53:01 +0000 (02:53 +0000)]
* Pointers are 8 bytes, hence cLong type on 64-bit PPC
* Fix loading of GlobalValues

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

20 years agoEliminate special-casing 14-bit immediate load/store opcodes
Misha Brukman [Thu, 12 Aug 2004 02:51:38 +0000 (02:51 +0000)]
Eliminate special-casing 14-bit immediate load/store opcodes

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

20 years agoHrm, this pass didn't compile. This bugfix should go into 1.3!
Chris Lattner [Thu, 12 Aug 2004 02:44:23 +0000 (02:44 +0000)]
Hrm, this pass didn't compile.  This bugfix should go into 1.3!

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

20 years agoIf the block extractor fails, actually emit the bc file that failed to extract
Chris Lattner [Thu, 12 Aug 2004 02:36:50 +0000 (02:36 +0000)]
If the block extractor fails, actually emit the bc file that failed to extract

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

20 years agoCorrectly print out ASCII literal strings on AIX
Misha Brukman [Thu, 12 Aug 2004 01:01:13 +0000 (01:01 +0000)]
Correctly print out ASCII literal strings on AIX

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

20 years agoMark R2 as available for allocation on Darwin/PPC32, but not AIX/PPC64
Misha Brukman [Thu, 12 Aug 2004 00:10:01 +0000 (00:10 +0000)]
Mark R2 as available for allocation on Darwin/PPC32, but not AIX/PPC64

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

20 years ago* Move AIX into the llvm namespace to be accessed from RegisterInfo
Misha Brukman [Wed, 11 Aug 2004 23:47:08 +0000 (23:47 +0000)]
* Move AIX into the llvm namespace to be accessed from RegisterInfo
* Mark InstrInfo with 32 vs. 64 bit flag
* Enable the 64-bit isel and asm printer

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

20 years agoSet the is64bit flag and propagate it to PowerPCRegisterInfo
Misha Brukman [Wed, 11 Aug 2004 23:45:43 +0000 (23:45 +0000)]
Set the is64bit flag and propagate it to PowerPCRegisterInfo

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

20 years ago* Set the is64bit boolean flag in PowerPCRegisterInfo
Misha Brukman [Wed, 11 Aug 2004 23:44:55 +0000 (23:44 +0000)]
* Set the is64bit boolean flag in PowerPCRegisterInfo
* Doubles are 8 bytes in 64-bit PowerPC, and use the general register class
* Use double-word loads and stores for restoring from/saving to stack
* Do not allocate R2 if compiling for AIX

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

20 years ago64-bit instruction selector and AIX-specific 64-bit asm printer
Misha Brukman [Wed, 11 Aug 2004 23:42:15 +0000 (23:42 +0000)]
64-bit instruction selector and AIX-specific 64-bit asm printer

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

20 years agoFix names of 64-bit CMP*D* opcodes, add LWA and STD* opcodes
Misha Brukman [Wed, 11 Aug 2004 23:33:34 +0000 (23:33 +0000)]
Fix names of 64-bit CMP*D* opcodes, add LWA and STD* opcodes

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

20 years agoAdd support for 64-bit CMPDI, CMPLDI, and CMPLD opcodes
Misha Brukman [Wed, 11 Aug 2004 20:56:14 +0000 (20:56 +0000)]
Add support for 64-bit CMPDI, CMPLDI, and CMPLD opcodes

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

20 years agoAdd doubleword load/store (64-bit only).
Misha Brukman [Wed, 11 Aug 2004 15:54:36 +0000 (15:54 +0000)]
Add doubleword load/store (64-bit only).

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

20 years agoSimple hand-coded tests to aid in early development of backends, along with a
Misha Brukman [Wed, 11 Aug 2004 14:16:34 +0000 (14:16 +0000)]
Simple hand-coded tests to aid in early development of backends, along with a
Makefile to run ad-hoc tests easily.

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

20 years agoHyphenate ##-bit and remove first-person from comments.
Misha Brukman [Wed, 11 Aug 2004 13:35:44 +0000 (13:35 +0000)]
Hyphenate ##-bit and remove first-person from comments.

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

20 years agoClean up 32/64bit and Darwin/AIX split. Next steps: 64 bit ISel, AIX asm printer.
Nate Begeman [Wed, 11 Aug 2004 07:40:04 +0000 (07:40 +0000)]
Clean up 32/64bit and Darwin/AIX split.  Next steps: 64 bit ISel, AIX asm printer.

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

20 years agoFix a case where constantexprs could leak into the PPC isel.
Chris Lattner [Wed, 11 Aug 2004 07:34:50 +0000 (07:34 +0000)]
Fix a case where constantexprs could leak into the PPC isel.

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

20 years agoRemove a bunch of ad-hoc target-specific flags that were only used by the
Chris Lattner [Wed, 11 Aug 2004 07:12:04 +0000 (07:12 +0000)]
Remove a bunch of ad-hoc target-specific flags that were only used by the
old asmprinter.

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

20 years agoRemove a dead method
Chris Lattner [Wed, 11 Aug 2004 07:07:14 +0000 (07:07 +0000)]
Remove a dead method

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

20 years agoFinally, the entire instruction asmprinter is now generated from tblgen, woo!
Chris Lattner [Wed, 11 Aug 2004 07:02:04 +0000 (07:02 +0000)]
Finally, the entire instruction asmprinter is now generated from tblgen, woo!

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

20 years agoAdd asmprintergen support for the last X86 instruction that needs it: pcrelative...
Chris Lattner [Wed, 11 Aug 2004 06:59:12 +0000 (06:59 +0000)]
Add asmprintergen support for the last X86 instruction that needs it: pcrelative calls.

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

20 years agoThis file is long dead
Chris Lattner [Wed, 11 Aug 2004 06:55:12 +0000 (06:55 +0000)]
This file is long dead

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

20 years agoScrunch memoperands, add a few more for floating point memops
Chris Lattner [Wed, 11 Aug 2004 06:50:10 +0000 (06:50 +0000)]
Scrunch memoperands, add a few more for floating point memops
Eliminate the FPI*m classes, converting them to use FPI instead.

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

20 years agoMove hacks up
Chris Lattner [Wed, 11 Aug 2004 06:09:55 +0000 (06:09 +0000)]
Move hacks up

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

20 years agoMake FPI take asm string and operand list
Chris Lattner [Wed, 11 Aug 2004 05:54:16 +0000 (05:54 +0000)]
Make FPI take asm string and operand list

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

20 years agoNuke the Im*i* patterns, by asmprintergenifying all users.
Chris Lattner [Wed, 11 Aug 2004 05:31:07 +0000 (05:31 +0000)]
Nuke the Im*i* patterns, by asmprintergenifying all users.

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

20 years agoX86 instructions that read-modify-write memory are not LLVM two-address instructions.
Chris Lattner [Wed, 11 Aug 2004 05:07:25 +0000 (05:07 +0000)]
X86 instructions that read-modify-write memory are not LLVM two-address instructions.

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

20 years agoGet rid of the Im8, Im16, Im32 classes, converting more instructions over to
Chris Lattner [Wed, 11 Aug 2004 04:31:00 +0000 (04:31 +0000)]
Get rid of the Im8, Im16, Im32 classes, converting more instructions over to
asmprintergeneration

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