]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/final.c
Fix ia64-linux kernel miscompile, bad unwind info when reorder epilogue block.
authorJim Wilson <wilson@redhat.com>
Tue, 27 Mar 2001 23:15:04 +0000 (23:15 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Tue, 27 Mar 2001 23:15:04 +0000 (15:15 -0800)
commitad0fc6987804eb16dccee061dc63fdd6ca07be48
tree532d2ee7bd30f32f7fe080f207dfdccba9120355
parent911e61070f7b39ca392345444b1f91411aad3925
Fix ia64-linux kernel miscompile, bad unwind info when reorder epilogue block.

* final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
IA64_UNWIND_EMIT.
* config/ia64/ia64.c (block_num, need_copy_state): New static vars.
(process_epilogue): New static function.
(process_set): Call process_epilogue instead of emitting .restore
directly.
(process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.

From-SVN: r40885
gcc/ChangeLog
gcc/config/ia64/ia64.c
gcc/final.c