38 const char *getPassName()
const {
39 return "Remove sign extends";
53 "Remove Sign and Zero Extends for Args",
false,
false)
61 if (!isa<PointerType>(Arg->
getType())) {
64 if (isa<SExtInst>(*UI)) {
88 return new HexagonRemoveExtendArgs();
AnalysisUsage & addPreserved()
static PassRegistry * getPassRegistry()
LLVM Argument representation.
Sign extended before/after call.
virtual void getAnalysisUsage(AnalysisUsage &) const
This class represents a sign extension of integer types.
AnalysisUsage & addRequired()
ID
LLVM Calling Convention Representation.
void replaceAllUsesWith(Value *V)
INITIALIZE_PASS(HexagonRemoveExtendArgs,"reargs","Remove Sign and Zero Extends for Args", false, false) bool HexagonRemoveExtendArgs
value_use_iterator< User > use_iterator
void insertBefore(Instruction *InsertPos)
FunctionPass * createHexagonRemoveExtendArgs(const HexagonTargetMachine &TM)
void initializeHexagonRemoveExtendArgsPass(PassRegistry &)
static EVT getEVT(Type *Ty, bool HandleUnknown=false)