Commit 90aec2cf by Jeffrey A Law Committed by Jeff Law

i386.md (jump): Explicitly set "memory" attribute.

        * i386.md (jump): Explicitly set "memory" attribute.
        (indirect_jump, prologue_set_stack_ptr): Likewise.
        (prologue_get_pc_and_set_got, pop): Likewise.
        (allocate_stack_worder, blockage, return_internal): Likewise.
        (return_pop_internal, nop): Likewise.
        (epilogue_set_stack_ptr, leave): Likewise.

From-SVN: r23718
parent 233ce013
Thu Nov 19 19:34:13 1998 Jeffrey A Law (law@cygnus.com)
* i386.md (jump): Explicitly set "memory" attribute.
(indirect_jump, prologue_set_stack_ptr): Likewise.
(prologue_get_pc_and_set_got, pop): Likewise.
(allocate_stack_worder, blockage, return_internal): Likewise.
(return_pop_internal, nop): Likewise.
(epilogue_set_stack_ptr, leave): Likewise.
Thu Nov 19 15:42:54 1998 Nick Clifton <nickc@cygnus.com> Thu Nov 19 15:42:54 1998 Nick Clifton <nickc@cygnus.com>
* config/arm/coff.h: Set USER_LABEL_PREFIX to "_". * config/arm/coff.h: Set USER_LABEL_PREFIX to "_".
......
...@@ -5789,7 +5789,8 @@ byte_xor_operation: ...@@ -5789,7 +5789,8 @@ byte_xor_operation:
[(set (pc) [(set (pc)
(label_ref (match_operand 0 "" "")))] (label_ref (match_operand 0 "" "")))]
"" ""
"jmp %l0") "jmp %l0"
[(set_attr "memory" "none")])
(define_insn "indirect_jump" (define_insn "indirect_jump"
[(set (pc) (match_operand:SI 0 "nonimmediate_operand" "rm"))] [(set (pc) (match_operand:SI 0 "nonimmediate_operand" "rm"))]
...@@ -5799,7 +5800,8 @@ byte_xor_operation: ...@@ -5799,7 +5800,8 @@ byte_xor_operation:
CC_STATUS_INIT; CC_STATUS_INIT;
return AS1 (jmp,%*%0); return AS1 (jmp,%*%0);
}") }"
[(set_attr "memory" "none")])
;; ??? could transform while(--i > 0) S; to if (--i > 0) do S; while(--i); ;; ??? could transform while(--i > 0) S; to if (--i > 0) do S; while(--i);
;; if S does not change i ;; if S does not change i
...@@ -6354,7 +6356,8 @@ byte_xor_operation: ...@@ -6354,7 +6356,8 @@ byte_xor_operation:
(define_insn "blockage" (define_insn "blockage"
[(unspec_volatile [(const_int 0)] 0)] [(unspec_volatile [(const_int 0)] 0)]
"" ""
"") ""
[(set_attr "memory" "none")])
;; Insn emitted into the body of a function to return from a function. ;; Insn emitted into the body of a function to return from a function.
;; This is only done if the function's epilogue is known to be simple. ;; This is only done if the function's epilogue is known to be simple.
...@@ -6368,18 +6371,21 @@ byte_xor_operation: ...@@ -6368,18 +6371,21 @@ byte_xor_operation:
(define_insn "return_internal" (define_insn "return_internal"
[(return)] [(return)]
"reload_completed" "reload_completed"
"ret") "ret"
[(set_attr "memory" "none")])
(define_insn "return_pop_internal" (define_insn "return_pop_internal"
[(return) [(return)
(use (match_operand:SI 0 "const_int_operand" ""))] (use (match_operand:SI 0 "const_int_operand" ""))]
"reload_completed" "reload_completed"
"ret %0") "ret %0"
[(set_attr "memory" "none")])
(define_insn "nop" (define_insn "nop"
[(const_int 0)] [(const_int 0)]
"" ""
"nop") "nop"
[(set_attr "memory" "none")])
(define_expand "prologue" (define_expand "prologue"
[(const_int 1)] [(const_int 1)]
...@@ -6406,7 +6412,8 @@ byte_xor_operation: ...@@ -6406,7 +6412,8 @@ byte_xor_operation:
xops[1] = stack_pointer_rtx; xops[1] = stack_pointer_rtx;
output_asm_insn (AS2 (sub%L1,%0,%1), xops); output_asm_insn (AS2 (sub%L1,%0,%1), xops);
RET; RET;
}") }"
[(set_attr "memory" "none")])
(define_insn "prologue_set_got" (define_insn "prologue_set_got"
[(set (match_operand:SI 0 "" "") [(set (match_operand:SI 0 "" "")
...@@ -6446,7 +6453,8 @@ byte_xor_operation: ...@@ -6446,7 +6453,8 @@ byte_xor_operation:
ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"L\", CODE_LABEL_NUMBER (operands[1])); ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"L\", CODE_LABEL_NUMBER (operands[1]));
} }
RET; RET;
}") }"
[(set_attr "memory" "none")])
(define_insn "prologue_get_pc_and_set_got" (define_insn "prologue_get_pc_and_set_got"
[(unspec_volatile [(match_operand:SI 0 "" "")] 3)] [(unspec_volatile [(match_operand:SI 0 "" "")] 3)]
...@@ -6460,7 +6468,8 @@ byte_xor_operation: ...@@ -6460,7 +6468,8 @@ byte_xor_operation:
output_asm_insn (AS1 (pop%L0,%0), operands); output_asm_insn (AS1 (pop%L0,%0), operands);
output_asm_insn (\"addl $_GLOBAL_OFFSET_TABLE_+[.-%X1],%0\", operands); output_asm_insn (\"addl $_GLOBAL_OFFSET_TABLE_+[.-%X1],%0\", operands);
RET; RET;
}") }"
[(set_attr "memory" "none")])
(define_expand "epilogue" (define_expand "epilogue"
[(const_int 1)] [(const_int 1)]
...@@ -6483,14 +6492,16 @@ byte_xor_operation: ...@@ -6483,14 +6492,16 @@ byte_xor_operation:
xops[1] = stack_pointer_rtx; xops[1] = stack_pointer_rtx;
output_asm_insn (AS2 (mov%L0,%0,%1), xops); output_asm_insn (AS2 (mov%L0,%0,%1), xops);
RET; RET;
}") }"
[(set_attr "memory" "none")])
(define_insn "leave" (define_insn "leave"
[(const_int 2) [(const_int 2)
(clobber (reg:SI 6)) (clobber (reg:SI 6))
(clobber (reg:SI 7))] (clobber (reg:SI 7))]
"" ""
"leave") "leave"
[(set_attr "memory" "none")])
(define_insn "pop" (define_insn "pop"
[(set (match_operand:SI 0 "register_operand" "r") [(set (match_operand:SI 0 "register_operand" "r")
...@@ -6501,7 +6512,8 @@ byte_xor_operation: ...@@ -6501,7 +6512,8 @@ byte_xor_operation:
{ {
output_asm_insn (AS1 (pop%L0,%P0), operands); output_asm_insn (AS1 (pop%L0,%P0), operands);
RET; RET;
}") }"
[(set_attr "memory" "load")])
(define_expand "movstrsi" (define_expand "movstrsi"
[(parallel [(set (match_operand:BLK 0 "memory_operand" "") [(parallel [(set (match_operand:BLK 0 "memory_operand" "")
...@@ -7688,7 +7700,8 @@ byte_xor_operation: ...@@ -7688,7 +7700,8 @@ byte_xor_operation:
(set (reg:SI 7) (minus:SI (reg:SI 7) (match_dup 0))) (set (reg:SI 7) (minus:SI (reg:SI 7) (match_dup 0)))
(clobber (match_dup 0))] (clobber (match_dup 0))]
"TARGET_STACK_PROBE" "TARGET_STACK_PROBE"
"* return AS1(call,__alloca);") "* return AS1(call,__alloca);"
[(set_attr "memory" "none")])
(define_expand "allocate_stack" (define_expand "allocate_stack"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment