mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-26 07:24:25 +00:00
This is done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55348 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -379,27 +379,6 @@ require a copy to be inserted (in X86InstrInfo::convertToThreeAddress).
|
|||||||
|
|
||||||
//===---------------------------------------------------------------------===//
|
//===---------------------------------------------------------------------===//
|
||||||
|
|
||||||
Another instruction selector deficiency:
|
|
||||||
|
|
||||||
void %bar() {
|
|
||||||
%tmp = load int (int)** %foo
|
|
||||||
%tmp = tail call int %tmp( int 3 )
|
|
||||||
ret void
|
|
||||||
}
|
|
||||||
|
|
||||||
_bar:
|
|
||||||
subl $12, %esp
|
|
||||||
movl L_foo$non_lazy_ptr, %eax
|
|
||||||
movl (%eax), %eax
|
|
||||||
call *%eax
|
|
||||||
addl $12, %esp
|
|
||||||
ret
|
|
||||||
|
|
||||||
The current isel scheme will not allow the load to be folded in the call since
|
|
||||||
the load's chain result is read by the callseq_start.
|
|
||||||
|
|
||||||
//===---------------------------------------------------------------------===//
|
|
||||||
|
|
||||||
For this:
|
For this:
|
||||||
|
|
||||||
int test(int a)
|
int test(int a)
|
||||||
|
Reference in New Issue
Block a user