Chris Lattner
ade0de9123
Tighten up assertion checking
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4939 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-06 03:55:39 +00:00
Chris Lattner
698e9ce568
Only build jello when compiling on X86
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4938 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-06 03:53:40 +00:00
Chris Lattner
5d7a579842
Fix to make jello compile on Sparc even though it won't run.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4937 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-06 03:52:51 +00:00
Chris Lattner
c35679b45f
Export a new ARCH variable indicating what platform is being compiled
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4936 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-06 03:45:20 +00:00
Chris Lattner
c736d56562
Fix bug: 2002-12-05-MissedConstProp.ll pointed out by Casey Carter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4935 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-05 22:41:53 +00:00
Chris Lattner
c41ab22492
New testcase pointed out by Casey Carter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4934 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-05 22:25:47 +00:00
Vikram S. Adve
c102cb7359
Cute bug fix: when moving links from N to this, some links could have
...
been missed if node *this got merged away due to recursive merging!
Also, links were not moved correctly if a node is collapsed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4933 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-05 17:17:26 +00:00
Brian Gaeke
86764d778e
Target/X86/Printer.cpp: Add sizePtr function, and use it instead of
...
" <SIZE> PTR " string when emitting assembly.
Target/X86/X86InstrInfo.def: Tidy up a bit:
Squashed everything down to 118 chars wide, wrapping lines so that
comment is at the same point on each line. Rename "NoImpRegs" as
"NoIR". (most instructions have NoImpRegs twice on a line, so this
saves 10 columns).
Also, annotate various instructions with flags for size of memory operand.
(MemArg16, MemArg32, MemArg64, etc.)
Target/X86/X86InstrInfo.h: Define flags for size of memory operand.
(MemArg16, MemArg32, MemArg64, etc.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4932 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-05 08:30:40 +00:00
Misha Brukman
e78dba871b
Return 0 to make it into a fully-functioning "Hello, World!" test case.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4931 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 23:58:41 +00:00
Misha Brukman
dd46e2a81d
Added code generation for function prologues and epilogues.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4930 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 23:58:08 +00:00
Misha Brukman
2adb3959f6
Implemented functions for emitting prologues and epilogues;
...
removed EBP from the list of callee-saved registers (it isn't one).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4929 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 23:57:03 +00:00
Misha Brukman
1f283ef3e5
Added push and pop instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4928 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 23:56:26 +00:00
Misha Brukman
9da4d263b9
Added prototypes for emitting prologue and epilogue for function code
...
generation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4927 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 23:55:56 +00:00
Chris Lattner
4461f54bce
Fix testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4926 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 23:51:44 +00:00
Chris Lattner
4fa1acc945
Fix handling of function calls that return void
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4925 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 23:50:28 +00:00
Chris Lattner
a324364f04
Implement initial support for return values from call instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4924 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 23:45:28 +00:00
Misha Brukman
06f8aecc88
Fun arithmetic with iterators aimed at fixing a bug: inserting instructions
...
after the *current* instruction while keeping the iterator in the same
'logical' place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4923 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 19:24:45 +00:00
Misha Brukman
0d2cf3a533
Adjust the stack pointer after a function call, proportional to the number of
...
arguments pushed onto the stack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4922 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 19:22:53 +00:00
Misha Brukman
a17a2ac727
Added instructions to add/subtract imm32 to/from a reg32.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4921 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 19:15:22 +00:00
Chris Lattner
67c2639ced
New testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4920 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 17:35:11 +00:00
Chris Lattner
ac573f61b4
Fix bogus assertion failures
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4919 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 17:32:52 +00:00
Chris Lattner
6d66944388
Avoid bad assertion
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4918 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 17:28:40 +00:00
Chris Lattner
93689114a5
Remove think-o assertion
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4917 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 17:18:30 +00:00
Chris Lattner
d6c4cfab54
Avoid crashing on Arguments, just silently miscompile
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4916 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 17:15:34 +00:00
Chris Lattner
9f1bd80102
Add main functions to benchmarks
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4915 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 17:15:07 +00:00
Misha Brukman
a361c8417b
storeReg2RegOffset() and loadRegOffset2Reg() now take the iterator by value
...
instead of by reference, since they return the modified iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4914 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 17:14:13 +00:00
Misha Brukman
ab6d293435
On `make clean', kill the core files produced, which are of the form:
...
core.### where ### is the process ID. We use core.[0-9][0-9]* to avoid killing
core.c, core.cpp, and core.h files which may be part of benchmarks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4913 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 17:08:15 +00:00
Chris Lattner
00af117381
New testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4912 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 17:00:25 +00:00
Misha Brukman
0af0d5bd3e
Moved buildReg2RegClassMap() into from X86RegisterInfo to MRegisterInfo, since
...
it is target-independent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4911 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 16:47:04 +00:00
Chris Lattner
504c411e81
Add a "Lazy Function Resolution in Jello" section
...
Remove some todo's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4910 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 16:12:54 +00:00
Chris Lattner
33ced56edb
Fix a bug I introduced in a previous change
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4909 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 06:56:56 +00:00
Chris Lattner
42aa3ae90b
Add support for global value references
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4908 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 06:45:40 +00:00
Chris Lattner
dbf30f7b02
Add support for referencing global variables/functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4907 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 06:45:19 +00:00
Chris Lattner
b72d221d61
Print out direct global references
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4906 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 06:44:41 +00:00
Chris Lattner
64ccc73593
Add support for direct global references
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4905 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 06:44:27 +00:00
Chris Lattner
398b2f43ff
Initial checkin of global var support code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4904 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 06:09:04 +00:00
Chris Lattner
b3bbffe7fa
Implement simple global variable support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4903 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 06:04:17 +00:00
Chris Lattner
75a213dbe8
Implement external function support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4902 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 06:04:07 +00:00
Chris Lattner
08053e46be
Expose target data through a method for uniformity
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4901 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 05:20:12 +00:00
Chris Lattner
41db76dec2
Initial checkin of Unresolved function fault handler
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4900 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 05:05:26 +00:00
Chris Lattner
d6c10ea817
Implement lazy resolution of function calls
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4899 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 04:47:34 +00:00
Misha Brukman
dc2ec004f1
This should fix the bug seen with some registers not being allocated
...
correctly: skipping instructions by incorrectly incrementing the pointer.
Also adds support for building a reg-to-regclass map, and splits the function
for saving register to stack into two, one suitable for virtual registers
(which also assigns it a physical register) and one for simply storing back
physical registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4898 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-03 23:15:19 +00:00
Misha Brukman
03c6fafd05
Added support for callee- and caller-save registers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4897 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-03 23:11:21 +00:00
Misha Brukman
44662a783b
RegisterInfo now supports handing out caller- and callee-save registers, as
...
well as building a map from a physical register to its register class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4896 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-03 23:09:53 +00:00
Chris Lattner
e8e6743cb7
Fix broken ret opcode, grr...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4895 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-03 22:50:02 +00:00
Chris Lattner
6710121b6b
Initial checkin of virtual machine implementation.
...
We can now run very trivial test cases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4894 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-03 22:48:59 +00:00
Chris Lattner
f815aebd20
Checkin debug implementation of MCE
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4893 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-03 20:56:42 +00:00
Chris Lattner
ffc2d6f485
Add virtual dtor, expose a debug impl
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4892 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-03 20:56:20 +00:00
Chris Lattner
d852c15546
Fix instsel for calls
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4891 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-03 20:30:12 +00:00
Chris Lattner
ac676bef50
Testcase for call instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4890 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-03 20:30:03 +00:00