[LLVMbugs] [Bug 5946] New: X86GenFastISel.inc uses out-of-range case values

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Tue Jan 5 05:10:12 PST 2010


           Summary: X86GenFastISel.inc uses out-of-range case values
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: baldrick at free.fr
                CC: llvmbugs at cs.uiuc.edu

Here is an example warning from g++-4.5:

llvm-objects/lib/Target/X86/X86GenFastISel.inc:1286:3: warning: case value
‘172’ not in enumerated type ‘llvm::ISD::NodeType’

The warning seems to be correct.  The line in question is

  case X86ISD::BSF: return FastEmit_X86ISD_BSF_r(VT, RetVT, Op0);

where the switch is

unsigned FastEmit_r(MVT VT, MVT RetVT, ISD::NodeType Opcode, unsigned Op0) {
  switch (Opcode) {

and since Opcode has type ISD::NodeType it is impossible for it to be
equal to X86ISD::BSF, which belongs to X86ISD and does not belong to
ISD.  Presumably this will result in X86GenFastISel.inc not working
properly when built with g++-4.5.

Lots of warnings of this kind are generated when compiling X86GenFastISel.inc.

Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

More information about the llvm-bugs mailing list