Brian Gaeke
e4ed742588
Update list of failing benchmarks.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18202 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24 04:07:42 +00:00
Brian Gaeke
31e575901f
Fix bug in emitGEPOperation with large struct-member offsets.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18201 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24 04:07:33 +00:00
Chris Lattner
69efbdd4f3
Fix a few more tests by encoding the extsb and other XForm11 instructions
...
correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18200 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24 03:52:02 +00:00
Chris Lattner
2f5091ac2a
Fix the encoding of ORi and other DForm4 instructions. This brings us to
...
36/42 SingleSource/UnitTests passing!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18199 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24 02:15:41 +00:00
Chris Lattner
00a8c01999
Loads are relocatable too
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18198 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24 02:03:44 +00:00
Chris Lattner
b765ff1219
Calls do not need a MovPCtoLR instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18197 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24 02:00:06 +00:00
Chris Lattner
b9f26da5dd
Get constant pools working. This fixes even more programs, allowing us to
...
pass 24/42 in UnitTests (up from 20).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18196 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24 01:56:12 +00:00
Tanya Lattner
a6ec8f5548
Forced branches to be first to be scheduled.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18195 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24 01:49:10 +00:00
Chris Lattner
8599d385a2
Rewrite branches more closely to correct. This makes more stuff pass, and
...
stops the infinite loops!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18194 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24 01:35:12 +00:00
Chris Lattner
310a752872
Branch instructions explicitly represent CRx in them. bEcause of this, encode
...
them explicitly as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18193 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24 01:15:19 +00:00
Nate Begeman
3b78e3b6a9
Fix encoding of bctrl, and remove some unused instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18192 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24 00:16:37 +00:00
Reid Spencer
84b9cedf91
Allow reading of member names that begin with an _ character.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18179 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 22:35:39 +00:00
Chris Lattner
6f407893e2
Fix encoding of blr and bctr
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18178 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 22:06:24 +00:00
Nate Begeman
65b7f3ed2a
Use the correct register class as a constaint to gcc's inline assembly, so
...
that we don't end up trying to use r0 as a base register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18176 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 21:37:22 +00:00
Nate Begeman
ca6d0f53ff
Save/Restore arg regs and nonvolatile regs the compiler might use during
...
CompilationCallback
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18175 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 21:34:18 +00:00
Chris Lattner
5afa9af81b
Fix the encoding of OR, AND and many other instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18174 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 21:17:35 +00:00
Brian Gaeke
88108b8cfa
Support shr long/ulong.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18173 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 21:10:50 +00:00
Brian Gaeke
4dd043f090
Support printing ConstantAggregateZeros.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18172 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 21:10:49 +00:00
Brian Gaeke
8a0c4fd0c6
Update failing SingleSource test-case list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18171 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 21:10:48 +00:00
Chris Lattner
d162032013
Remove argtype and argcount magic, which was used by the old asmprinter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18170 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 20:41:34 +00:00
Chris Lattner
583e32b653
Get rid of flags that are dead
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18169 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 20:37:41 +00:00
Chris Lattner
89d60de90e
Fix encoding of rlwinm?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18165 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 19:23:32 +00:00
Chris Lattner
943f45208c
Fix encodings
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18164 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 19:23:18 +00:00
Chris Lattner
9ba12359e3
Enumerate CR registers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18162 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 18:59:59 +00:00
Chris Lattner
d9d06b3af1
Initial implementation of exiting CompilationCallback
...
This should save all argument registers on entry and restore on exit, despite
that, simple things seem to work!!!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18161 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 18:49:46 +00:00
Chris Lattner
22cd028eef
This method is dead
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18160 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 18:47:55 +00:00
Chris Lattner
05ad23711e
Remove this method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18159 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 18:47:42 +00:00
Chris Lattner
adbcc1025e
Squelch a bogus warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18157 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 15:57:01 +00:00
Chris Lattner
d7fa35c6d2
Squelch a bogus warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18156 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 15:56:38 +00:00
Nate Begeman
dd30751654
Don't return value from void function. This is only temporary anyway while
...
the JIT is made to work!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18155 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 10:04:49 +00:00
Brian Gaeke
fbe558c993
pseudocode for 64-bit lshr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18154 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 08:14:09 +00:00
Chris Lattner
7598bbac66
Fix a minor bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18153 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 06:56:31 +00:00
Chris Lattner
c9a6b1f4f6
Be really paranoid about not breaking stuff yet
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18152 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 06:56:18 +00:00
Chris Lattner
e61198b323
Implement the first hunk of CompilationCallback. The pieces missing are the
...
ones noted, which require funny PPC specific inline assembly.
If some angel felt the desire to help me, I think this is that last bit missing
for JIT support (however, generic code emitter might night work right with
the constant pool yet).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18151 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 06:55:05 +00:00
Brian Gaeke
2041d0ca12
Add more known-failing tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18149 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 06:39:50 +00:00
Brian Gaeke
82a4795850
Add the rest of the logical instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18148 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 06:39:37 +00:00
Chris Lattner
7c83dc2714
Implement the stub needed to get into compilation callback.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18147 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 06:27:02 +00:00
Chris Lattner
64729d064a
Simplify code a bit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18146 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 06:05:44 +00:00
Chris Lattner
9b3d989cb7
Initial implementation of the JIT interfaces. Relocation is done and stubs
...
for external functions work. CompilationCallback has not been written, and
stubs for internal functions are not generated yet. This means you can call
printf and exit, and use global variables, but cannot call functions local to
a module yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18145 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 06:02:06 +00:00
Chris Lattner
e94c517bb5
Emit relocations for the global variable using instructions. This gets us
...
LA, LOADHiAddr, CALLpcrel, and MovePCtoLR working, though the constant pool
probably is not right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18144 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 05:59:53 +00:00
Chris Lattner
163393732a
Implement all of the methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18142 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 05:57:57 +00:00
Chris Lattner
42edd31209
Initial checkin of the 32-bit PPC relocation types
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18141 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 05:57:38 +00:00
Chris Lattner
e4fce6f19c
Move JITInfo from PPCTM to PPC32TM
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18140 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 05:56:40 +00:00
Chris Lattner
942d7b5a68
Do not provide the non-specialized PowerPCJITInfo object, it is pretty useless.
...
Instead, let derived classes provide specialized ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18139 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 05:55:38 +00:00
Chris Lattner
6540c6c344
LA is really addi. Be consistent with operand ordering to avoid confusing the code emitter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18138 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 05:54:25 +00:00
Tanya Lattner
e9cf6b9278
Changed the CreateCodeToLoadConst function to preserve SSA form. This basically means adding extra tmp instructions for intermediate values.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 04:22:29 +00:00
Chris Lattner
f2190b39d0
Remove some dead code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18136 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-22 23:07:22 +00:00
Chris Lattner
dd99885da3
Comment out a couple of unused instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18135 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-22 23:07:01 +00:00
Chris Lattner
90b1b457ef
Do not push two return addresses on the stack when we call external functions who have their addresses taken. This fixes test-call.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18134 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-22 22:25:30 +00:00
Chris Lattner
166f2269f5
Rename Emitter.cpp -> JITEmitter.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18132 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-22 22:00:25 +00:00