oota-llvm.git
21 years agoStart implementing MachineCodeEmitter
Chris Lattner [Mon, 2 Dec 2002 21:44:34 +0000 (21:44 +0000)]
Start implementing MachineCodeEmitter

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

21 years agoStart adding to the meat of MachineCodeEmitter
Chris Lattner [Mon, 2 Dec 2002 21:44:13 +0000 (21:44 +0000)]
Start adding to the meat of MachineCodeEmitter

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

21 years agoEliminate OtherFrm
Chris Lattner [Mon, 2 Dec 2002 21:40:58 +0000 (21:40 +0000)]
Eliminate OtherFrm

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

21 years agoRemove comment
Chris Lattner [Mon, 2 Dec 2002 21:40:46 +0000 (21:40 +0000)]
Remove comment
Remove handling of OtherFrm

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

21 years agoInitial support for machine code emission
Chris Lattner [Mon, 2 Dec 2002 21:24:12 +0000 (21:24 +0000)]
Initial support for machine code emission

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

21 years agoAdd initial support for machine code emission
Chris Lattner [Mon, 2 Dec 2002 21:22:04 +0000 (21:22 +0000)]
Add initial support for machine code emission

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

21 years agoInitial version of MachineCodeEmitter interface: empty
Chris Lattner [Mon, 2 Dec 2002 21:21:36 +0000 (21:21 +0000)]
Initial version of MachineCodeEmitter interface: empty

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

21 years agoThe hopefully final version of addPassesToEmitMachineCode which does not
Chris Lattner [Mon, 2 Dec 2002 21:15:42 +0000 (21:15 +0000)]
The hopefully final version of addPassesToEmitMachineCode which does not
have any question about ownership

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

21 years agoIgnore generated files gram.tab.c and gram.tab.h
Misha Brukman [Mon, 2 Dec 2002 21:15:37 +0000 (21:15 +0000)]
Ignore generated files gram.tab.c and gram.tab.h

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

21 years agoIgnore generated files Lexer.cpp and llvmAsmParser.*
Misha Brukman [Mon, 2 Dec 2002 21:14:54 +0000 (21:14 +0000)]
Ignore generated files Lexer.cpp and llvmAsmParser.*

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

21 years agoIgnore generated files FileLexer.* and FileParser.*
Misha Brukman [Mon, 2 Dec 2002 21:13:59 +0000 (21:13 +0000)]
Ignore generated files FileLexer.* and FileParser.*

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

21 years agoAdd comment about ownership semantics
Chris Lattner [Mon, 2 Dec 2002 21:13:45 +0000 (21:13 +0000)]
Add comment about ownership semantics

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

21 years ago* Abstracted out stack space allocation into its own function
Misha Brukman [Mon, 2 Dec 2002 21:11:58 +0000 (21:11 +0000)]
* Abstracted out stack space allocation into its own function
* Added saving of register values to the stack

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

21 years agoFix order of operands on a store from reg to [reg+offset].
Misha Brukman [Mon, 2 Dec 2002 21:10:35 +0000 (21:10 +0000)]
Fix order of operands on a store from reg to [reg+offset].

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

21 years agoAdd stub to emit machine code for JIT
Chris Lattner [Mon, 2 Dec 2002 21:00:50 +0000 (21:00 +0000)]
Add stub to emit machine code for JIT

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

21 years agoContinued support for field intitializers
Chris Lattner [Mon, 2 Dec 2002 17:53:54 +0000 (17:53 +0000)]
Continued support for field intitializers

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

21 years agoContinued support for field initializer
Chris Lattner [Mon, 2 Dec 2002 17:44:35 +0000 (17:44 +0000)]
Continued support for field initializer

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

21 years agoContinued support for Field Initializer
Chris Lattner [Mon, 2 Dec 2002 17:43:58 +0000 (17:43 +0000)]
Continued support for Field Initializer

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

