Displaying 2 results from an estimated 2 matches for "getconstrainttyp".
Did you mean:
getconstrainttype
2013 Feb 28
0
[LLVMdev] [cfe-dev] [MIPS] How can I add a constraint to LLVM/Clang for MIPS BE?
...intf("out is %x\n", out);
return 0;
}
LLVM-MIPS-BE diff:
diff --git a/lib/Target/Mips/MipsISelLowering.cpp
b/lib/Target/Mips/MipsISelLowering.cpp
index 36e1a15..4a5d045 100644
--- a/lib/Target/Mips/MipsISelLowering.cpp
+++ b/lib/Target/Mips/MipsISelLowering.cpp
@@ -3880,6 +3880,8 @@ getConstraintType(const std::string &Constraint) const
case 'l':
case 'x':
return C_RegisterClass;
+ case 'R':
+ return C_Memory;
}
}
return TargetLowering::getConstraintType(Constraint);
@@ -3928,6 +3930,9 @@ MipsTargetLowering::getSingleCon...
2013 Jan 08
2
[LLVMdev] Inline asm bug?
..."memory");
return rv + G;
}
-------------
Is the use of "memory" clobber sufficient to expect the optimizer not to
optimize the "+ G" away in the return statement? I'll add here that
currently it does get eliminated. This happens because in
TargetLowering::getConstraintType we don't recognize the string "memory"
as a memory clobber, but instead we treat it as a register clobber:
if (Constraint.size() > 1 && Constraint[0] == '{' &&
Constraint[Constraint.size()-1] == '}')
return C_Register;
I can submit...