This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Handling aliasing memory accesses in gimple/ssa



On 10/05/16 14:46, Richard Biener wrote:
On Tue, May 10, 2016 at 3:41 PM, Kyrill Tkachov
<kyrylo.tkachov@foss.arm.com> wrote:
Hi all,

I'm taking a stab at fixing PR 22141 by merging adjacent stores into wider
stores in a late gimple pass.

My current plan is to go through all the assignments in a basic block and
keep track of
LHS expressions that are COMPONENT_REF, BIT_FIELD_REF, ARRAY_REF or
ARRAY_RANGE_REF until
we encounter an expression that affects the recorded stores or a mergeable
store that aliases with
any of the preceeding loads. My question is how to express that question in
gimple/tree-ssa?

Is taking get_alias_set of the two expressions that I want to compare and
checking alias_sets_conflict_p enough?
That's too conservative.  You want to use stmt_may_clobber_ref_p /
ref_maybe_used_by_stmt_p
and likely feed both with the "base" you want to perform the merging with.

Thanks!
I think that's exactly what I need.

Richard.

Thanks,
Kyrill



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]