{"ground_truth": ["", "void", "expand_epilogue", "(", ")", "{", "unsigned", "int", "size", ";", "unsigned", "int", "outgoing_args_size", "=", "current_function_outgoing_args_size", ";", "int", "offset", ",", "i", ",", "temp_regno", ";", "rtx", "basereg", ";", "size", "=", "total_frame_size", "(", ")", ";", "if", "(", "DECL_RESULT", "(", "current_function_decl", ")", "&&", "DECL_RTL", "(", "DECL_RESULT", "(", "current_function_decl", ")", ")", "&&", "REG_P", "(", "DECL_RTL", "(", "DECL_RESULT", "(", "current_function_decl", ")", ")", ")", ")", "temp_regno", "=", "(", "REGNO", "(", "DECL_RTL", "(", "DECL_RESULT", "(", "current_function_decl", ")", ")", ")", "==", "4", "?", "0", ":", "4", ")", ";", "else", "temp_regno", "=", "4", ";", "if", "(", "out_of_line_epilogue", ")", "{", "if", "(", "get_frame_size", "(", ")", "==", "0", "&&", "outgoing_args_size", "==", "0", ")", "{", "emit_jump_insn", "(", "gen_outline_epilogue_jump", "(", ")", ")", ";", "return", ";", "}", "if", "(", "outgoing_args_size", ")", "emit_insn", "(", "gen_addpsi3", "(", "stack_pointer_rtx", ",", "stack_pointer_rtx", ",", "GEN_INT", "(", "outgoing_args_size", ")", ")", ")", ";", "if", "(", "temp_regno", "==", "0", ")", "emit_insn", "(", "gen_outline_epilogue_call_d0", "(", ")", ")", ";", "else", "if", "(", "temp_regno", "==", "4", ")", "emit_insn", "(", "gen_outline_epilogue_call_a0", "(", ")", ")", ";", "if", "(", "get_frame_size", "(", ")", "!=", "0", ")", "emit_insn", "(", "gen_addpsi3", "(", "stack_pointer_rtx", ",", "stack_pointer_rtx", ",", "GEN_INT", "(", "size", "-", "outgoing_args_size", "-", "16", ")", ")", ")", ";", "emit_jump_insn", "(", "gen_return_internal", "(", ")", ")", ";", "return", ";", "}", "if", "(", "frame_pointer_needed", ")", "{", "basereg", "=", "frame_pointer_rtx", ";", "offset", "=", "-", "(", "size", "-", "outgoing_args_size", ")", ";", "}", "else", "{", "basereg", "=", "stack_pointer_rtx", ";", "offset", "=", "outgoing_args_size", ";", "}", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "{", "if", "(", "(", "regs_ever_live", "[", "i", "]", "&&", "!", "call_used_regs", "[", "i", "]", "&&", "!", "fixed_regs", "[", "i", "]", ")", "||", "(", "i", "==", "FRAME_POINTER_REGNUM", "&&", "frame_pointer_needed", ")", ")", "{", "int", "regno", ";", "regno", "=", "(", "(", "i", "==", "FRAME_POINTER_REGNUM", "&&", "frame_pointer_needed", ")", "?", "temp_regno", ":", "i", ")", ";", "emit_move_insn", "(", "gen_rtx_REG", "(", "PSImode", ",", "regno", ")", ",", "gen_rtx_MEM", "(", "PSImode", ",", "plus_constant", "(", "basereg", ",", "offset", ")", ")", ")", ";", "offset", "+=", "4", ";", "}", "}", "if", "(", "frame_pointer_needed", ")", "{", "emit_move_insn", "(", "stack_pointer_rtx", ",", "frame_pointer_rtx", ")", ";", "emit_move_insn", "(", "frame_pointer_rtx", ",", "gen_rtx_REG", "(", "PSImode", ",", "temp_regno", ")", ")", ";", "}", "else", "if", "(", "size", ")", "{", "emit_insn", "(", "gen_addpsi3", "(", "stack_pointer_rtx", ",", "stack_pointer_rtx", ",", "GEN_INT", "(", "size", ")", ")", ")", ";", "}", "if", "(", "current_function_needs_context", ")", "emit_insn", "(", "gen_addpsi3", "(", "stack_pointer_rtx", ",", "stack_pointer_rtx", ",", "GEN_INT", "(", "4", ")", ")", ")", ";", "if", "(", "size", "==", "0", "&&", "!", "current_function_needs_context", ")", "emit_jump_insn", "(", "gen_return", "(", ")", ")", ";", "else", "emit_jump_insn", "(", "gen_return_internal", "(", ")", ")", ";", "}", ""], "natrual_language": ["Expand", "the", "epilogue", "into", "RTL", "."], "TS_V_token": ["mn10200", "4", "0", "4", "4", "0", "0", "0", "4", "0", "16", "0", "4", "4", "0"], "File": "mn10200", "Func": "expand_epilogue", "Target": "mn10200", "Target_Clf": "MPU", "Compiler_Type": "GCC", "Idx": 37575, "Length": 406} {"ground_truth": ["", "int", "total_frame_size", "(", ")", "{", "unsigned", "int", "size", "=", "get_frame_size", "(", ")", ";", "unsigned", "int", "outgoing_args_size", "=", "current_function_outgoing_args_size", ";", "int", "i", ";", "if", "(", "optimize", "&&", "!", "current_function_needs_context", "&&", "!", "frame_pointer_needed", ")", "{", "int", "inline_count", ",", "outline_count", ";", "inline_count", "=", "0", ";", "if", "(", "regs_ever_live", "[", "5", "]", ")", "inline_count", "+=", "2", ";", "if", "(", "regs_ever_live", "[", "6", "]", ")", "inline_count", "+=", "2", ";", "if", "(", "regs_ever_live", "[", "2", "]", ")", "inline_count", "+=", "3", ";", "if", "(", "regs_ever_live", "[", "3", "]", ")", "inline_count", "+=", "3", ";", "if", "(", "size", "||", "outgoing_args_size", "||", "regs_ever_live", "[", "5", "]", "||", "regs_ever_live", "[", "6", "]", "||", "regs_ever_live", "[", "2", "]", "||", "regs_ever_live", "[", "3", "]", ")", "inline_count", "+=", "2", ";", "inline_count", "=", "inline_count", "*", "2", "+", "1", ";", "outline_count", "=", "3", ";", "outline_count", "+=", "(", "outgoing_args_size", "==", "0", "?", "0", ":", "2", ")", ";", "if", "(", "get_frame_size", "(", ")", "!=", "0", ")", "outline_count", "+=", "2", ";", "outline_count", "=", "outline_count", "*", "2", "+", "1", ";", "if", "(", "get_frame_size", "(", ")", "==", "0", "&&", "outgoing_args_size", "==", "0", ")", "outline_count", "-=", "1", ";", "if", "(", "inline_count", ">", "outline_count", ")", "return", "size", "+", "outgoing_args_size", "+", "16", ";", "}", "for", "(", "i", "=", "0", ";", "i", "<", "FIRST_PSEUDO_REGISTER", ";", "i", "++", ")", "{", "if", "(", "(", "regs_ever_live", "[", "i", "]", "&&", "!", "call_used_regs", "[", "i", "]", "&&", "!", "fixed_regs", "[", "i", "]", ")", "||", "(", "i", "==", "FRAME_POINTER_REGNUM", "&&", "frame_pointer_needed", ")", ")", "size", "+=", "4", ";", "}", "return", "(", "size", "+", "outgoing_args_size", ")", ";", "}", ""], "natrual_language": ["Return", "the", "total", "size", "(", "in", "bytes", ")", "of", "the", "current", "function", "'s", "frame", ".", "This", "is", "the", "size", "of", "the", "register", "save", "area", "+", "the", "size", "of", "locals", ",", "spills", ",", "etc", "."], "TS_V_token": ["mn10200", "0", "5", "2", "6", "2", "2", "3", "3", "3", "5", "6", "2", "3", "2", "2", "1", "3", "0", "0", "2", "0", "2", "2", "1", "0", "0", "1", "16", "0", "4"], "File": "mn10200", "Func": "total_frame_size", "Target": "mn10200", "Target_Clf": "MPU", "Compiler_Type": "GCC", "Idx": 37576, "Length": 246}