unsigned ParamSize = Ins[i].VT.getStoreSizeInBits();
unsigned Param = PM.addArgumentParam(ParamSize);
- std::string ParamName = PM.getParamName(Param);
+ const std::string &ParamName = PM.getParamName(Param);
SDValue ParamValue = DAG.getTargetExternalSymbol(ParamName.c_str(),
MVT::Other);
SDValue ArgValue = DAG.getNode(PTXISD::LOAD_PARAM, dl, Ins[i].VT, Chain,
if (Outs.size() == 1) {
unsigned ParamSize = OutVals[0].getValueType().getSizeInBits();
unsigned Param = PM.addReturnParam(ParamSize);
- std::string ParamName = PM.getParamName(Param);
+ const std::string &ParamName = PM.getParamName(Param);
SDValue ParamValue = DAG.getTargetExternalSymbol(ParamName.c_str(),
MVT::Other);
Chain = DAG.getNode(PTXISD::STORE_PARAM, dl, MVT::Other, Chain,
for (unsigned i = 0; i != OutVals.size(); ++i) {
unsigned Size = OutVals[i].getValueType().getSizeInBits();
unsigned Param = PM.addLocalParam(Size);
- std::string ParamName = PM.getParamName(Param);
+ const std::string &ParamName = PM.getParamName(Param);
SDValue ParamValue = DAG.getTargetExternalSymbol(ParamName.c_str(),
MVT::Other);
Chain = DAG.getNode(PTXISD::STORE_PARAM, dl, MVT::Other, Chain,
for (unsigned i = 0; i < Ins.size(); ++i) {
unsigned Size = Ins[i].VT.getStoreSizeInBits();
unsigned Param = PM.addLocalParam(Size);
- std::string ParamName = PM.getParamName(Param);
+ const std::string &ParamName = PM.getParamName(Param);
SDValue ParamValue = DAG.getTargetExternalSymbol(ParamName.c_str(),
MVT::Other);
Ops[i+1] = ParamValue;
unsigned addLocalParam(unsigned Size);
/// getParamName - Returns the name of the parameter as a string.
- std::string getParamName(unsigned Param) const {
+ const std::string &getParamName(unsigned Param) const {
assert(AllParams.count(Param) == 1 && "Param has not been defined!");
- return AllParams.lookup(Param).Name;
+ return AllParams.find(Param)->second.Name;
}
/// getParamSize - Returns the size of the parameter in bits.
unsigned getParamSize(unsigned Param) const {
assert(AllParams.count(Param) == 1 && "Param has not been defined!");
- return AllParams.lookup(Param).Size;
+ return AllParams.find(Param)->second.Size;
}
};