Auto-vectorizer and (mis-)alignment support assumptions
Eric Botcazou
ebotcazou@adacore.com
Thu Sep 12 21:39:00 GMT 2013
> may_trap_or_fault_p() does the right thing by taking the misalignement
> of stack accesses into account on STRICT_ALIGN targets. Would it be a
> solution to call that instead may_trap_p() from
> haifa-sched.c:may_trap_exp() ?
That wouldn't be the first time that this replacement is done.
> I'm not clear why may_trap_p() and may_trap_or_fault_p() are different
> functions.
And yet there is a lenghty explanation. :-)
> When would we want to disallow a trap, but allow a misalignment fault?
You use may_trap_p when you're querying the semantical properties of an
instruction in a valid program: if it returns true, then the instruction may
generate a trap in a valid program.
You use may_trap_or_fault_p when you're querying the actual properties of an
instruction whatever the context: if it returns true, then the instruction may
generate a trap in a valid program or may generate a fault if it appears in a
context that isn't appropriate.
--
Eric Botcazou
More information about the Gcc
mailing list