mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-18 12:29:21 +00:00
Add a random not very important note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47704 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
fb8075d03f
commit
daf6c541b2
@ -1687,3 +1687,41 @@ doload64:
|
||||
ret
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
We compile this function:
|
||||
|
||||
define i32 @foo(i32 %a, i32 %b, i32 %c, i8 zeroext %d) nounwind {
|
||||
entry:
|
||||
%tmp2 = icmp eq i8 %d, 0 ; <i1> [#uses=1]
|
||||
br i1 %tmp2, label %bb7, label %bb
|
||||
|
||||
bb: ; preds = %entry
|
||||
%tmp6 = add i32 %b, %a ; <i32> [#uses=1]
|
||||
ret i32 %tmp6
|
||||
|
||||
bb7: ; preds = %entry
|
||||
%tmp10 = sub i32 %a, %c ; <i32> [#uses=1]
|
||||
ret i32 %tmp10
|
||||
}
|
||||
|
||||
to:
|
||||
|
||||
_foo:
|
||||
cmpb $0, 16(%esp)
|
||||
movl 12(%esp), %ecx
|
||||
movl 8(%esp), %eax
|
||||
movl 4(%esp), %edx
|
||||
je LBB1_2 # bb7
|
||||
LBB1_1: # bb
|
||||
addl %edx, %eax
|
||||
ret
|
||||
LBB1_2: # bb7
|
||||
movl %edx, %eax
|
||||
subl %ecx, %eax
|
||||
ret
|
||||
|
||||
The coallescer could coallesce "edx" with "eax" to avoid the movl in LBB1_2
|
||||
if it commuted the addl in LBB1_1.
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user