[llvm-dev] tricky constraints in backend
Konstantin Vladimirov via llvm-dev
llvm-dev at lists.llvm.org
Wed Mar 9 08:19:14 PST 2016
Hi,
I am working on custom LLVM 3.7 backend, already having GCC backend.
In GCC backend there are perfectly legal address constraints like
"A32", which are widely used in inline assembler.
I am trying to support those in LLVM, but there is a problem in
llvm::InlineAsm::ConstraintInfo::Parse function.
it tries to understand A32 as two separate constraints: one-letter "A"
and numeric "32", latter, of course, fails (numeric 32 constraint
means "32-nd parameter", and there are no 32 parameters).
It is called very early, from llvm::InlineAsm::InlineAsm ctor, where
assert fails for this reason, so even llvm IR is not emitted.
Is there a way to support multi-letter target-specific constraints
with trailing digits?
---
WIth best regards, Konstantin
More information about the llvm-dev
mailing list