Skip to content

DAGISelEmitter not looking up instruction namespace accurately. #1373

@npatil2

Description

@npatil2
Bugzilla Link 1001
Resolution FIXED
Resolved on Feb 22, 2010 12:53
Version trunk
OS Linux

Extended Description

I was trying to write my own simple LLVM backend for my own simple ISA when I
ran into the following error message:

MCGenDAGISel.inc: In member function
'llvm::SDNode*::MCDAGToDAGISel::SelectCode(llvm::SDOperand)':
MCGenDAGISel.inc:463: error: 'INSTRUCTION_LIST_END' is not a member of
'llvm::TargetInstrInfo'

My target description had only one instruction NOP. The problem disappears when
I change NOP to ADD. In fact anything alphabetically before INLINEASM is
okay. (INLINEASM & PHINODE are in namespace TargetInstrInfo.) I have traced
down the problem to utils/TableGen/DAGISelEmitter.cpp:3390, where we only look
at the first instruction in the list of all instructions. So if there happen to
be no instructions alphabetically before INLINEASM, we get screwed.

Please let me know if you need any more information :)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions