- Nov 15, 2010
-
-
Zhongxing Xu authored
llvm-svn: 119135
-
Chris Lattner authored
into the immediate field. This allows us to encode stuff like this: lbz r3, lo16(__ZL4init)(r4) ; globalopt.cpp:5 ; encoding: [0x88,0x64,A,A] ; fixup A - offset: 0, value: lo16(__ZL4init), kind: fixup_ppc_lo16 stw r3, lo16(__ZL1s)(r5) ; globalopt.cpp:6 ; encoding: [0x90,0x65,A,A] ; fixup A - offset: 0, value: lo16(__ZL1s), kind: fixup_ppc_lo16 With this, we should have a completely function MCCodeEmitter for PPC, wewt. llvm-svn: 119134
-
Chris Lattner authored
modes. For example, we now get: ld r3, lo16(_G)(r3) ; encoding: [0xe8,0x63,A,0bAAAAAA00] ; fixup A - offset: 0, value: lo16(_G), kind: fixup_ppc_lo14 llvm-svn: 119133
-
Chris Lattner authored
print DBG_VALUE instructions. This should unbreak the llvm-gcc-powerpc-darwin9 buildbot. llvm-svn: 119132
-
Chandler Carruth authored
other platforms where the textual default of '/' isn't the system's root directory. We should probably still make the textual default platform specific, but this should avoid the particularly bad problem with the previous state: we applied a sysroot of '/' to '/usr/local/google' which added '//usr/local/include' to the windows header search path, a share on another machine named 'usr'. Oops. llvm-svn: 119131
-
Chris Lattner authored
llvm-svn: 119130
-
Chris Lattner authored
llvm-svn: 119129
-
Chris Lattner authored
llvm-svn: 119128
-
Chris Lattner authored
lis r4, ha16(__ZL4init) ; encoding: [0x3c,0x80,A,A] ; fixup A - offset: 0, value: ha16(__ZL4init), kind: fixup_ppc_ha16 llvm-svn: 119127
-
Chris Lattner authored
beq cr0, LBB0_4 ; encoding: [0x41,0x82,A,0bAAAAAA00] ; fixup A - offset: 0, value: LBB0_4, kind: fixup_ppc_brcond14 llvm-svn: 119126
-
Chris Lattner authored
as direct calls. Change conditional branches to encode with their own method, simplifying the JIT encoder and making room for adding an mc fixup. llvm-svn: 119125
-
Chris Lattner authored
llvm-svn: 119124
-
Chris Lattner authored
code in the JIT. Use this to form the first fixup for the PPC backend, giving us stuff like this: bl L_foo$stub ; encoding: [0b010010AA,A,A,0bAAAAAA01] ; fixup A - offset: 0, value: L_foo$stub, kind: fixup_ppc_br24 llvm-svn: 119123
-
Chris Lattner authored
llvm-svn: 119122
-
Chris Lattner authored
llvm-svn: 119121
-
Chris Lattner authored
Switch the ARM backend to use 'let' instead of 'set' with this change. llvm-svn: 119120
-
Chris Lattner authored
llvm-svn: 119119
-
Chris Lattner authored
to encode all of these instructions correctly (for example): mflr r0 ; encoding: [0x7c,0x08,0x02,0xa6] stw r0, 8(r1) ; encoding: [0x90,0x01,0x00,0x08] stwu r1, -64(r1) ; encoding: [0x94,0x21,0xff,0xc0] llvm-svn: 119118
-
Chris Lattner authored
llvm-svn: 119117
-
Chris Lattner authored
fixups yet, and doesn't handle actually encoding operand values, but this is enough for llc -show-mc-encoding to show the base instruction encoding information, e.g.: mflr r0 ; encoding: [0x7c,0x08,0x02,0xa6] stw r0, 8(r1) ; encoding: [0x90,0x00,0x00,0x00] stwu r1, -64(r1) ; encoding: [0x94,0x00,0x00,0x00] Ltmp0: lhz r4, 4(r3) ; encoding: [0xa0,0x00,0x00,0x00] cmplwi cr0, r4, 8 ; encoding: [0x28,0x00,0x00,0x00] beq cr0, LBB0_2 ; encoding: [0x40,0x00,0x00,0x00] llvm-svn: 119116
-
Chris Lattner authored
llvm-svn: 119115
-
Chris Lattner authored
llvm-svn: 119114
-
Chris Lattner authored
instructions, allowing is to eliminate some dead operand printing methods from the instprinter. llvm-svn: 119113
-
Chris Lattner authored
llvm-svn: 119112
-
Chris Lattner authored
new instprinting logic is there. llvm-svn: 119111
-
Michael J. Spencer authored
llvm-svn: 119110
-
Evan Cheng authored
llvm-svn: 119109
-
Chris Lattner authored
The only change in the output is: 1) we get a better comment on mfcr, we get: mfcr r2 ; cr2 instead of: mfcr r2 ; 32 2) we no longer emit $stub's on powerpc/leopard. The Leopard linker autosynthesizes them. llvm-svn: 119108
-
Michael J. Spencer authored
llvm-svn: 119107
-
Chris Lattner authored
different ways. Add $non_lazy_ptr support, and proper lowering for global values. Now all the ppc regression tests pass with the new instruction printer. llvm-svn: 119106
-
Chris Lattner authored
nodes to indicate when ha16/lo16 modifiers should be used. This lets us pass PowerPC/indirectbr.ll. The one annoying thing about this patch is that the MCSymbolExpr isn't expressive enough to represent ha16(label1-label2) which we need on PowerPC. I have a terrible hack in the meantime, but this will have to be revisited at some point. Last major conversion item left is global variable references. llvm-svn: 119105
-
Chris Lattner authored
llvm-svn: 119104
-
Greg Clayton authored
expression logging. Added some properties to the "objc" test. The expression parser can currently display properties that are backed by the default functions "expr myStr.string" will work. But it won't currently work when the property is backed by a different function such as "expr myStr.date". llvm-svn: 119103
-
Chris Lattner authored
llvm-svn: 119102
-
Greg Clayton authored
Added recursive name lookup logging with depth which is commented out and is currently only enabled when we blow the stack. llvm-svn: 119101
-
Greg Clayton authored
llvm-svn: 119100
-
Chandler Carruth authored
making the code less gross. llvm-svn: 119099
-
Anton Korobeynikov authored
llvm-svn: 119098
-
Anton Korobeynikov authored
First step of huge frame-related refactoring: move emit{Prologue,Epilogue} out of TargetRegisterInfo to TargetFrameInfo, which is definitely much better suitable place llvm-svn: 119097
-
Anton Korobeynikov authored
llvm-svn: 119096
-