mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-24 06:30:19 +00:00
2fb0234d5f
Instead of processing relocation for branch to stubs right away, emit a modified relocation and add it to queue to be resolved later when final load address is known. This resolves seven MIPS MCJIT issues that were caused by missing relocation fixups at the end. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195157 91177308-0d34-0410-b5e6-96231b3b80d8
35 lines
1010 B
LLVM
35 lines
1010 B
LLVM
; RUN: %lli_mcjit -remote-mcjit -mcjit-remote-process=lli-child-target %s > /dev/null
|
|
|
|
@count = global i32 1, align 4
|
|
|
|
define i32 @main() nounwind uwtable {
|
|
entry:
|
|
%retval = alloca i32, align 4
|
|
%i = alloca i32, align 4
|
|
store i32 0, i32* %retval
|
|
store i32 0, i32* %i, align 4
|
|
br label %for.cond
|
|
|
|
for.cond: ; preds = %for.inc, %entry
|
|
%0 = load i32* %i, align 4
|
|
%cmp = icmp slt i32 %0, 49
|
|
br i1 %cmp, label %for.body, label %for.end
|
|
|
|
for.body: ; preds = %for.cond
|
|
%1 = load i32* @count, align 4
|
|
%inc = add nsw i32 %1, 1
|
|
store i32 %inc, i32* @count, align 4
|
|
br label %for.inc
|
|
|
|
for.inc: ; preds = %for.body
|
|
%2 = load i32* %i, align 4
|
|
%inc1 = add nsw i32 %2, 1
|
|
store i32 %inc1, i32* %i, align 4
|
|
br label %for.cond
|
|
|
|
for.end: ; preds = %for.cond
|
|
%3 = load i32* @count, align 4
|
|
%sub = sub nsw i32 %3, 50
|
|
ret i32 %sub
|
|
}
|