It's not completely clear why 'i' has historically been treated as a memory
constraint. According to the documentation, it represents a constant immediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232470
91177308-0d34-0410-b5e6-
96231b3b80d8
// constraint codes for all targets.
Constraint_Unknown = 0,
Constraint_es,
+ Constraint_i,
Constraint_m,
Constraint_o,
Constraint_v, // Unused at the moment since Constraint_m is always used.
virtual unsigned
getInlineAsmMemConstraint(const std::string &ConstraintCode) const {
- if (ConstraintCode == "m")
+ if (ConstraintCode == "i")
+ return InlineAsm::Constraint_i;
+ else if (ConstraintCode == "m")
return InlineAsm::Constraint_m;
return InlineAsm::Constraint_Unknown;
}
errs() << "ConstraintID: " << ConstraintID << "\n";
llvm_unreachable("Unexpected asm memory constraint");
case InlineAsm::Constraint_es:
+ case InlineAsm::Constraint_i:
case InlineAsm::Constraint_m:
case InlineAsm::Constraint_o:
case InlineAsm::Constraint_Q: