[LegalizeTypes] Simplify code for UndefinedBooleanContent in PromoteIntOp_VECREDUCE.
authorCraig Topper <craig.topper@sifive.com>
Wed, 10 May 2023 06:16:27 +0000 (23:16 -0700)
committerCraig Topper <craig.topper@sifive.com>
Wed, 10 May 2023 06:16:27 +0000 (23:16 -0700)
We can treat UndefinedBooleanContent the same as ZeroOrOneBooleanContent.
There's no reason to consider sign extending.

llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp

index 7dcc0fb..7e85a2e 100644 (file)
@@ -2305,8 +2305,6 @@ SDValue DAGTypeLegalizer::PromoteIntOp_VECREDUCE(SDNode *N) {
     // to either sign_ext or zero_ext in the undefined case.
     switch (TLI.getBooleanContents(InVT)) {
     case TargetLoweringBase::UndefinedBooleanContent:
-      Op = SExtOrZExtPromotedInteger(N->getOperand(0));
-      break;
     case TargetLoweringBase::ZeroOrOneBooleanContent:
       Op = ZExtPromotedInteger(N->getOperand(0));
       break;
@@ -2326,8 +2324,6 @@ SDValue DAGTypeLegalizer::PromoteIntOp_VECREDUCE(SDNode *N) {
     // to either sign_ext or zero_ext in the undefined case.
     switch (TLI.getBooleanContents(InVT)) {
     case TargetLoweringBase::UndefinedBooleanContent:
-      Op = SExtOrZExtPromotedInteger(N->getOperand(0));
-      break;
     case TargetLoweringBase::ZeroOrOneBooleanContent:
       Op = ZExtPromotedInteger(N->getOperand(0));
       break;