#include "InstrEnumEmitter.h"
#include "AsmWriterEmitter.h"
#include "DAGISelEmitter.h"
+#include "FastISelEmitter.h"
#include "SubtargetEmitter.h"
#include "IntrinsicEmitter.h"
#include "LLVMCConfigurationEmitter.h"
GenInstrEnums, GenInstrs, GenAsmWriter,
GenCallingConv,
GenDAGISel,
+ GenFastISel,
GenSubtarget,
GenIntrinsic,
GenLLVMCConf,
"Generate assembly writer"),
clEnumValN(GenDAGISel, "gen-dag-isel",
"Generate a DAG instruction selector"),
+ clEnumValN(GenFastISel, "gen-fast-isel",
+ "Generate a \"fast\" instruction selector"),
clEnumValN(GenSubtarget, "gen-subtarget",
"Generate subtarget enumerations"),
clEnumValN(GenIntrinsic, "gen-intrinsic",
case GenDAGISel:
DAGISelEmitter(Records).run(*Out);
break;
+ case GenFastISel:
+ FastISelEmitter(Records).run(*Out);
+ break;
case GenSubtarget:
SubtargetEmitter(Records).run(*Out);
break;
std::remove(OutputFilename.c_str()); // Remove the file, it's broken
}
return 1;
+ } catch (const char *Error) {
+ cerr << argv[0] << ": " << Error << "\n";
+ if (Out != cout.stream()) {
+ delete Out; // Close the file
+ std::remove(OutputFilename.c_str()); // Remove the file, it's broken
+ }
+ return 1;
} catch (...) {
cerr << argv[0] << ": Unknown unexpected exception occurred.\n";
if (Out != cout.stream()) {