]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/rs6000/rs6000.md
haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
authorJohn Carr <jfc@mit.edu>
Wed, 17 Jun 1998 16:14:09 +0000 (16:14 +0000)
committerJohn Carr <jfc@gcc.gnu.org>
Wed, 17 Jun 1998 16:14:09 +0000 (16:14 +0000)
commite0cd077072ade89c9aee0cabc8be0c5a6ebb23cf
treebc08309af18e3e3b81d9dde6d23a1abd41673ffe
parent4fdf79cb6764f8c57b4c4deaabd6131850535263
haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.

* haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
(sched_analyze_2): Allow scheduling TRAP_IF.
* reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
* rtl.h (TRAP_CODE): New macro.
* rtl.def (TRAP_IF): Change second operand type to rtx.
* optabs.c (gen_cond_trap): New function.
(init_traps): New function.
(init_optabs): Call init_traps.
* expr.h: Declare gen_cond_trap.
* jump.c (jump_optimize): Optimize jumps to and around traps.
* sparc.md: Define trap instructions.
* rs6000.md: Define trap instructions.
* rs6000.c (print_operand): New code 'V' for trap condition.
(trap_comparison_operator): New function.
* m88k.md: Update use of TRAP_IF.
* tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
* c-decl.c (init_decl_processing): New builtin __builtin_trap.
* expr.c (expand_builtin): Handle BUILT_IN_TRAP.
* expr.c (expand_builtin): Error if __builtin_longjmp second argument
is not 1.

From-SVN: r20543
15 files changed:
gcc/ChangeLog
gcc/c-decl.c
gcc/config/m88k/m88k.md
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.md
gcc/config/sparc/sparc.md
gcc/expr.c
gcc/expr.h
gcc/haifa-sched.c
gcc/jump.c
gcc/optabs.c
gcc/reorg.c
gcc/rtl.def
gcc/rtl.h
gcc/tree.h