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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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