[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