On 04/26/2016 03:17 AM, Richard Biener wrote:
On Mon, 25 Apr 2016, Uros Bizjak wrote:
On Mon, Apr 25, 2016 at 4:47 PM, H.J. Lu <hjl.to...@gmail.com> wrote:
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.
Let's ask Richard if he is OK with the workaround...
Well, it's ultimately your call (it's a workaround in the target).
Of course I'd like to see the underlying issue fixed and the
workarounds in "other places" be removed.
Agreed. It's fundamentally papering over a problem elsewhere.
jeff