21 years agoAdjustments due to new FieldInit stuff
Chris Lattner [Mon, 2 Dec 2002 17:43:43 +0000 (17:43 +0000)]
Adjustments due to new FieldInit stuff

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

21 years agoAdd comments, factor out common code
Chris Lattner [Mon, 2 Dec 2002 16:57:01 +0000 (16:57 +0000)]
Add comments, factor out common code

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

21 years agoAdd support for field exprs
Chris Lattner [Mon, 2 Dec 2002 16:43:43 +0000 (16:43 +0000)]
Add support for field exprs

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

21 years ago* Move BitsInit::resolveReferences up with the rest of BitsInit code
Chris Lattner [Mon, 2 Dec 2002 16:43:30 +0000 (16:43 +0000)]
* Move BitsInit::resolveReferences up with the rest of BitsInit code
* Initial support for field expressions

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

21 years agoInitial support for Field Expressions
Chris Lattner [Mon, 2 Dec 2002 16:42:52 +0000 (16:42 +0000)]
Initial support for Field Expressions

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

21 years agoAdd correct dependency
Chris Lattner [Mon, 2 Dec 2002 16:31:46 +0000 (16:31 +0000)]
Add correct dependency

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

21 years agoSplit up targets
Chris Lattner [Mon, 2 Dec 2002 16:13:42 +0000 (16:13 +0000)]
Split up targets

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

21 years agoAdd comments
Chris Lattner [Mon, 2 Dec 2002 16:13:23 +0000 (16:13 +0000)]
Add comments

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

21 years agoMake sure to build lib/Support before the utilities, then use the new
Chris Lattner [Mon, 2 Dec 2002 01:23:26 +0000 (01:23 +0000)]
Make sure to build lib/Support before the utilities, then use the new
makefile in utils to build the utilities

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

21 years agoInitial checkin of TableGen utility
Chris Lattner [Mon, 2 Dec 2002 01:23:04 +0000 (01:23 +0000)]
Initial checkin of TableGen utility

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

21 years agoAdd makefile to build subdirs
Chris Lattner [Mon, 2 Dec 2002 01:21:34 +0000 (01:21 +0000)]
Add makefile to build subdirs

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

21 years agoAdd rawfrm flags
Chris Lattner [Sun, 1 Dec 2002 23:25:59 +0000 (23:25 +0000)]
Add rawfrm flags

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

21 years agoDon't add implicit regs
Chris Lattner [Sun, 1 Dec 2002 23:24:58 +0000 (23:24 +0000)]
Don't add implicit regs

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

21 years agobrg
Brian Gaeke [Sat, 30 Nov 2002 11:57:28 +0000 (11:57 +0000)]
brg

InstSelectSimple.cpp: Refactor out conversion of byte, short -> int
  from visitReturnInst() to new method, promote32().
 Use it in both visitReturnInst() and visitCallInst().

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

21 years agobrg
Brian Gaeke [Fri, 29 Nov 2002 12:01:58 +0000 (12:01 +0000)]
brg

InstSelectSimple.cpp: First draft of visitCallInst method, handling
 int/float args.
X86InstrInfo.def: Add entries for CALL with 32-bit pc relative arg, and
 PUSH with 32-bit reg arg.

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

21 years agoSeveral fixes:
Vikram S. Adve [Wed, 27 Nov 2002 17:46:38 +0000 (17:46 +0000)]
Several fixes:
(1) Applied patch from Casey to implement iterator::operator= correctly:
    it should use a pointer, not a reference.
(2) Added operators == and !=, and method all().
(3) Important bug fix: excess bits need to be ignored in operations
    like ==, count(), and all().  We do this by ensuring excess bits
    in the last bitset are always 0.

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

21 years agoFix logical error in TD pass: we should clear Mod/Ref bits of each caller
Vikram S. Adve [Wed, 27 Nov 2002 17:41:13 +0000 (17:41 +0000)]
Fix logical error in TD pass: we should clear Mod/Ref bits of each caller
before inlining their graphs into a function.  To support this,
added flags to CloneFlags to strip/keep Mod/Ref bits.

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

