[LLVMbugs] [Bug 10914] New: [AVX] Assertion failed: (false && "Couldn't find the register class") in X86 DAG->DAG Instruction Selection

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Sep 12 07:48:37 PDT 2011


http://llvm.org/bugs/show_bug.cgi?id=10914

           Summary: [AVX] Assertion failed: (false && "Couldn't find the
                    register class") in X86 DAG->DAG Instruction Selection
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: matt at pharr.org
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=7257)
 --> (http://llvm.org/bugs/attachment.cgi?id=7257)
test case

With the attached test case and top of tree, if you run:

% llc -mattr=+avx bugpoint-reduced-simplified.ll

The above assertion hits.  The stack trace it gives looks bogus, though:

Assertion failed: (false && "Couldn't find the register class"), function
getSuperRegisterRegClass, file InstrEmitter.cpp, line 403.
0  llc               0x00000001097f8c52
llvm::PrettyStackTraceProgram::~PrettyStackTraceProgram() + 6494
1  llc               0x00000001097f9259
llvm::PrettyStackTraceProgram::~PrettyStackTraceProgram() + 8037
2  libsystem_c.dylib 0x00007fff89fbbcfa _sigtramp + 26
3  libsystem_c.dylib 0x0000000109d70000 _sigtramp + 18446603342661239584
4  llc               0x00000001097f8bb6
llvm::PrettyStackTraceProgram::~PrettyStackTraceProgram() + 6338
5  llc               0x00000001097f8c08
llvm::PrettyStackTraceProgram::~PrettyStackTraceProgram() + 6420
6  llc               0x00000001092e5c5b
llvm::MachineModuleInfo::setVariableDbgInfo(llvm::MDNode*, unsigned int,
llvm::DebugLoc) + 10689
7  llc               0x00000001092e731b
llvm::MachineModuleInfo::setVariableDbgInfo(llvm::MDNode*, unsigned int,
llvm::DebugLoc) + 16513
8  llc               0x000000010937e55a llvm::DenseMap<llvm::SUnit*,
llvm::SmallVector<unsigned int, 4u>, llvm::DenseMapInfo<llvm::SUnit*>,
llvm::DenseMapInfo<llvm::SmallVector<unsigned int, 4u> >
>::FindAndConstruct(llvm::SUnit* const&) + 2468
9  llc               0x00000001093f7f63 llvm::SelectionDAGBuilder::Case::size()
const + 36623
10 llc               0x00000001093f9502 llvm::SelectionDAGBuilder::Case::size()
const + 42158
11 llc               0x00000001093fa16b llvm::SelectionDAGBuilder::Case::size()
const + 45335
12 llc               0x00000001094d7394
llvm::MachineFunctionAnalysis::getPassName() const + 458
13 llc               0x000000010975fe5d llvm::cl::parser<llvm::PassInfo
const*>::~parser() + 26675
14 llc               0x000000010975b3fb llvm::cl::parser<llvm::PassInfo
const*>::~parser() + 7633
15 llc               0x000000010975fb5a llvm::cl::parser<llvm::PassInfo
const*>::~parser() + 25904
16 llc               0x0000000109760f71 llvm::cl::parser<llvm::PassInfo
const*>::~parser() + 31047
17 llc               0x0000000109760ff1 llvm::cl::parser<llvm::PassInfo
const*>::~parser() + 31175
18 llc               0x0000000108eaf5e3
19 llc               0x0000000108eade34
Stack dump:
0.    Program arguments: llc -mattr=+avx bugpoint-reduced-simplified.ll 
1.    Running pass 'Function Pass Manager' on module
'bugpoint-reduced-simplified.ll'.
2.    Running pass 'X86 DAG->DAG Instruction Selection' on function '@f_fu'
[1]    32586 illegal hardware instruction  llc -mattr=+avx
bugpoint-reduced-simplified.ll

Here is where it actually seems to be happening:

6  ispc              0x000000010319e9cb
llvm::InstrEmitter::EmitSubregNode(llvm::SDNode*, llvm::DenseMap<llvm::SDValue,
unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned
int> >&, bool, bool) + 1821
7  ispc              0x00000001031a008b
llvm::InstrEmitter::EmitMachineNode(llvm::SDNode*, bool, bool,
llvm::DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>,
llvm::DenseMapInfo<unsigned int> >&) + 139
8  ispc              0x000000010323440a
llvm::ScheduleDAGSDNodes::EmitSchedule() + 1242
9  ispc              0x00000001032aded3
llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 4867
10 ispc              0x00000001032af472
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 284
11 ispc              0x00000001032b00db
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 1011

(Note that this is the same assertion that was hitting for a while and then
went away for unknown reasons, as reported in
http://llvm.org/bugs/show_bug.cgi?id=10845.  However, a different test case
seems to be hitting it now.)

-- 
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