OpenASIP
2.0
|
#include "CompilerWarnings.hh"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h"
#include "tce_config.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Constants.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Support/Compiler.h"
#include "llvm/IR/AbstractCallSite.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/ADT/Twine.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/CommandLine.h"
#include "Machine.hh"
#include "OperationDAGSelector.hh"
#include "MachineInfo.hh"
#include "Operand.hh"
#include "Operation.hh"
#include "OperationPool.hh"
#include "TCEString.hh"
#include "LLVMBackend.hh"
#include <iostream>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "lowermissing" |
#define | ARGLIST_CONST |
#define | TYPE_CONST |
Functions | |
STATISTIC (NumLowered, "Number of instructions lowered") | |
Pass * | createLowerMissingInstructionsPass (const TTAMachine::Machine &mach) |
const std::vector< std::string > & | llvmFootprints (std::string tceOp) |
Convert instruction which are not supported by the machine to function calls.
NOTE: Right now system is limited to replace only those operations, which use only one bitwidth integers for example i1.icmp.i32.i32 cannot be lowered to function call. However i16.mul.i16.i16 works.
Maybe better way would be to take llvm footprints which must be emulated and create function prototype directly for them.
Definition in file LowerMissingInstructions.cc.
#define ARGLIST_CONST |
Definition at line 91 of file LowerMissingInstructions.cc.
#define DEBUG_TYPE "lowermissing" |
Definition at line 45 of file LowerMissingInstructions.cc.
#define TYPE_CONST |
Definition at line 92 of file LowerMissingInstructions.cc.
Pass* createLowerMissingInstructionsPass | ( | const TTAMachine::Machine & | mach | ) |
Definition at line 147 of file LowerMissingInstructions.cc.
Referenced by llvm::TCEPassConfig::addPreISel().
const std::vector<std::string>& llvmFootprints | ( | std::string | tceOp | ) |
Definition at line 209 of file LowerMissingInstructions.cc.
STATISTIC | ( | NumLowered | , |
"Number of instructions lowered" | |||
) |