[PATCH] D51032: [ARM] Avoid injecting constant islands in movw+movt pairs on Windows
Martin Storsjö via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 21 14:42:45 PDT 2018
mstorsjo added a comment.
In https://reviews.llvm.org/D51032#1207962, @efriedma wrote:
> Can we change the way we model these movw+movt pairs so it isn't so fragile? If these pairs are illegal to split on Windows, I'd prefer to model it as a pseudo-instruction until the asmprinter. Otherwise you're going to be fighting obscure issues in every pass that runs after ARMExpandPseudo.
That's probably the best way forward, although I do feel that's probably a rather large change - I don't know off-hand where to start with that.
In https://reviews.llvm.org/D51032#1207466, @peter.smith wrote:
> The code changes look good to me, although someone more familiar with the ConstantIslands pass may have a better idea of how to prevent splitting. The only other thought about the test is to make a MIR test and just run the constant-islands pass. For example see the test constant-islands-cfg.mir. I suspect that it will be hard to write the test but it should be a lot less fragile.
Actually I think I can generate that test from the one I have now, with `llc -stop-before=arm-cp-islands`. I'll try to get the test updated with that. Since nobody seems to have run into this before, I'm pondering if this fix could be acceptable until a proper restructuring with a pseudoinstruction can be done.
Repository:
rL LLVM
https://reviews.llvm.org/D51032
More information about the llvm-commits
mailing list