summaryrefslogtreecommitdiffhomepage
path: root/ir/be/beasm.c
diff options
context:
space:
mode:
authorChristoph Mallon <christoph.mallon@gmx.de>2019-03-04 20:31:56 +0100
committerChristoph Mallon <christoph.mallon@gmx.de>2019-04-05 20:44:54 +0200
commit0d9e5f5dc1737e721fa2cdbd41f497dff94ebf26 (patch)
treeee297650638e363e551a1d1ee759cd387daafc13 /ir/be/beasm.c
parent05d881f5ca246ee3e5bacf65ffc4b884a7819a4f (diff)
beasm: Give label constraints the "register" class 'exec'.
Diffstat (limited to 'ir/be/beasm.c')
-rw-r--r--ir/be/beasm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ir/be/beasm.c b/ir/be/beasm.c
index 6bc43fd..2c26843 100644
--- a/ir/be/beasm.c
+++ b/ir/be/beasm.c
@@ -48,6 +48,13 @@ void be_parse_asm_constraints_internal(be_asm_constraint_t *const constraint, id
char const *i = get_id_str(constraint_text);
+ if (!i) {
+ /* Labels have no constraint text. */
+ constraint->all_registers_allowed = true;
+ constraint->cls = &arch_exec_cls;
+ return;
+ }
+
bool is_output = false;
if (i[0] == '+' || i[0] == '=') {
++i;