21 years agoAdded flags to CloneFlags to strip/keep Mod/Ref bits when cloning a graph.
Vikram S. Adve [Wed, 27 Nov 2002 17:39:37 +0000 (17:39 +0000)]
Added flags to CloneFlags to strip/keep Mod/Ref bits when cloning a graph.

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

21 years agoNo longer need local graph to find call sites.
Vikram S. Adve [Wed, 27 Nov 2002 17:38:56 +0000 (17:38 +0000)]
No longer need local graph to find call sites.
Also some major fixes within IPModRef.cpp.

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

21 years ago(1) Bug fix that was causing nodes with dangling references to be freed.
Vikram S. Adve [Wed, 27 Nov 2002 17:37:46 +0000 (17:37 +0000)]
(1) Bug fix that was causing nodes with dangling references to be freed.
    We run removeDeadNodes() on the TD graph up front before using it.
(2) Major enhancement to printing of results: now we list the actual objects
    that are mod/ref instead of just printing the bit vectors.
Also an important bug fix in TDDataStructures pass (no change here):
clear Mod/Ref bits of callers before inlining into a function.

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

21 years agobrg
Brian Gaeke [Tue, 26 Nov 2002 10:43:30 +0000 (10:43 +0000)]
brg

InstSelectSimple.cpp: Add some comments that say what I'm going to do for
 calls and casts.

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

21 years agoKeep global nodes in each DS Graph (by forcing them to be marked live).
Vikram S. Adve [Mon, 25 Nov 2002 18:21:25 +0000 (18:21 +0000)]
Keep global nodes in each DS Graph (by forcing them to be marked live).

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

21 years agoOops. Got the MOVrm and MOVmr mixed up. Fixed. We can now print out
Misha Brukman [Fri, 22 Nov 2002 23:15:27 +0000 (23:15 +0000)]
Oops. Got the MOVrm and MOVmr mixed up. Fixed. We can now print out
instructions correctly.

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

21 years agoEnable the register allocator pass.
Misha Brukman [Fri, 22 Nov 2002 22:45:07 +0000 (22:45 +0000)]
Enable the register allocator pass.

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

21 years agoA simple (spilling) register allocator.
Misha Brukman [Fri, 22 Nov 2002 22:44:32 +0000 (22:44 +0000)]
A simple (spilling) register allocator.

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

21 years agoAdded methods to read/write values to stack in .h, fixed implementation in
Misha Brukman [Fri, 22 Nov 2002 22:43:47 +0000 (22:43 +0000)]
Added methods to read/write values to stack in .h, fixed implementation in
.cpp to return the iterator correctly.

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

21 years agoAdded -*- C++ -*- mode to the comments.
Misha Brukman [Fri, 22 Nov 2002 22:42:50 +0000 (22:42 +0000)]
Added -*- C++ -*- mode to the comments.

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

21 years agoAdd a simple way to add memory locations of format [reg+offset]
Misha Brukman [Fri, 22 Nov 2002 22:42:12 +0000 (22:42 +0000)]
Add a simple way to add memory locations of format [reg+offset]

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

21 years agoAdded virtual functions for storing and retrieving values from the stack.
Misha Brukman [Fri, 22 Nov 2002 22:41:23 +0000 (22:41 +0000)]
Added virtual functions for storing and retrieving values from the stack.

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

21 years agoInstead of checking op.getType() against MO_VirtualRegister and
Misha Brukman [Fri, 22 Nov 2002 22:40:52 +0000 (22:40 +0000)]
Instead of checking op.getType() against MO_VirtualRegister and
MO_MachineRegister, we no longer distinguish Virtual vs. Machine registers
externally, they're ALL registers, all equal.

Registers are only differentiated whether they are >=
MRegisterInfo::FirstVirtual or not.

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

