diff options
author | Dan Gohman <gohman@apple.com> | 2008-08-13 20:19:35 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2008-08-13 20:19:35 +0000 |
commit | b0cf29c5cfff797284b3660dc233e135feb65d9a (patch) | |
tree | 13a5503659cb42ebeab89c26c147752ce85bf34c /utils/TableGen/FastISelEmitter.h | |
parent | ea9587bf41ab9b3de3846ab7de797a5d9bbdeec7 (diff) | |
download | external_llvm-b0cf29c5cfff797284b3660dc233e135feb65d9a.zip external_llvm-b0cf29c5cfff797284b3660dc233e135feb65d9a.tar.gz external_llvm-b0cf29c5cfff797284b3660dc233e135feb65d9a.tar.bz2 |
Initial checkin of the new "fast" instruction selection support. See
the comments in FastISelEmitter.cpp for details on what this is.
This is currently experimental and unusable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54751 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/FastISelEmitter.h')
-rw-r--r-- | utils/TableGen/FastISelEmitter.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/utils/TableGen/FastISelEmitter.h b/utils/TableGen/FastISelEmitter.h new file mode 100644 index 0000000..f34ece8 --- /dev/null +++ b/utils/TableGen/FastISelEmitter.h @@ -0,0 +1,38 @@ +//===- FastISelEmitter.h - Generate an instruction selector -----*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This tablegen backend emits a "fast" instruction selector. +// +//===----------------------------------------------------------------------===// + +#ifndef FASTISEL_EMITTER_H +#define FASTISEL_EMITTER_H + +#include "TableGenBackend.h" +#include "CodeGenDAGPatterns.h" +#include <set> + +namespace llvm { + +/// FastISelEmitter - The top-level class which coordinates construction +/// and emission of the instruction selector. +/// +class FastISelEmitter : public TableGenBackend { + RecordKeeper &Records; + CodeGenDAGPatterns CGP; +public: + explicit FastISelEmitter(RecordKeeper &R) : Records(R), CGP(R) {} + + // run - Output the isel, returning true on failure. + void run(std::ostream &OS); +}; + +} // End llvm namespace + +#endif |