diff options
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; } |

