mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-20 19:42:54 +02:00
When upgrading cast to bool to a setne, generate icmp ne instead.
llvm-svn: 32399
This commit is contained in:
parent
54036d73ce
commit
cc5dff3e5d
@ -194,10 +194,16 @@ static std::string getCastUpgrade(
|
||||
// the original intent by replace the cast with a setne
|
||||
const char* comparator = SrcTy.isPointer() ? ", null" :
|
||||
(SrcTy.isFloatingPoint() ? ", 0.0" : ", 0");
|
||||
if (isConst)
|
||||
Result = "setne (" + Source + comparator + ")";
|
||||
else
|
||||
Result = "setne " + Source + comparator;
|
||||
#if UPGRADE_SETCOND_OPS
|
||||
const char* compareOp = SrcTy.isFloatingPoint() ? "setne " : "icmp ne ";
|
||||
#else
|
||||
const char* compareOp = "setne";
|
||||
#endif
|
||||
if (isConst) {
|
||||
Result = "(" + Source + comparator + ")";
|
||||
Result = compareOp + Result;
|
||||
} else
|
||||
Result = compareOp + Source + comparator;
|
||||
return Result; // skip cast processing below
|
||||
}
|
||||
ResolveType(SrcTy);
|
||||
|
Loading…
Reference in New Issue
Block a user