oota-llvm.git
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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 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

22 years agoMinor changes to cloning interface
Chris Lattner [Tue, 19 Nov 2002 22:54:01 +0000 (22:54 +0000)]
Minor changes to cloning interface

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

22 years agoFix two fixmes: integrate with inlining, and document
Chris Lattner [Tue, 19 Nov 2002 22:04:49 +0000 (22:04 +0000)]
Fix two fixmes: integrate with inlining, and document

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

22 years agoAdd support for bugpoint
Chris Lattner [Tue, 19 Nov 2002 21:57:18 +0000 (21:57 +0000)]
Add support for bugpoint

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

22 years agoExtend function cloning interface to support inlining
Chris Lattner [Tue, 19 Nov 2002 21:54:38 +0000 (21:54 +0000)]
Extend function cloning interface to support inlining

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

22 years agoRework inline pass to use cloning infrastructure to do the dirty work
Chris Lattner [Tue, 19 Nov 2002 21:54:07 +0000 (21:54 +0000)]
Rework inline pass to use cloning infrastructure to do the dirty work

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

22 years agoThis file is supersumed by Utils/Cloning.h
Chris Lattner [Tue, 19 Nov 2002 21:00:33 +0000 (21:00 +0000)]
This file is supersumed by Utils/Cloning.h

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

22 years agoStart using the new function cloning header
Chris Lattner [Tue, 19 Nov 2002 20:59:41 +0000 (20:59 +0000)]
Start using the new function cloning header

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

22 years agoMerge cloning and inlining utilities
Chris Lattner [Tue, 19 Nov 2002 20:58:38 +0000 (20:58 +0000)]
Merge cloning and inlining utilities

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

22 years agoMove MutatStructTypes.h out of IPO
Chris Lattner [Tue, 19 Nov 2002 20:49:40 +0000 (20:49 +0000)]
Move MutatStructTypes.h out of IPO

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

22 years agoMove inlining pass to IPO.h
Chris Lattner [Tue, 19 Nov 2002 20:43:24 +0000 (20:43 +0000)]
Move inlining pass to IPO.h

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

22 years agoRename CloneFunction.h to Cloning.h
Chris Lattner [Tue, 19 Nov 2002 20:08:24 +0000 (20:08 +0000)]
Rename CloneFunction.h to Cloning.h

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

22 years agoMove the function extractor pass from tools/extract into lib/Xform/IPO
Chris Lattner [Tue, 19 Nov 2002 18:42:59 +0000 (18:42 +0000)]
Move the function extractor pass from tools/extract into lib/Xform/IPO

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

22 years agoAdd a new Module::getNamedFunction method
Chris Lattner [Tue, 19 Nov 2002 18:41:44 +0000 (18:41 +0000)]
Add a new Module::getNamedFunction method

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

22 years agoIgnore options that are ""
Chris Lattner [Tue, 19 Nov 2002 17:10:14 +0000 (17:10 +0000)]
Ignore options that are ""

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

22 years agoRemove extra target.a entry
Chris Lattner [Tue, 19 Nov 2002 16:59:41 +0000 (16:59 +0000)]
Remove extra target.a entry

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

22 years agoBrian Gaeke says:
Brian Gaeke [Tue, 19 Nov 2002 09:08:47 +0000 (09:08 +0000)]
Brian Gaeke says:

lib/Target/X86/InstSelectSimple.cpp: Add a little something to
 visitBranchInst which supports conditional branches.
lib/Target/X86/X86InstrInfo.def: Add defs of JNE, JE, CMPri8

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

22 years ago*** empty log message ***
Nick Hildenbrandt [Mon, 18 Nov 2002 22:21:52 +0000 (22:21 +0000)]
*** empty log message ***

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

22 years agoAdd peak memory usage measurement capability
Chris Lattner [Mon, 18 Nov 2002 21:47:09 +0000 (21:47 +0000)]
Add peak memory usage measurement capability
Add (currently disabled) faciility to try to filter out pool allocation overhead from memory usage stats

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

22 years agoAdd facility to compute peak memory usage
Chris Lattner [Mon, 18 Nov 2002 21:45:55 +0000 (21:45 +0000)]
Add facility to compute peak memory usage

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

22 years agoInline DSTypeRec stuff into DSNode
Chris Lattner [Mon, 18 Nov 2002 21:45:30 +0000 (21:45 +0000)]
Inline DSTypeRec stuff into DSNode

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

22 years agoInline DSTypeRec into DSNode
Chris Lattner [Mon, 18 Nov 2002 21:45:07 +0000 (21:45 +0000)]
Inline DSTypeRec into DSNode

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

22 years agoAdd peak memory usage measurement stuff
Chris Lattner [Mon, 18 Nov 2002 21:44:46 +0000 (21:44 +0000)]
Add peak memory usage measurement stuff
Add structure padding optimizations

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

22 years agoAdd peak memory usage support
Chris Lattner [Mon, 18 Nov 2002 21:44:19 +0000 (21:44 +0000)]
Add peak memory usage support

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

22 years agoAdd stats
Chris Lattner [Mon, 18 Nov 2002 21:42:45 +0000 (21:42 +0000)]
Add stats

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

22 years agoTemplatize graph traits and iterator to work with const and non-const clients
Chris Lattner [Mon, 18 Nov 2002 21:42:19 +0000 (21:42 +0000)]
Templatize graph traits and iterator to work with const and non-const clients

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

22 years ago*** empty log message ***
Nick Hildenbrandt [Mon, 18 Nov 2002 20:55:50 +0000 (20:55 +0000)]
*** empty log message ***

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

22 years agoAdd helper method
Chris Lattner [Mon, 18 Nov 2002 06:57:05 +0000 (06:57 +0000)]
Add helper method

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

22 years agoStart trying to print instructions more correctly. For now we also print out the...
Chris Lattner [Mon, 18 Nov 2002 06:56:51 +0000 (06:56 +0000)]
Start trying to print instructions more correctly.  For now we also print out the opcode for each instruction as well.

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

22 years agoExpose base opcode
Chris Lattner [Mon, 18 Nov 2002 06:56:24 +0000 (06:56 +0000)]
Expose base opcode

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

22 years agoStart to add more information to instr.def
Chris Lattner [Mon, 18 Nov 2002 05:37:11 +0000 (05:37 +0000)]
Start to add more information to instr.def

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

22 years agoAdd instruction annotation about whether it has a 0x0F opcode prefix
Chris Lattner [Mon, 18 Nov 2002 01:59:28 +0000 (01:59 +0000)]
Add instruction annotation about whether it has a 0x0F opcode prefix

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