[llvm] 8885a76 - [X86] Separate imm from relocImm handling.
Topper, Craig via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 15 09:58:04 PDT 2020
Thanks, Hans. I think I see the problem. Sorry for the trouble.
-----Original Message-----
From: Hans Wennborg <hans at chromium.org>
Sent: Monday, June 15, 2020 7:22 AM
To: Topper, Craig <craig.topper at intel.com>; Craig Topper <llvmlistbot at llvm.org>
Cc: llvm-commits <llvm-commits at lists.llvm.org>
Subject: Re: [llvm] 8885a76 - [X86] Separate imm from relocImm handling.
On Sat, Jun 13, 2020 at 8:31 PM Craig Topper via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>
>
> Author: Craig Topper
> Date: 2020-06-13T11:29:28-07:00
> New Revision: 8885a7640b824c26e9ceb92297a3b45f9b8caa8b
>
> URL:
> https://github.com/llvm/llvm-project/commit/8885a7640b824c26e9ceb92297
> a3b45f9b8caa8b
> DIFF:
> https://github.com/llvm/llvm-project/commit/8885a7640b824c26e9ceb92297
> a3b45f9b8caa8b.diff
>
> LOG: [X86] Separate imm from relocImm handling.
>
> relocImm was a complexPattern that handled both ConstantSDNode and
> X86Wrapper. But it was only applied selectively because using it would
> cause patterns to be not importable into FastISel or GlobalISel. So it
> only got applied to flag setting instructions, stores, RMW arithmetic
> instructions, and rotates.
>
> Most of the test changes are a result of making patterns available to
> GlobalISel or FastISel. The absolute-cmp.ll change is due to this
> fixing a pattern ordering issue to make an absolute symbol match to an
> 8-bit immediate before trying a 32-bit immediate.
>
> I tried to use PatFrags to reduce the repetition, but I was getting
> errors from TableGen.
We started seeing an assertion in Chromium builds that bisected to this revision:
SelectionDAGISel.cpp:3458: (...) Assertion `RecNo <
RecordedNodes.size() && "Invalid EmitNode"' failed.
It's a ThinLTO build, so a bit of a pain to work with, but I've extracted some IR that reproduces the problem here:
https://bugs.chromium.org/p/chromium/issues/detail?id=1094852#c2
I've reverted in the meantime: f47a7766287afa0919918093d8367316aa2c9e8e
More information about the llvm-commits
mailing list