don't extend load_mode when folding reloads
[libfirm] / ir / be / bemain.c
index 2e0d96c..e41b4d9 100644 (file)
@@ -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);
 }