[PATCH] D31833: [x86] Relax the check in areLoadsFromSameBasePtr

Easwaran Raman via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 12 08:42:12 PDT 2017


Thanks for finding the root cause. I've submitted r300069 with a fix
similar to what you have above.

On Wed, Apr 12, 2017 at 4:25 AM, NAKAMURA Takumi via Phabricator <
reviews at reviews.llvm.org> wrote:

> chapuni added a comment.
>
> Seems it causes crash in stage2.
> http://bb.pgr.jp/builders/clang-3stage-x86_64-linux/builds/14942
>
> As far as I investigated, this change misses the case
> "Load1->getOperand(5) != Load2->getOperand(5)"
>
>   t69: i64,ch = <<Unknown Machine Node #63812>><Mem:LD8[%_M_p.i.i.i.i.i34](tbaa=<0xa62bec8>)>
> t2, TargetConstant:i8<1>, Register:i64 %noreg, TargetConstant:i32<0>,
> Register:i32 %noreg, t2:1
>   t78: i64,ch = <<Unknown Machine Node #63812>><Mem:LD8[%9](tbaa=<0xa55faf8>)>
> t2, TargetConstant:i8<1>, Register:i64 %noreg, TargetConstant:i32<56>,
> Register:i32 %noreg, t29:1
>
> Is it true for areLoadsFromSameBasePtr() ?
>
>
>
> ================
> Comment at: llvm/trunk/lib/Target/X86/X86InstrInfo.cpp:8985
> -  if (Load1->getOperand(0) != Load2->getOperand(0) ||
> -      Load1->getOperand(5) != Load2->getOperand(5))
>      return false;
> ----------------
> Crashes can be fixed if this logic is included.
>
>
> Repository:
>   rL LLVM
>
> https://reviews.llvm.org/D31833
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170412/9053f540/attachment.html>


More information about the llvm-commits mailing list