mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-09 11:25:55 +00:00
add a note about overflow idiom recognition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121853 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -73,7 +73,25 @@ This has a number of uses:
|
|||||||
|
|
||||||
//===---------------------------------------------------------------------===//
|
//===---------------------------------------------------------------------===//
|
||||||
|
|
||||||
Make the PPC branch selector target independant
|
We should recognized various "overflow detection" idioms and translate them into
|
||||||
|
llvm.uadd.with.overflow and similar intrinsics. For example, we compile this:
|
||||||
|
|
||||||
|
size_t add(size_t a,size_t b) {
|
||||||
|
if (a+b<a)
|
||||||
|
exit(0);
|
||||||
|
return a+b;
|
||||||
|
}
|
||||||
|
|
||||||
|
into:
|
||||||
|
|
||||||
|
addq %rdi, %rbx
|
||||||
|
cmpq %rdi, %rbx
|
||||||
|
jae LBB0_2
|
||||||
|
|
||||||
|
when it would be better to generate:
|
||||||
|
|
||||||
|
addq %rdi, %rbx
|
||||||
|
jno LBB0_2
|
||||||
|
|
||||||
//===---------------------------------------------------------------------===//
|
//===---------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user