diff options
| author | Daniel Sanders <daniel_l_sanders@apple.com> | 2019-10-16 23:53:35 +0000 |
|---|---|---|
| committer | Daniel Sanders <daniel_l_sanders@apple.com> | 2019-10-16 23:53:35 +0000 |
| commit | ec5208fd65668ec6415eb274294d284835f3d5dd (patch) | |
| tree | 2fac90b4e440d37d71538370a3f585e3ea5476ff /llvm/lib/Target | |
| parent | 168ef8a8d695eb374e8997e9d163c96c51f38624 (diff) | |
| download | bcm5719-llvm-ec5208fd65668ec6415eb274294d284835f3d5dd.tar.gz bcm5719-llvm-ec5208fd65668ec6415eb274294d284835f3d5dd.zip | |
[gicombiner] Hoist pure C++ combine into the tablegen definition
Summary:
This is just moving the existing C++ code around and will be NFC w.r.t
AArch64. Renamed 'CombineBr' to something more descriptive
('ElideByByInvertingCond') at the same time.
The remaining combines in AArch64PreLegalizeCombiner require features that
aren't implemented at this point and will be hoisted as they are added.
Depends on D68424
Reviewers: bogner, volkan
Subscribers: kristof.beyls, hiraditya, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68426
llvm-svn: 375057
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64Combine.td | 3 | ||||
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp | 8 |
2 files changed, 3 insertions, 8 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64Combine.td b/llvm/lib/Target/AArch64/AArch64Combine.td index c4658f73b8d..89567301cad 100644 --- a/llvm/lib/Target/AArch64/AArch64Combine.td +++ b/llvm/lib/Target/AArch64/AArch64Combine.td @@ -12,4 +12,5 @@ include "llvm/Target/GlobalISel/Combine.td" def AArch64PreLegalizerCombinerHelper: GICombinerHelper< - "AArch64GenPreLegalizerCombinerHelper">; + "AArch64GenPreLegalizerCombinerHelper", [all_combines, + elide_br_by_inverting_cond]>; diff --git a/llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp b/llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp index bea75b83517..cf0fc90b105 100644 --- a/llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp +++ b/llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp @@ -58,12 +58,6 @@ bool AArch64PreLegalizerCombinerInfo::combine(GISelChangeObserver &Observer, CombinerHelper Helper(Observer, B, KB, MDT); switch (MI.getOpcode()) { - default: - return false; - case TargetOpcode::COPY: - return Helper.tryCombineCopy(MI); - case TargetOpcode::G_BR: - return Helper.tryCombineBr(MI); case TargetOpcode::G_LOAD: case TargetOpcode::G_SEXTLOAD: case TargetOpcode::G_ZEXTLOAD: { @@ -118,7 +112,7 @@ public: private: bool IsOptNone; }; -} +} // end anonymous namespace void AArch64PreLegalizerCombiner::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<TargetPassConfig>(); |

