On Mon, Apr 25, 2016 at 7:18 AM, Uros Bizjak <ubiz...@gmail.com> wrote: > On Mon, Apr 25, 2016 at 2:51 PM, H.J. Lu <hongjiu...@intel.com> wrote: >> Tested on Linux/x86-64. OK for trunk? > >> + /* FIXME: Since the CSE pass may change dominance info, which isn't >> + expected by the fwprop pass, call free_dominance_info to >> + invalidate dominance info. Otherwise, the fwprop pass may crash >> + when dominance info is changed. */ >> + if (TARGET_64BIT) >> + free_dominance_info (CDI_DOMINATORS); >> + > > Please resolve the above problem first, target-dependent sources are > not the place to apply band-aids for middle-end problems. The thread > with the proposed fix died in [1]. > > [1] https://gcc.gnu.org/ml/gcc/2016-03/msg00143.html
free_dominance_info (CDI_DOMINATORS) has been called in other places to avoid this middle-end issue. I don't know when the middle-end will be fixed. I don't think this target optimization should be penalized by the middle-end issue. > Also, I find _32 and _64 suffixes confusing, maybe better would be to > use timode_ and dimode_ prefixes everywhere? > I will make the change. -- H.J.