Chris Lattner
1b163867c6
LA is really addi. Be consistent with operand ordering to avoid confusing the code emitter
...
llvm-svn: 18138
2004-11-23 05:54:25 +00:00
Tanya Lattner
1d5bef8728
Changed the CreateCodeToLoadConst function to preserve SSA form. This basically means adding extra tmp instructions for intermediate values.
...
llvm-svn: 18137
2004-11-23 04:22:29 +00:00
Chris Lattner
3e3ba3b1cf
Remove some dead code
...
llvm-svn: 18136
2004-11-22 23:07:22 +00:00
Chris Lattner
5b68bdb2ce
Comment out a couple of unused instructions.
...
llvm-svn: 18135
2004-11-22 23:07:01 +00:00
Chris Lattner
7a34cbf266
Do not push two return addresses on the stack when we call external functions who have their addresses taken. This fixes test-call.ll
...
llvm-svn: 18134
2004-11-22 22:25:30 +00:00
Chris Lattner
76705f0c6b
Rename Emitter.cpp -> JITEmitter.cpp
...
llvm-svn: 18132
2004-11-22 22:00:25 +00:00
Chris Lattner
70c19defde
Fix the FIXME, nuke the JIT specific forceCompilationOf method.
...
llvm-svn: 18131
2004-11-22 21:54:35 +00:00
Chris Lattner
a020fc1650
Disable this.
...
llvm-svn: 18130
2004-11-22 21:51:40 +00:00
Chris Lattner
d38029313a
These methods are obsolete
...
llvm-svn: 18129
2004-11-22 21:48:33 +00:00
Chris Lattner
bab8204396
This chunk of code needs to be rewritten
...
llvm-svn: 18127
2004-11-22 21:45:54 +00:00
Chris Lattner
a0d9f5ba13
Remove some dead vars and some useless namespacification
...
llvm-svn: 18126
2004-11-22 21:42:40 +00:00
Chris Lattner
8923fe6832
Implement a disgusting hack to work around broken machine code emission of
...
the RDCCR instruction. This fixes a bunch of programs with the JIT.
llvm-svn: 18124
2004-11-22 21:25:10 +00:00
Tanya Lattner
da8a6fc7d4
Fixed a bug where I was trying to ModuloSchedule a loop with no instructions but a terminator.
...
Fixed a bug in the schedule generation that was always using the start cycle.
llvm-svn: 18123
2004-11-22 20:41:24 +00:00
Chris Lattner
9d7ad5bf96
Remove JIT-specific code from the code emitter.
...
llvm-svn: 18122
2004-11-22 20:25:10 +00:00
Chris Lattner
4d5cde4b09
New methods implemented
...
llvm-svn: 18121
2004-11-22 20:24:42 +00:00
Chris Lattner
a3447e02b8
Implement the Sparc JIT interfaces, including relocation support.
...
llvm-svn: 18120
2004-11-22 20:24:27 +00:00
Chris Lattner
7647235f0f
Fix test/Regression/CFrontend/2003-11-01-EmptyStructCrash.c
...
llvm-svn: 18115
2004-11-22 19:15:27 +00:00
Chris Lattner
ee2f552b0f
Do not count debugger intrinsics in size estimation.
...
llvm-svn: 18110
2004-11-22 17:23:57 +00:00
Chris Lattner
9d1117ed96
Ignore debugger intrinsics when doing inlining size computations.
...
llvm-svn: 18109
2004-11-22 17:21:44 +00:00
Chris Lattner
4b58b75683
Do not consider debug intrinsics in the size computations for loop unrolling.
...
Patch contributed by Michael McCracken!
llvm-svn: 18108
2004-11-22 17:18:36 +00:00
Brian Gaeke
c0c0b053e6
Add stub method for long shift codegen.
...
llvm-svn: 18100
2004-11-22 08:02:06 +00:00
Brian Gaeke
e9a2261d3b
Update to-do list.
...
llvm-svn: 18099
2004-11-22 08:02:05 +00:00
Chris Lattner
8909e6452a
Support targets that require stubs for external functions better
...
llvm-svn: 18098
2004-11-22 07:24:43 +00:00
Reid Spencer
df25e5b3bb
Fix a comment to imply the correct semantics.
...
llvm-svn: 18097
2004-11-22 02:58:47 +00:00
Chris Lattner
1670e9e779
Initial checkin of the V9 relocation types
...
llvm-svn: 18095
2004-11-22 00:40:51 +00:00
Brian Gaeke
52bb1a0073
Implement setcc on longs.
...
llvm-svn: 18088
2004-11-21 08:11:28 +00:00
Brian Gaeke
3904c8ffec
Add all the rest of the ADD and SUB variants, some of which are important for
...
64-bit support.
llvm-svn: 18087
2004-11-21 07:13:17 +00:00
Brian Gaeke
cb0a971f8f
Support add, sub, mul, div, rem on longs/ulongs (latter 3 by emitting libcalls).
...
Add a big comment containing my notes on how to do setcc for longs/ulongs.
llvm-svn: 18086
2004-11-21 07:13:16 +00:00
Brian Gaeke
3b6aeefea6
Update to-do list.
...
llvm-svn: 18085
2004-11-21 07:13:15 +00:00
Nate Begeman
7ec36ad70f
Fix Shootout-C++/wc, which was broken by my recent changes to emit fewer
...
reg-reg copies. The necessary conditions for this bug are a GEP that is
used outside the basic block in which it is defined, whose components
other than the pointer are all constant zero, and where the use is
selected before the definition (backwards branch to successsor block).
llvm-svn: 18084
2004-11-21 05:14:06 +00:00
Chris Lattner
f4c8575535
There is no reason to emit function stubs for direct calls.
...
llvm-svn: 18082
2004-11-21 03:46:06 +00:00
Chris Lattner
596d18c8dd
Clean up DEBUG output
...
llvm-svn: 18081
2004-11-21 03:44:32 +00:00
Chris Lattner
ce43d636fe
Allow targets to avoid emitting a stub for EVERY lazily resolved call. In
...
most cases (e.g. direct calls) no stub is needed.
llvm-svn: 18080
2004-11-21 03:37:42 +00:00
Brian Gaeke
e07eb993d6
Fix extraStack calculation -- I think in fact it might be getting a bit *too*
...
much stack, but that's better than not enough, which leads to miscompilations.
Fix FP vaarg.
llvm-svn: 18079
2004-11-21 03:35:22 +00:00
Brian Gaeke
75580d2a09
Update list of failing benchmarks & to-do list.
...
llvm-svn: 18078
2004-11-21 03:35:21 +00:00
Chris Lattner
6d1fb33657
ignore generated files
...
llvm-svn: 18073
2004-11-21 00:01:54 +00:00
Chris Lattner
3e3645938e
ignore generated files.
...
llvm-svn: 18072
2004-11-21 00:00:54 +00:00
Chris Lattner
d8c2739b24
Implement relocation support by adding a target independent resolver interface.
...
llvm-svn: 18069
2004-11-20 23:57:07 +00:00
Chris Lattner
4a340e281e
Remove all JIT specific code and switch the code generator over to emitting
...
relocations for global references.
llvm-svn: 18068
2004-11-20 23:55:15 +00:00
Chris Lattner
b9a44893e9
Implement the X86 JIT interfaces
...
llvm-svn: 18067
2004-11-20 23:54:33 +00:00
Chris Lattner
8e33311566
Describe the X86 target-specific relocations.
...
llvm-svn: 18066
2004-11-20 23:54:19 +00:00
Chris Lattner
3c20464ad7
We implement these interfaces
...
llvm-svn: 18065
2004-11-20 23:53:56 +00:00
Chris Lattner
37fc0d8b95
Adjust to changed interfaces
...
llvm-svn: 18064
2004-11-20 23:53:26 +00:00
Chris Lattner
c6c7f2ac58
This method does not exist any longer.
...
llvm-svn: 18061
2004-11-20 23:51:03 +00:00
Tanya Lattner
a2cf139875
Fixed assertion from triggering. We need to check if the commandline map is empty before checking if an arg exists.
...
llvm-svn: 18057
2004-11-20 23:35:20 +00:00
Reid Spencer
de847ecdaa
Cast the void* handle data member to HMODULE* to keep the VC++ compiler
...
happy. Thanks to Henrik Bach for pointing this out.
llvm-svn: 18056
2004-11-20 23:30:55 +00:00
Brian Gaeke
1805f32d5f
Support most cases of vaarg (except double).
...
llvm-svn: 18055
2004-11-20 22:50:42 +00:00
Brian Gaeke
e989dc883f
Update failing test cases & to-do list.
...
llvm-svn: 18054
2004-11-20 22:50:41 +00:00
Reid Spencer
f381e95cc6
Distinguish between BSD4.4 and SVR4 symbol tables
...
llvm-svn: 18044
2004-11-20 07:29:40 +00:00
Chris Lattner
275f594cb7
This method was never implemented
...
llvm-svn: 18039
2004-11-20 04:19:47 +00:00