Go to the documentation of this file.
37 #include "llvm/Analysis/CFG.h"
38 #include "llvm/CodeGen/Passes.h"
39 #include "tce_config.h"
40 #include "llvm/IR/Module.h"
41 #include "llvm/IR/Constant.h"
42 #include "llvm/IR/Constants.h"
43 #include "llvm/IR/Instructions.h"
44 #include "llvm/IR/Function.h"
45 #include "llvm/IR/Type.h"
46 #include "llvm/Pass.h"
47 #include "llvm/CodeGen/MachineFunctionPass.h"
48 #include "llvm/CodeGen/MachineRegisterInfo.h"
50 #include "llvm/Support/Compiler.h"
51 #include "llvm/CodeGen/TargetInstrInfo.h"
52 #include "llvm/ADT/DepthFirstIterator.h"
53 #include "llvm/Analysis/CallGraph.h"
54 #include "llvm/Analysis/AliasAnalysis.h"
55 #include "llvm/Analysis/Passes.h"
56 #include "llvm/Support/Debug.h"
57 #include "llvm/Support/raw_ostream.h"
59 #include "llvm/ADT/StringMap.h"
89 return "TCE deadcode elimination of unused emulation functions";
virtual bool doFinalization(Module &M) override
UserList baseUsers_
If users are traced to this list it means that function cannot be eliminated.
std::map< std::string, UserList > UserRelations
bool canFindStart(const std::string &user, AvoidRecursionSet &avoid_recursion)
FunctionMap functionMappings_
Function name to MachineFunction map.
virtual bool runOnMachineFunction(MachineFunction &F) override
virtual StringRef getPassName() const override
std::map< std::string, MachineFunction * > FunctionMap
std::set< const std::string * > AvoidRecursionSet
std::set< std::string > UnusedFunctionsList
void addInitializer(const Constant *init, std::string &name)
#define IGNORE_COMPILER_WARNING(X)
#define POP_COMPILER_DIAGS
UserRelations usersOfValue_
List of users of a symbol.
virtual bool doInitialization(Module &M) override
UnusedFunctionsList removeableFunctions
std::set< std::string > UserList