> + } else if (CallInst *CI = dyn_cast<CallInst>(UsersToProcess > [i].Inst)) { > + // Addressing modes can also be folded into prefetches. > + Function *CalledFunc = CI->getCalledFunction(); > + if (CalledFunc != NULL && > + CalledFunc->getIntrinsicID() == Intrinsic::prefetch && > + CI->getOperand(1) == UsersToProcess > [i].OperandValToReplace) > + isAddress = true; > + }
Cool. One easier way to do this is with llvm/IntrinsicInst.h. You can do stuff like: } else if (IntrinsicInst *II = dyn_cast<IntrinsicInst>(UsersToProcess [i].Inst)) { if (II->getIntrinsicID() == Intrinsic::prefetch && ... Which is ever so slightly nicer :) -Chris > > MoveImmediateValues(TLI, UsersToProcess[i].Inst, > UsersToProcess[i].Base, > UsersToProcess[i].Imm, isAddress, L); > > > > _______________________________________________ > llvm-commits mailing list > llvm-commits@cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits