Index: lib/Analysis/InstructionSimplify.cpp =================================================================== --- lib/Analysis/InstructionSimplify.cpp +++ lib/Analysis/InstructionSimplify.cpp @@ -3754,9 +3754,9 @@ return TrueVal; if (isa(CondVal)) { // select undef, X, Y -> X or Y - if (isa(TrueVal)) - return TrueVal; - return FalseVal; + if (isa(FalseVal)) + return FalseVal; + return TrueVal; } if (isa(TrueVal)) // select C, undef, X -> X return FalseVal;