mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 04:33:05 +00:00
ed6902ca89
because arguments start two stack slots off of EBP. Break out of the for loop once the argument is found. Increment the counter at the end of the loop instead of the beginning. Use addRegOffset and compute the scale * index part at compile time instead of using the fancy load instruction. Just because an instruction set has wacky addressing modes doesn't mean we ought to use them (at least, if you believe Dave Patterson). lib/Target/X86/X86InstrBuilder.h: Add some comments. test/Regression/Jello/test-loadstore.ll: Let main return int 0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4999 91177308-0d34-0410-b5e6-96231b3b80d8
21 lines
328 B
LLVM
21 lines
328 B
LLVM
|
|
void %test(sbyte* %P, short* %P, int* %P) {
|
|
%V = load sbyte* %P
|
|
store sbyte %V, sbyte* %P
|
|
|
|
%V = load short* %P
|
|
store short %V, short* %P
|
|
|
|
%V = load int* %P
|
|
store int %V, int* %P
|
|
ret void
|
|
}
|
|
|
|
int %main() {
|
|
%A = alloca sbyte
|
|
%B = alloca short
|
|
%C = alloca int
|
|
call void %test(sbyte* %A, short* %B, int* %C)
|
|
ret int 0
|
|
}
|