mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
Add optimization to Target/README.txt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110543 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1bb580a3aa
commit
b1e4eebec0
@ -1919,5 +1919,21 @@ something like the following, which eliminates a branch:
|
||||
ret
|
||||
.LBB0_2:
|
||||
jmp foo # TAILCALL
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
Given a branch where the two target blocks are identical ("ret i32 %b" in
|
||||
both), simplifycfg will simplify them away. But not so for a switch statement:
|
||||
|
||||
define i32 @f(i32 %a, i32 %b) nounwind readnone {
|
||||
entry:
|
||||
switch i32 %a, label %bb3 [
|
||||
i32 4, label %bb
|
||||
i32 6, label %bb
|
||||
]
|
||||
|
||||
bb: ; preds = %entry, %entry
|
||||
ret i32 %b
|
||||
|
||||
bb3: ; preds = %entry
|
||||
ret i32 %b
|
||||
}
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
Loading…
Reference in New Issue
Block a user