Displaying 3 results from an estimated 3 matches for "parseoperand".
2015 Oct 23
3
[AMDGPU] AMDGPUAsmParser fails to parse several instructions
...^
The part of stack dump:
...
#9 0x4711ee (anonymous namespace)::AMDGPUOperand::setModifiers(unsigned
int)
/mnt/dm-0/codebase/Compilers/LLVM/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp:185:21
#10 0x46ff6a (anonymous
namespace)::AMDGPUAsmParser::parseOperand(llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand,
std::default_delete<llvm::MCParsedAsmOperand> > >&, llvm::StringRef)
/mnt/dm-0/codebase/Compilers/LLVM/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp:1040:16
#11 0x46cd46 (anonymous
namespace)::AMDGPUAsmPars...
2015 Oct 24
2
[AMDGPU] AMDGPUAsmParser fails to parse several instructions
...it for
> now by not using the source modifier.
>
I have no idea what to do the work-around. To me the modifier is set when
the register has absolute or negate. I traced the code and thought that the
problem occurs in the for loop to empty the modifiers for each source (in
the AMDGPUAsmParser::parseOperand around line 1040). If I add an if
statement like
if(RegOp.isInlineImm()) // because 0.5 is this case
contiune;
before the statement to empty the modifier (RegOp.setModifiers(0);),
it obvious does not work and cause the other matching fails. Does it mean
to modify other files in other places,...
2010 Jun 21
2
[LLVMdev] MC: Object file specific parsing
...return Error(HashTok.getLoc(), "'#' expected");
- Parser.Lex(); // Eat hash token.
+ Lex(); // Eat hash token.
- if (getParser().ParseExpression(ShiftAmount))
+ if (ParseExpression(ShiftAmount))
return true;
return false;
@@ -631,10 +623,10 @@ bool ARMAsmParser::ParseOperand(OwningPtr<ARMOperand> &Op) {
// This was not a register so parse other operands that start with an
// identifier (like labels) as expressions and create them as immediates.
const MCExpr *IdVal;
- S = Parser.getTok().getLoc();
- if (getParser().ParseExpression(IdVal))...