21 years agoSet SSARegMap to NULL after deleting it.
Misha Brukman [Fri, 22 Nov 2002 22:32:15 +0000 (22:32 +0000)]
Set SSARegMap to NULL after deleting it.

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

21 years agolib/Target/X86/InstSelectSimple.cpp: Add visitCallInst, visitCastInst.
Brian Gaeke [Fri, 22 Nov 2002 11:07:01 +0000 (11:07 +0000)]
lib/Target/X86/InstSelectSimple.cpp: Add visitCallInst, visitCastInst.

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

21 years agoMake testcase more interesting
Chris Lattner [Thu, 21 Nov 2002 23:30:08 +0000 (23:30 +0000)]
Make testcase more interesting

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

21 years agoHandle cmp Reg, 0 correctly
Chris Lattner [Thu, 21 Nov 2002 23:30:00 +0000 (23:30 +0000)]
Handle cmp Reg, 0 correctly

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

21 years agoPrinting support for more stuff
Chris Lattner [Thu, 21 Nov 2002 22:49:46 +0000 (22:49 +0000)]
Printing support for more stuff

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

21 years agoDon't add implicit operands
Chris Lattner [Thu, 21 Nov 2002 22:49:20 +0000 (22:49 +0000)]
Don't add implicit operands

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

21 years agoFix off by one bug
Chris Lattner [Thu, 21 Nov 2002 22:48:15 +0000 (22:48 +0000)]
Fix off by one bug

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

21 years agoAdd fixme
Chris Lattner [Thu, 21 Nov 2002 22:48:01 +0000 (22:48 +0000)]
Add fixme

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

21 years agoMinor code cleanups
Chris Lattner [Thu, 21 Nov 2002 21:04:50 +0000 (21:04 +0000)]
Minor code cleanups

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

21 years agoImplement printing of store instructions
Chris Lattner [Thu, 21 Nov 2002 21:03:39 +0000 (21:03 +0000)]
Implement printing of store instructions

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

21 years agoThe big change here is to handle printing/emission of X86II::MRMSrcMem
Chris Lattner [Thu, 21 Nov 2002 20:44:15 +0000 (20:44 +0000)]
The big change here is to handle printing/emission of X86II::MRMSrcMem
instructions.  Right now the only users are load instructions, and Misha's
spill code

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

21 years agoRemove implicit information from instruction selector
Chris Lattner [Thu, 21 Nov 2002 18:54:29 +0000 (18:54 +0000)]
Remove implicit information from instruction selector

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

21 years agoAdd printing information for MUL and DIV
Chris Lattner [Thu, 21 Nov 2002 18:54:14 +0000 (18:54 +0000)]
Add printing information for MUL and DIV

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

21 years agoFix a bug that prevented compilation of multiple functions
Chris Lattner [Thu, 21 Nov 2002 17:26:58 +0000 (17:26 +0000)]
Fix a bug that prevented compilation of multiple functions

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

21 years agoMove test
Chris Lattner [Thu, 21 Nov 2002 17:20:32 +0000 (17:20 +0000)]
Move test

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

21 years agoShuffle testcases around
Chris Lattner [Thu, 21 Nov 2002 17:20:12 +0000 (17:20 +0000)]
Shuffle testcases around

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

21 years agoNew testcase
Chris Lattner [Thu, 21 Nov 2002 17:18:37 +0000 (17:18 +0000)]
New testcase

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

21 years agoRemove opcode information for instructions that are completely defined now
Chris Lattner [Thu, 21 Nov 2002 17:12:55 +0000 (17:12 +0000)]
Remove opcode information for instructions that are completely defined now

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

21 years agoAdd printing support for sahf & setcc
Chris Lattner [Thu, 21 Nov 2002 17:10:57 +0000 (17:10 +0000)]
Add printing support for sahf & setcc

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

21 years agoAdd printing support for /0 /1 type instructions
Chris Lattner [Thu, 21 Nov 2002 17:09:01 +0000 (17:09 +0000)]
Add printing support for /0 /1 type instructions

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

21 years agoAdd support for /0 /1, etc type instructions
Chris Lattner [Thu, 21 Nov 2002 17:08:49 +0000 (17:08 +0000)]
Add support for /0 /1, etc type instructions

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

21 years agoUser defined operators are not supposed to live beyond the lifetime of the
Chris Lattner [Thu, 21 Nov 2002 16:54:22 +0000 (16:54 +0000)]
User defined operators are not supposed to live beyond the lifetime of the
pass.  Detect and flag them.

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

21 years agoRename the SetCC X86 instructions to reflect the fact that they are the
Chris Lattner [Thu, 21 Nov 2002 16:19:42 +0000 (16:19 +0000)]
Rename the SetCC X86 instructions to reflect the fact that they are the
register versions

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

21 years agoSimplify setcc code a bit
Chris Lattner [Thu, 21 Nov 2002 15:52:38 +0000 (15:52 +0000)]
Simplify setcc code a bit

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

21 years agoSupport Registers of the form (B8+ rd) for example
Chris Lattner [Thu, 21 Nov 2002 02:00:20 +0000 (02:00 +0000)]
Support Registers of the form (B8+ rd) for example

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

21 years agoDont' set flags
Chris Lattner [Thu, 21 Nov 2002 01:59:50 +0000 (01:59 +0000)]
Dont' set flags

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

21 years agoImplement printing more, implement opcode output more
Chris Lattner [Thu, 21 Nov 2002 01:33:44 +0000 (01:33 +0000)]
Implement printing more, implement opcode output more

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

21 years agoHuge diff do to reindeinting comments.
Chris Lattner [Thu, 21 Nov 2002 01:33:28 +0000 (01:33 +0000)]
Huge diff do to reindeinting comments.
Basically just adds OpSize flags for instructions that need them.

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

21 years agoAdd new prefix flag
Chris Lattner [Thu, 21 Nov 2002 01:32:55 +0000 (01:32 +0000)]
Add new prefix flag

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

21 years agoPrint another class of instructions correctly, giving us: xorl EDX, EDX
Chris Lattner [Thu, 21 Nov 2002 00:30:01 +0000 (00:30 +0000)]
Print another class of instructions correctly, giving us: xorl EDX, EDX
for example.

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

21 years agoBooleans are types too. And they get stored in bytes. And InstructionSelection
Misha Brukman [Thu, 21 Nov 2002 00:25:56 +0000 (00:25 +0000)]
Booleans are types too. And they get stored in bytes. And InstructionSelection
doesn't assert fail. And everyone's happy. Yay!

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

21 years agoCheckin testcases for bugpoint
Chris Lattner [Wed, 20 Nov 2002 22:30:02 +0000 (22:30 +0000)]
Checkin testcases for bugpoint

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

21 years agoBuild bugpoint
Chris Lattner [Wed, 20 Nov 2002 22:28:18 +0000 (22:28 +0000)]
Build bugpoint

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

21 years agoInitial checkin of bugpoint
Chris Lattner [Wed, 20 Nov 2002 22:28:10 +0000 (22:28 +0000)]
Initial checkin of bugpoint

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

21 years agoInitial checkin of Module cloning support stuff
Chris Lattner [Wed, 20 Nov 2002 20:47:41 +0000 (20:47 +0000)]
Initial checkin of Module cloning support stuff

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

21 years agoCloning stuff doesn't modify the source module
Chris Lattner [Wed, 20 Nov 2002 20:22:58 +0000 (20:22 +0000)]
Cloning stuff doesn't modify the source module

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

21 years agoX86 target builds fine now
Chris Lattner [Wed, 20 Nov 2002 20:17:03 +0000 (20:17 +0000)]
X86 target builds fine now

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

21 years agoFix symbol table problem
Chris Lattner [Wed, 20 Nov 2002 19:32:43 +0000 (19:32 +0000)]
Fix symbol table problem

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

