diff options
author | Amara Emerson <amara@apple.com> | 2022-10-02 22:28:29 +0100 |
---|---|---|
committer | Amara Emerson <amara@apple.com> | 2022-10-03 07:36:18 +0100 |
commit | 3daf7ddaef0a4ddd99d7299ab7c5882329e99700 (patch) | |
tree | 24325eb58977977c097442bf5c62b199c747d2ed /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | 598f5275c16049b1e1b5bc934cbde447a82d485e (diff) | |
download | llvm-3daf7ddaef0a4ddd99d7299ab7c5882329e99700.zip llvm-3daf7ddaef0a4ddd99d7299ab7c5882329e99700.tar.gz llvm-3daf7ddaef0a4ddd99d7299ab7c5882329e99700.tar.bz2 |
[GlobalISel] Allow prelegalizer combiners to have access to LegalizerInfo.
Before, the isPreLegalize() query in CombinerHelper only checked for the
presence of a LegalizerInfo object. This is problematic when we want to have
a combine actually check for legality in a pre-legalizer combine pass, since
if we pass a LegalizerInfo object to the constructor it causes the combines to
think that we're running *post* legalizer, which isn't true.
This change fixes it to instead check an explicit bool that passes to signal
whether the pass will be run before or after legalization.
Doing so exposed a bug in the extending loads combine, which tried to check for
legality of candidate extending loads if LegalizerInfo was present. Since we
only ran it pre-legalizer and therefore with a null LegalizerInfo, it never
actually ran. Also fixes the legality checks to keep the tests passing.
Differential Revision: https://reviews.llvm.org/D135044
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions