]> gcc.gnu.org Git - gcc.git/commit - gcc/builtins.c
re PR rtl-optimization/8423 (CSE1 not propagating __builtin_constant_p enough)
authorRoger Sayle <roger@eyesopen.com>
Thu, 23 Jan 2003 02:57:26 +0000 (02:57 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Thu, 23 Jan 2003 02:57:26 +0000 (02:57 +0000)
commit34ee7f8278d155d6d128f6af19b10ed35fa8f3d5
treee350e7cda96af13a3c7a7347f5f121cef549541c
parent94edc4abdc1de8d0c77421354eabf3bfc3de0c91
re PR rtl-optimization/8423 (CSE1 not propagating __builtin_constant_p enough)

PR optimization/8423
* cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
its argument is constant, or 0 if !flag_gcse.
* simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
if it's argument is constant.
* gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
(hash_scan_set): Don't record CONSTANT_P_RTX expressions.
(do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
* builtins.c (purge_builtin_constant_p): New function to force
instantiation of any remaining CONSTANT_P_RTX nodes.
* rtl.h (purge_builtin_constant_p): Prototype here.
* toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
pass after GCSE and before loop.
(flag_gcse): No longer static.
* flags.h (flag_gcse): Prototype here.

From-SVN: r61642
gcc/ChangeLog
gcc/builtins.c
gcc/cse.c
gcc/flags.h
gcc/gcse.c
gcc/rtl.h
gcc/simplify-rtx.c
gcc/toplev.c
This page took 0.061517 seconds and 5 git commands to generate.