diff options
Diffstat (limited to 'contrib/llvm/lib/CodeGen/VirtRegRewriter.h')
-rw-r--r-- | contrib/llvm/lib/CodeGen/VirtRegRewriter.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/contrib/llvm/lib/CodeGen/VirtRegRewriter.h b/contrib/llvm/lib/CodeGen/VirtRegRewriter.h new file mode 100644 index 0000000..93474e0 --- /dev/null +++ b/contrib/llvm/lib/CodeGen/VirtRegRewriter.h @@ -0,0 +1,32 @@ +//===-- llvm/CodeGen/VirtRegRewriter.h - VirtRegRewriter -*- C++ -*--------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_CODEGEN_VIRTREGREWRITER_H +#define LLVM_CODEGEN_VIRTREGREWRITER_H + +namespace llvm { + class LiveIntervals; + class MachineFunction; + class VirtRegMap; + + /// VirtRegRewriter interface: Implementations of this interface assign + /// spilled virtual registers to stack slots, rewriting the code. + struct VirtRegRewriter { + virtual ~VirtRegRewriter(); + virtual bool runOnMachineFunction(MachineFunction &MF, VirtRegMap &VRM, + LiveIntervals* LIs) = 0; + }; + + /// createVirtRegRewriter - Create an return a rewriter object, as specified + /// on the command line. + VirtRegRewriter* createVirtRegRewriter(); + +} + +#endif |