@@ -39,6 +39,12 @@ static std::unordered_set<std::string> operators_to_skip = {
3939static std::unordered_set<std::string> operators_to_codegen = {};
4040static std::unordered_set<std::string> skipped_operators = {};
4141
42+ static std::string LegalizeVariableName (const std::string& var_name) {
43+ std::string ret = var_name;
44+ std::replace (ret.begin (), ret.end (), ' -' , ' _' ); // replace all '-' to '_'
45+ return ret;
46+ }
47+
4248static std::string AttrTypeToString (const proto::AttrType& type) {
4349 std::string ret;
4450 switch (type) {
@@ -1053,24 +1059,25 @@ static std::pair<std::string, std::string> GenerateForwardFunctionContents(
10531059 const std::string& output_name = output.name ();
10541060 std::string out_tensor_str;
10551061 size_t return_position = fwd_outputs_name_pos_map.at (output_name);
1062+ std::string output_varname = LegalizeVariableName (output_name);
10561063
10571064 if (output.duplicable ()) {
10581065 const char * FWD_OUT_TENSORS_TEMPLATE =
10591066 " std::vector<egr::EagerTensor> %s = "
10601067 " egr::EagerUtils::GetOutputs(outs[\" %s\" ]);\n " ;
10611068 out_tensor_str = paddle::string::Sprintf (FWD_OUT_TENSORS_TEMPLATE,
1062- output_name , output_name);
1069+ output_varname , output_name);
10631070 return_types[return_position] = " std::vector<egr::EagerTensor>" ;
10641071 } else {
10651072 const char * FWD_OUT_TENSOR_TEMPLATE =
10661073 " egr::EagerTensor %s = "
10671074 " egr::EagerUtils::GetOutput(outs[\" %s\" ][0]);\n " ;
10681075 out_tensor_str = paddle::string::Sprintf (FWD_OUT_TENSOR_TEMPLATE,
1069- output_name , output_name);
1076+ output_varname , output_name);
10701077 return_types[return_position] = " egr::EagerTensor" ;
10711078 }
10721079
1073- return_contents[return_position] = output_name ;
1080+ return_contents[return_position] = output_varname ;
10741081 generated_function_body += out_tensor_str;
10751082 }
10761083 generated_function_body += " \n " ;
0 commit comments