21 years agoAdd definitions for function headers from MRegisterInfo.h:
Misha Brukman [Wed, 20 Nov 2002 18:59:43 +0000 (18:59 +0000)]
Add definitions for function headers from MRegisterInfo.h:
Some functions are in X86RegisterInfo.cpp, others, because of the data they
need, are in X86RegisterClasses.cpp, which also defines some register classes:
byte, short, and int.

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

21 years agoCheck not only for MO_VirtualRegister, but MO_MachineRegister as well when
Misha Brukman [Wed, 20 Nov 2002 18:56:41 +0000 (18:56 +0000)]
Check not only for MO_VirtualRegister, but MO_MachineRegister as well when
printing out assembly. After all, we want the real thing too.

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

21 years agoInitialize the SSARegMap.
Misha Brukman [Wed, 20 Nov 2002 18:55:27 +0000 (18:55 +0000)]
Initialize the SSARegMap.

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

21 years agoMRegisterInfo.h - Added prototypes for functions we need to map a register to
Misha Brukman [Wed, 20 Nov 2002 18:54:53 +0000 (18:54 +0000)]
MRegisterInfo.h - Added prototypes for functions we need to map a register to
an appropriate TargetRegisterClass, also adds TargetRegisterClass definition.
TargetMachine.h - speling.

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

21 years agoDon't build X86 target yet
Chris Lattner [Wed, 20 Nov 2002 18:37:37 +0000 (18:37 +0000)]
Don't build X86 target yet

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

21 years ago - Eliminated the deferred symbol table stuff in Module & Function, it really
Chris Lattner [Wed, 20 Nov 2002 18:36:02 +0000 (18:36 +0000)]
  - Eliminated the deferred symbol table stuff in Module & Function, it really
    wasn't an optimization and it was causing lots of bugs.

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

21 years agoFix minor bugs
Chris Lattner [Wed, 20 Nov 2002 18:32:31 +0000 (18:32 +0000)]
Fix minor bugs

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

21 years agoEliminate the concept of a deferred symbol table. The optimization really isn't,
Chris Lattner [Wed, 20 Nov 2002 18:07:48 +0000 (18:07 +0000)]
Eliminate the concept of a deferred symbol table.  The optimization really isn't,
and it causes obscure bugs to show up in passes.

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

21 years agoAdd mapping in MachineFunction from SSA regs to Register Classes. Also,
Misha Brukman [Wed, 20 Nov 2002 00:58:23 +0000 (00:58 +0000)]
Add mapping in MachineFunction from SSA regs to Register Classes. Also,
uncovered a bug where registers were not being put in a map if they were not
found...

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

21 years agoSigh. Fixed some speling.
Misha Brukman [Wed, 20 Nov 2002 00:56:42 +0000 (00:56 +0000)]
Sigh. Fixed some speling.

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

21 years agoSSARegMap -- the mapping between SSARegisters and their RegisterClasses, which
Misha Brukman [Wed, 20 Nov 2002 00:53:10 +0000 (00:53 +0000)]
SSARegMap -- the mapping between SSARegisters and their RegisterClasses, which
imply types of SSA Registers. This is on a per-function basis, so the
MachineFunction contains the SSARegMap, and has accessor functions to it.

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

21 years agoThanks to the R8, R16, and R32 macros, I can now deal with registers that
Misha Brukman [Wed, 20 Nov 2002 00:47:40 +0000 (00:47 +0000)]
Thanks to the R8, R16, and R32 macros, I can now deal with registers that
belong to different register classes easier.

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

21 years agoRemove unneccesary #include
Chris Lattner [Tue, 19 Nov 2002 23:12:53 +0000 (23:12 +0000)]
Remove unneccesary #include

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

21 years agoImplement the CloneFunction function
Chris Lattner [Tue, 19 Nov 2002 23:12:22 +0000 (23:12 +0000)]
Implement the CloneFunction function

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