diff options
| author | Clement Courbet <courbet@google.com> | 2018-06-20 11:54:35 +0000 |
|---|---|---|
| committer | Clement Courbet <courbet@google.com> | 2018-06-20 11:54:35 +0000 |
| commit | 6fd00e32e54835a850b9cc872f82cf866e6527bb (patch) | |
| tree | 64fadd646a0e0196c23f9301de376feb81f552f1 /llvm/tools/llvm-exegesis/lib/X86/Target.cpp | |
| parent | bd1077e2bc7edb2368ac4947b15d6763ac967869 (diff) | |
| download | bcm5719-llvm-6fd00e32e54835a850b9cc872f82cf866e6527bb.tar.gz bcm5719-llvm-6fd00e32e54835a850b9cc872f82cf866e6527bb.zip | |
[llvm-exegesis] Add mechanism to add target-specific passes.
Summary:
createX86FloatingPointStackifierPass is disabled until we handle
TracksLiveness correctly.
Reviewers: gchatelet
Subscribers: mgorny, tschuett, llvm-commits
Differential Revision: https://reviews.llvm.org/D48360
llvm-svn: 335117
Diffstat (limited to 'llvm/tools/llvm-exegesis/lib/X86/Target.cpp')
| -rw-r--r-- | llvm/tools/llvm-exegesis/lib/X86/Target.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/llvm/tools/llvm-exegesis/lib/X86/Target.cpp b/llvm/tools/llvm-exegesis/lib/X86/Target.cpp index a37387bf5e7..557588b2d9b 100644 --- a/llvm/tools/llvm-exegesis/lib/X86/Target.cpp +++ b/llvm/tools/llvm-exegesis/lib/X86/Target.cpp @@ -8,12 +8,20 @@ //===----------------------------------------------------------------------===// #include "../Target.h" +#include "X86.h" + namespace exegesis { namespace { class ExegesisX86Target : public ExegesisTarget { -private: + void addTargetSpecificPasses(llvm::PassManagerBase &PM) const override { + // Lowers FP pseudo-instructions, e.g. ABS_Fp32 -> ABS_F. + // FIXME: Enable when the exegesis assembler no longer does + // Properties.reset(TracksLiveness); + // PM.add(llvm::createX86FloatingPointStackifierPass()); + } + bool matchesArch(llvm::Triple::ArchType Arch) const override { return Arch == llvm::Triple::x86_64 || Arch == llvm::Triple::x86; } |

