https://bugs.llvm.org/show_bug.cgi?id=43919

            Bug ID: 43919
           Summary: [X86] combineStore - unreachable code
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: X86
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected],
                    [email protected], [email protected]
            Blocks: 30996

This code block contains logic that results in unreachable code:

if ((VT == MVT::i64 && F64IsLegal && !Subtarget.is64Bit()) &&
    isa<LoadSDNode>(St->getValue()) &&
    cast<LoadSDNode>(St->getValue())->isSimple() &&
    St->getChain().hasOneUse() && St->isSimple()) {

   if (Subtarget.is64Bit() || F64IsLegal) {
     // ALWAYS TAKEN
   }

   // UNREACHABLE CODE
}

F64IsLegal is always true and Subtarget.is64Bit() is always false.

@craog - this seems to be a legacy of
-x86-experimental-vector-widening-legalization

Found by PVS Studio


Referenced Bugs:

https://bugs.llvm.org/show_bug.cgi?id=30996
[Bug 30996] [META] PVS Studio Warnings
-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to