[PATCH] D50725: [SystemZ] Replace subreg_r with subreg_h

Krzysztof Parzyszek via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 20 06:13:45 PST 2018


kparzysz added a comment.

In https://reviews.llvm.org/D50725#1303747, @chandlerc wrote:

> We're all still waiting on a fix here....
>
> If Krzysztof can't address this, maybe the code owner for SystemZ (CC-ed I
>  believe) can take a look?


Here's the scoop:

1. Without this patch (causing the warning to appear), TableGen generated incorrect lane masks, with this patch it doesn't, but we get a warning.
2. The situation indicated by the warning is harmless. https://reviews.llvm.org/D50977 was an attempt to silence this case, but the patch caused some concerns.
3. The best solution would be to fix TableGen, but there root of the problem seems to be in some mismatch between the way that TableGen generates subregister indices and the assumptions it makes when it calculates lane masks.  IIRC, in this case there two ways to address a subregister (that maps to the same physical register in the end) with two corresponding (distinct) lane masks.

I went for fixing (2) because I don't have a clear understanding on how to fix (3).  I think the problem has to do with how TableGen generates subregister indexes, and any change there could affect a lot of target and codegen code.

At the moment I'm stuck between a simple silencing of the warning and investigating the root of the problem for which I don't really have enough time at the moment.


Repository:
  rL LLVM

https://reviews.llvm.org/D50725





More information about the llvm-commits mailing list