cris.h (TARGET_HAS_BREAK, [...]): New macros.
* config/cris/cris.h (TARGET_HAS_BREAK, TARGET_TRAP_USING_BREAK8): New macros. * config/cris/cris.md ("trap"): Define, enabled for TARGET_TRAP_USING_BREAK8. * config/cris/cris.opt (mtrap-using-break8): New option. From-SVN: r187942
This commit is contained in:
parent
3d383eb787
commit
64f5af47c5
|
@ -1,3 +1,11 @@
|
|||
2012-05-29 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* config/cris/cris.h (TARGET_HAS_BREAK, TARGET_TRAP_USING_BREAK8):
|
||||
New macros.
|
||||
* config/cris/cris.md ("trap"): Define, enabled for
|
||||
TARGET_TRAP_USING_BREAK8.
|
||||
* config/cris/cris.opt (mtrap-using-break8): New option.
|
||||
|
||||
2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/25137
|
||||
|
|
|
@ -302,9 +302,14 @@ extern int cris_cpu_version;
|
|||
|
||||
#define TARGET_HAS_MUL_INSNS (cris_cpu_version >= CRIS_CPU_NG)
|
||||
#define TARGET_HAS_LZ (cris_cpu_version >= CRIS_CPU_ETRAX4)
|
||||
#define TARGET_HAS_BREAK (cris_cpu_version >= CRIS_CPU_ETRAX4)
|
||||
#define TARGET_HAS_SWAP (cris_cpu_version >= CRIS_CPU_SVINTO)
|
||||
#define TARGET_V32 (cris_cpu_version >= CRIS_CPU_V32)
|
||||
|
||||
/* The "break" instruction was introduced with ETRAX 4. */
|
||||
#define TARGET_TRAP_USING_BREAK8 \
|
||||
(cris_trap_using_break8 == 2 ? TARGET_HAS_BREAK : cris_trap_using_break8)
|
||||
|
||||
/* Node: Storage Layout */
|
||||
|
||||
#define BITS_BIG_ENDIAN 0
|
||||
|
|
|
@ -3825,6 +3825,14 @@
|
|||
""
|
||||
"nop"
|
||||
[(set_attr "cc" "none")])
|
||||
|
||||
;; Same as the gdb trap breakpoint, will cause a SIGTRAP for
|
||||
;; cris-linux* and crisv32-linux*, as intended. Will work in
|
||||
;; freestanding environments with sufficient framework.
|
||||
(define_insn "trap"
|
||||
[(trap_if (const_int 1) (const_int 8))]
|
||||
"TARGET_TRAP_USING_BREAK8"
|
||||
"break 8")
|
||||
|
||||
;; We need to stop accesses to the stack after the memory is
|
||||
;; deallocated. Unfortunately, reorg doesn't look at naked clobbers,
|
||||
|
|
|
@ -175,6 +175,10 @@ Target Report RejectNegative Joined Var(cris_max_stackframe_str)
|
|||
max-stackframe=
|
||||
Target Report RejectNegative Joined Undocumented Var(cris_max_stackframe_str)
|
||||
|
||||
mtrap-using-break8
|
||||
Target Report Var(cris_trap_using_break8) Init(2)
|
||||
Emit traps as \"break 8\", default for CRIS v3 and up. If disabled, calls to abort() are used.
|
||||
|
||||
; TARGET_SVINTO: Currently this just affects alignment. FIXME:
|
||||
; Redundant with TARGET_ALIGN_BY_32, or put machine stuff here?
|
||||
; This and the others below could just as well be variables and
|
||||
|
|
Loading…
Reference in New Issue