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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Chris Lattner [Wed, 11 Aug 2004 04:08:36 +0000 (04:08 +0000)]
Fix minor bug in previous checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15649
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 11 Aug 2004 03:30:55 +0000 (03:30 +0000)]
Fix 255.vortex by using getClassB instead of getClass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15648
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Aug 2004 02:26:39 +0000 (02:26 +0000)]
Remove dead method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15647
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Aug 2004 02:25:00 +0000 (02:25 +0000)]
Convert asmprinter to new style of instruction printer
Start asmprintergen'ifying machine instrs with memory operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15646
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Aug 2004 02:23:23 +0000 (02:23 +0000)]
change how we invoke the printer. Instead of passing in the MO directly,
pass in the MI, operand number, and the type of the operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15645
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Aug 2004 02:22:39 +0000 (02:22 +0000)]
Start parsing more information from the Operand information
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15644
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Aug 2004 01:53:58 +0000 (01:53 +0000)]
Remove special case hacks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15643
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Aug 2004 01:53:34 +0000 (01:53 +0000)]
Fill out immediate operand classes, add a new Operand class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15642
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Aug 2004 00:50:51 +0000 (00:50 +0000)]
Fix InstCombine/2004-08-10-BoolSetCC.ll, a bug that is miscompiling
176.gcc. Note that this is apparently not the only bug miscompiling gcc
though. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15639
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Aug 2004 00:49:50 +0000 (00:49 +0000)]
New testcase that instcombine is getting wrong
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15637
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 11 Aug 2004 00:11:25 +0000 (00:11 +0000)]
Breaking up the PowerPC target into 32- and 64-bit subparts, Part III: the rest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15636
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 11 Aug 2004 00:10:41 +0000 (00:10 +0000)]
Breaking up the PowerPC target into 32- and 64-bit subparts: Part II: 64-bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15635
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 11 Aug 2004 00:09:42 +0000 (00:09 +0000)]
Breaking up the PowerPC target into 32- and 64-bit subparts, Part I: 32-bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15634
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 10 Aug 2004 23:10:25 +0000 (23:10 +0000)]
Implement new constructor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15633
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 10 Aug 2004 23:10:21 +0000 (23:10 +0000)]
Add new constructor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15632
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 10 Aug 2004 22:47:03 +0000 (22:47 +0000)]
Renamed PPC32 (namespace for regs, opcodes) to PPC to include 64-bit targets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15631
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 10 Aug 2004 21:24:44 +0000 (21:24 +0000)]
* Fix file header to use tablegen emacs mode instead of c++
* Wrap long line to 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15630
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 Aug 2004 21:21:30 +0000 (21:21 +0000)]
This is purely a formatting patch that gets us closer to the mecca of fitting
X86InstrInfo.td into 80 columns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15629
91177308-0d34-0410-b5e6-
96231b3b80d8