X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbemain.c;h=e41b4d958f2f51f530cf971156cbef90bd318d06;hb=040868cbcb834457c8195efbbccf221123c7f153;hp=2e0d96c4eaf3b8c5a8cc6e40089e4862c7d1aa70;hpb=4f05442375e6352494a71dd16f089bc2a5588af0;p=libfirm diff --git a/ir/be/bemain.c b/ir/be/bemain.c index 2e0d96c4e..e41b4d958 100644 --- a/ir/be/bemain.c +++ b/ir/be/bemain.c @@ -273,31 +273,35 @@ asm_constraint_flags_t be_parse_asm_constraints(const char *constraint) } } - if ( ((flags & ASM_CONSTRAINT_FLAG_MODIFIER_WRITE) - && (flags & ASM_CONSTRAINT_FLAG_MODIFIER_NO_WRITE)) - || ((flags & ASM_CONSTRAINT_FLAG_MODIFIER_READ - && (flags & ASM_CONSTRAINT_FLAG_MODIFIER_NO_READ)))) { + if (( + flags & ASM_CONSTRAINT_FLAG_MODIFIER_WRITE && + flags & ASM_CONSTRAINT_FLAG_MODIFIER_NO_WRITE + ) || ( + flags & ASM_CONSTRAINT_FLAG_MODIFIER_READ && + flags & ASM_CONSTRAINT_FLAG_MODIFIER_NO_READ + )) { flags |= ASM_CONSTRAINT_FLAG_INVALID; } - if (! (flags & (ASM_CONSTRAINT_FLAG_MODIFIER_READ - | ASM_CONSTRAINT_FLAG_MODIFIER_WRITE - | ASM_CONSTRAINT_FLAG_MODIFIER_NO_WRITE - | ASM_CONSTRAINT_FLAG_MODIFIER_NO_READ))) { + if (!(flags & (ASM_CONSTRAINT_FLAG_MODIFIER_READ | + ASM_CONSTRAINT_FLAG_MODIFIER_WRITE | + ASM_CONSTRAINT_FLAG_MODIFIER_NO_WRITE | + ASM_CONSTRAINT_FLAG_MODIFIER_NO_READ) + )) { flags |= ASM_CONSTRAINT_FLAG_MODIFIER_READ; } return flags; } -bool be_is_valid_clobber(const char *clobber) +int be_is_valid_clobber(const char *clobber) { /* memory is a valid clobber. (the frontend has to detect this case too, * because it has to add memory edges to the asm) */ if (strcmp(clobber, "memory") == 0) - return true; + return 1; /* cc (condition code) is always valid */ if (strcmp(clobber, "cc") == 0) - return true; + return 1; return isa_if->is_valid_clobber(isa_if, clobber); }