| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
static global variables whose addresses are taken. This allows us to
convert the following code for taking the address of a static function foo
addis r2, r30, ha16(Ll1__2E_foo_2$non_lazy_ptr-"L00001$pb")
lwz r3, lo16(Ll1__2E_foo_2$non_lazy_ptr-"L00001$pb")(r2)
which also includes linker stub code emitted at the end of the .s file not
shown here, and replace it with this:
addis r2, r30, ha16(l1__2E_foo_2-"L00001$pb")
la r3, lo16(l1__2E_foo_2-"L00001$pb")(r2)
which in addition to not needing linker help, also has no load instruction.
For those not up on PowerPC mnemonics, la is shorthand for add immediate.
llvm-svn: 18239
|
| |
|
|
|
|
|
| |
LLVM blocks as the keys for the branch rewriter. This fixes treeadd and
many other programs with the JIT.
llvm-svn: 18223
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add relocations for refernces to non-lazy darwin stubs and implement
them correctly.
With this change, we can correctly references external globals, and now
all but two UnitTests and all but 1 Regression/C tests pass.
More importantly, bugpoint-jit will start giving us useful testcases,
instead of always telling us that references to external globals don't
work :)
llvm-svn: 18222
|
| |
|
|
| |
llvm-svn: 18198
|
| |
|
|
| |
llvm-svn: 18197
|
| |
|
|
|
|
| |
pass 24/42 in UnitTests (up from 20).
llvm-svn: 18196
|
| |
|
|
|
|
| |
stops the infinite loops!
llvm-svn: 18194
|
| |
|
|
| |
llvm-svn: 18162
|
| |
|
|
| |
llvm-svn: 18156
|
| |
|
|
| |
llvm-svn: 18153
|
| |
|
|
|
|
|
| |
LA, LOADHiAddr, CALLpcrel, and MovePCtoLR working, though the constant pool
probably is not right.
llvm-svn: 18144
|
| |
|
|
| |
llvm-svn: 18136
|
| |
|
|
| |
llvm-svn: 18130
|
| |
|
|
| |
llvm-svn: 18127
|
| |
|
|
| |
llvm-svn: 18036
|
| |
|
|
| |
llvm-svn: 17870
|
| |
|
|
|
|
| |
* Stop the confusion of using rv and Addr for global addresses: just use rv
llvm-svn: 17195
|
| |
|
|
|
|
|
|
|
| |
* Convert register numbers from their opcode value to the real value, e.g.
PPC::R1 => 1 and PPC::F1 => 1
* Add correct handling of loading of global values which are PC-relative --
implement ha16() and lo16()
llvm-svn: 17190
|
| |
|
|
| |
llvm-svn: 17151
|
| |
|
|
| |
llvm-svn: 17150
|
| |
|
|
|
|
|
|
| |
including registers, constants, and partial support for global addresses
* The JIT is disabled by default to allow building llvm-gcc, which wants to test
running programs during configure
llvm-svn: 17149
|
| |
|
|
|
|
|
|
|
| |
addPassesToEmitMachineCode()
* Add support for registers and constants in getMachineOpValue()
This enables running "int main() { ret 0 }" via the PowerPC JIT.
llvm-svn: 16983
|
| |
|
|
|
|
|
|
|
| |
* Add implementation of getMachineOpValue() for generated code emitter
* Convert assert()s in unimplemented functions to abort()s so that non-debug
builds fail predictably
* Add file header comments
llvm-svn: 16981
|
| |
|
|
|
|
|
|
| |
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
llvm-svn: 16137
|
| |
|
|
| |
llvm-svn: 15634
|
| |
|
|
| |
llvm-svn: 15600
|
|
|
llvm-svn: 14283
|