Fold bswap(undef) to undef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96432 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman 2010-02-17 00:54:58 +00:00
parent 378c0b35a7
commit 9ee7123ab4
2 changed files with 12 additions and 0 deletions

View File

@ -1179,6 +1179,12 @@ llvm::ConstantFoldCall(Function *F,
return 0;
}
if (isa<UndefValue>(Operands[0])) {
if (Name.startswith("llvm.bswap"))
return Operands[0];
return 0;
}
return 0;
}

View File

@ -67,3 +67,9 @@ define i16 @test8(i64 %A) {
%D = tail call i16 @llvm.bswap.i16(i16 %C) nounwind
ret i16 %D
}
; Misc: Fold bswap(undef) to undef.
define i64 @foo() {
%a = call i64 @llvm.bswap.i64(i64 undef)
ret i64 %a
}