[llvm-dev] llvm combines "ADD frameindex, constant" to OR
Kazushi Marukawa via llvm-dev
llvm-dev at lists.llvm.org
Thu Mar 14 01:47:59 PDT 2019
Hi Tim,
I could fix this problem by defining alignments of relatively small vector data types
in DataLayout. I defined the alignment for vector data types which use whole vector register,
but I forgot to define it for small vector types. It caused problems on vector tests in
test-suite. Thank you so much.
Thanks,
-- Kazushi
> -----Original Message-----
> From: Marukawa Kazushi(丸川 一志)
> Sent: Thursday, March 14, 2019 8:30 AM
> To: Tim Northover <t.p.northover at gmail.com>
> Cc: llvm-dev at lists.llvm.org
> Subject: RE: [llvm-dev] llvm combines "ADD frameindex, constant" to OR
>
> Hi Tim,
>
> Thank you very much for explaining the computeKnownBitsForFrameIndex
> and related functions. I even don't notice them. As you say, I think
> my backend has fundamental problems at that area. I'll check it out.
>
> > > 2. How to optimize FrameIndex? I desire DAGCombiner use alignment
> > > information on data, stack frame, or something.
> >
> > As I said above, I think it should already use that and something has
> > gone wrong there in your case.
>
> That's true. The computeKnownBitsForFrameIndex and InferPtrAlignment
> already use that. It won't work for my case, though.
>
> For example, a vector sized data like v8sd says 64 bytes alignment in
> InferPtrAlignment, although I allocate v8sd using 8 bytes alignment on
> stack. This differences have caused the problem. I'll check details.
>
> Best Regards,
> -- Kazushi
More information about the llvm-dev
mailing list