{"ground_truth": ["", "void", "fr30_setup_incoming_varargs", "(", "cumulative_args_t", "arg_regs_used_so_far_v", ",", "const", "function_arg_info", "&", "arg", ",", "int", "*", "pretend_size", ",", "int", "second_time", "ATTRIBUTE_UNUSED", ")", "{", "CUMULATIVE_ARGS", "*", "arg_regs_used_so_far", "=", "get_cumulative_args", "(", "arg_regs_used_so_far_v", ")", ";", "int", "size", ";", "if", "(", "!", "TYPE_NO_NAMED_ARGS_STDARG_P", "(", "TREE_TYPE", "(", "current_function_decl", ")", ")", ")", "{", "gcc_assert", "(", "arg", ".", "mode", "!=", "BLKmode", ")", ";", "if", "(", "targetm", ".", "calls", ".", "strict_argument_naming", "(", "arg_regs_used_so_far_v", ")", ")", "arg_regs_used_so_far", "+=", "fr30_num_arg_regs", "(", "arg", ")", ";", "}", "size", "=", "FR30_NUM_ARG_REGS", "-", "(", "*", "arg_regs_used_so_far", ")", ";", "if", "(", "size", "<=", "0", ")", "return", ";", "*", "pretend_size", "=", "(", "size", "*", "UNITS_PER_WORD", ")", ";", "}", ""], "natrual_language": ["Do", "any", "needed", "setup", "for", "a", "variadic", "function", ".", "We", "must", "create", "a", "register", "parameter", "block", ",", "and", "then", "copy", "any", "anonymous", "arguments", ",", "plus", "the", "last", "named", "argument", ",", "from", "registers", "into", "memory", ".", "*", "copying", "actually", "done", "in", "fr30_expand_prologue", "(", ")", ".", "ARG_REGS_USED_SO_FAR", "has", "*", "not", "*", "been", "updated", "for", "the", "last", "named", "argument", "which", "has", "type", "TYPE", "and", "mode", "MODE", ",", "and", "we", "rely", "on", "this", "fact", "."], "TS_V_token": ["fr30", "0"], "File": "fr301", "Func": "fr30_setup_incoming_varargs", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36940, "Length": 99}
{"ground_truth": ["", "void", "fr30_expand_epilogue", "(", ")", "{", "int", "regno", ";", "if", "(", "!", "current_frame_info", ".", "initialised", ")", "abort", "(", ")", ";", "if", "(", "current_frame_info", ".", "frame_size", ">", "0", ")", "{", "if", "(", "current_frame_info", ".", "save_fp", "&&", "frame_pointer_needed", ")", "{", "emit_insn", "(", "gen_leave_func", "(", ")", ")", ";", "current_frame_info", ".", "save_fp", "=", "0", ";", "}", "else", "if", "(", "current_frame_info", ".", "frame_size", "<=", "508", ")", "emit_insn", "(", "gen_add_to_stack", "(", "GEN_INT", "(", "current_frame_info", ".", "frame_size", ")", ")", ")", ";", "else", "{", "rtx", "tmp", "=", "gen_rtx_REG", "(", "Pmode", ",", "PROLOGUE_TMP_REGNUM", ")", ";", "emit_insn", "(", "gen_movsi", "(", "tmp", ",", "GEN_INT", "(", "current_frame_info", ".", "frame_size", ")", ")", ")", ";", "emit_insn", "(", "gen_addsi3", "(", "stack_pointer_rtx", ",", "stack_pointer_rtx", ",", "tmp", ")", ")", ";", "}", "}", "if", "(", "current_frame_info", ".", "save_fp", ")", "emit_insn", "(", "gen_movsi_pop", "(", "frame_pointer_rtx", ")", ")", ";", "if", "(", "current_frame_info", ".", "save_rp", ")", "emit_insn", "(", "gen_movsi_pop", "(", "gen_rtx_REG", "(", "Pmode", ",", "RETURN_POINTER_REGNUM", ")", ")", ")", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "STACK_POINTER_REGNUM", ";", "regno", "++", ")", "if", "(", "current_frame_info", ".", "gmask", "&", "(", "1", "<<", "regno", ")", ")", "emit_insn", "(", "gen_movsi_pop", "(", "gen_rtx_REG", "(", "Pmode", ",", "regno", ")", ")", ")", ";", "if", "(", "current_frame_info", ".", "pretend_size", ")", "emit_insn", "(", "gen_add_to_stack", "(", "GEN_INT", "(", "current_frame_info", ".", "pretend_size", ")", ")", ")", ";", "current_frame_info", "=", "zero_frame_info", ";", "emit_jump_insn", "(", "gen_return_from_func", "(", ")", ")", ";", "}", ""], "natrual_language": ["Called", "after", "register", "allocation", "to", "add", "any", "instructions", "needed", "for", "the", "epilogue", ".", "Using", "an", "epilogue", "insn", "is", "favored", "compared", "to", "putting", "all", "of", "the", "instructions", "in", "output_function_epilogue", "(", ")", ",", "since", "it", "allows", "the", "scheduler", "to", "intermix", "instructions", "with", "the", "restores", "of", "the", "caller", "saved", "registers", ".", "In", "some", "cases", ",", "it", "might", "be", "necessary", "to", "emit", "a", "barrier", "instruction", "as", "the", "first", "insn", "to", "prevent", "such", "scheduling", "."], "TS_V_token": ["fr30", "0", "0", "508", "0", "1"], "File": "fr302", "Func": "fr30_expand_epilogue", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36941, "Length": 216}
{"ground_truth": ["", "static", "int", "fr30_arg_partial_bytes", "(", "CUMULATIVE_ARGS", "*", "cum", ",", "enum", "machine_mode", "mode", ",", "tree", "type", ",", "bool", "named", ")", "{", "if", "(", "named", "==", "0", "||", "*", "cum", ">=", "FR30_NUM_ARG_REGS", ")", "return", "0", ";", "if", "(", "*", "cum", "+", "fr30_num_arg_regs", "(", "mode", ",", "type", ")", "<=", "FR30_NUM_ARG_REGS", ")", "return", "0", ";", "return", "(", "FR30_NUM_ARG_REGS", "-", "*", "cum", ")", "*", "UNITS_PER_WORD", ";", "}", ""], "natrual_language": ["Returns", "the", "number", "of", "bytes", "in", "which", "*", "part", "*", "of", "a", "parameter", "of", "machine", "mode", "MODE", "and", "tree", "type", "TYPE", "(", "which", "may", "be", "NULL", "if", "the", "type", "is", "not", "known", ")", ".", "If", "the", "argument", "fits", "entirely", "in", "the", "argument", "registers", ",", "or", "entirely", "on", "the", "stack", ",", "then", "0", "is", "returned", ".", "CUM", "is", "the", "number", "of", "argument", "registers", "already", "used", "by", "earlier", "parameters", "to", "the", "function", "."], "TS_V_token": ["fr30", "0", "0", "0"], "File": "fr303", "Func": "fr30_arg_partial_bytes", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36942, "Length": 61}
{"ground_truth": ["", "unsigned", "int", "fr30_compute_frame_size", "(", "int", "from_reg", ",", "int", "to_reg", ")", "{", "int", "regno", ";", "unsigned", "int", "return_value", ";", "unsigned", "int", "var_size", ";", "unsigned", "int", "args_size", ";", "unsigned", "int", "pretend_size", ";", "unsigned", "int", "reg_size", ";", "unsigned", "int", "gmask", ";", "var_size", "=", "WORD_ALIGN", "(", "get_frame_size", "(", ")", ")", ";", "args_size", "=", "WORD_ALIGN", "(", "current_function_outgoing_args_size", ")", ";", "pretend_size", "=", "current_function_pretend_args_size", ";", "reg_size", "=", "0", ";", "gmask", "=", "0", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "{", "if", "(", "MUST_SAVE_REGISTER", "(", "regno", ")", ")", "{", "reg_size", "+=", "UNITS_PER_WORD", ";", "gmask", "|=", "1", "<<", "regno", ";", "}", "}", "current_frame_info", ".", "save_fp", "=", "MUST_SAVE_FRAME_POINTER", ";", "current_frame_info", ".", "save_rp", "=", "MUST_SAVE_RETURN_POINTER", ";", "reg_size", "+=", "(", "current_frame_info", ".", "save_fp", "+", "current_frame_info", ".", "save_rp", ")", "*", "UNITS_PER_WORD", ";", "current_frame_info", ".", "pretend_size", "=", "pretend_size", ";", "current_frame_info", ".", "var_size", "=", "var_size", ";", "current_frame_info", ".", "args_size", "=", "args_size", ";", "current_frame_info", ".", "reg_size", "=", "reg_size", ";", "current_frame_info", ".", "frame_size", "=", "args_size", "+", "var_size", ";", "current_frame_info", ".", "total_size", "=", "args_size", "+", "var_size", "+", "reg_size", "+", "pretend_size", ";", "current_frame_info", ".", "gmask", "=", "gmask", ";", "current_frame_info", ".", "initialised", "=", "reload_completed", ";", "return_value", "=", "0", ";", "if", "(", "to_reg", "==", "STACK_POINTER_REGNUM", ")", "return_value", "+=", "args_size", "+", "var_size", ";", "if", "(", "from_reg", "==", "ARG_POINTER_REGNUM", ")", "return_value", "+=", "reg_size", ";", "return", "return_value", ";", "}", ""], "natrual_language": ["Returns", "the", "number", "of", "bytes", "offset", "between", "FROM_REG", "and", "TO_REG", "for", "the", "current", "function", ".", "As", "a", "side", "effect", "it", "fills", "in", "the", "current_frame_info", "structure", ",", "if", "the", "data", "is", "available", "."], "TS_V_token": ["fr30", "0", "0", "0", "1", "0"], "File": "fr303", "Func": "fr30_compute_frame_size", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36943, "Length": 212}
{"ground_truth": ["", "void", "fr30_expand_prologue", "(", "void", ")", "{", "int", "regno", ";", "rtx", "insn", ";", "if", "(", "!", "current_frame_info", ".", "initialised", ")", "fr30_compute_frame_size", "(", "0", ",", "0", ")", ";", "gcc_assert", "(", "current_frame_info", ".", "total_size", "||", "!", "current_frame_info", ".", "gmask", ")", ";", "if", "(", "current_frame_info", ".", "pretend_size", ")", "{", "int", "regs_to_save", "=", "current_frame_info", ".", "pretend_size", "/", "UNITS_PER_WORD", ";", "for", "(", "regno", "=", "FIRST_ARG_REGNUM", "+", "FR30_NUM_ARG_REGS", ";", "regno", "--", ",", "regs_to_save", "--", ";", ")", "{", "insn", "=", "emit_insn", "(", "gen_movsi_push", "(", "gen_rtx_REG", "(", "Pmode", ",", "regno", ")", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "}", "if", "(", "current_frame_info", ".", "gmask", ")", "{", "for", "(", "regno", "=", "STACK_POINTER_REGNUM", ";", "regno", "--", ";", ")", "{", "if", "(", "(", "current_frame_info", ".", "gmask", "&", "(", "1", "<<", "regno", ")", ")", "!=", "0", ")", "{", "insn", "=", "emit_insn", "(", "gen_movsi_push", "(", "gen_rtx_REG", "(", "Pmode", ",", "regno", ")", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "}", "}", "if", "(", "current_frame_info", ".", "save_rp", ")", "{", "insn", "=", "emit_insn", "(", "gen_movsi_push", "(", "gen_rtx_REG", "(", "Pmode", ",", "RETURN_POINTER_REGNUM", ")", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "if", "(", "current_frame_info", ".", "save_fp", ")", "{", "if", "(", "current_frame_info", ".", "frame_size", "<", "(", "(", "1", "<<", "10", ")", "-", "UNITS_PER_WORD", ")", ")", "{", "int", "enter_size", "=", "current_frame_info", ".", "frame_size", "+", "UNITS_PER_WORD", ";", "rtx", "pattern", ";", "insn", "=", "emit_insn", "(", "gen_enter_func", "(", "GEN_INT", "(", "enter_size", ")", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "pattern", "=", "PATTERN", "(", "insn", ")", ";", "if", "(", "GET_CODE", "(", "pattern", ")", "==", "PARALLEL", ")", "{", "int", "x", ";", "for", "(", "x", "=", "XVECLEN", "(", "pattern", ",", "0", ")", ";", "x", "--", ";", ")", "{", "rtx", "part", "=", "XVECEXP", "(", "pattern", ",", "0", ",", "x", ")", ";", "if", "(", "!", "frame_pointer_needed", "&&", "GET_CODE", "(", "part", ")", "==", "SET", "&&", "REGNO", "(", "SET_DEST", "(", "part", ")", ")", "==", "HARD_FRAME_POINTER_REGNUM", ")", "RTX_FRAME_RELATED_P", "(", "part", ")", "=", "0", ";", "else", "RTX_FRAME_RELATED_P", "(", "part", ")", "=", "1", ";", "}", "}", "}", "else", "{", "insn", "=", "emit_insn", "(", "gen_movsi_push", "(", "frame_pointer_rtx", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "if", "(", "frame_pointer_needed", ")", "{", "insn", "=", "emit_insn", "(", "gen_movsi", "(", "frame_pointer_rtx", ",", "stack_pointer_rtx", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "}", "}", "if", "(", "current_frame_info", ".", "frame_size", "==", "0", ")", ";", "else", "if", "(", "current_frame_info", ".", "save_fp", "&&", "current_frame_info", ".", "frame_size", "<", "(", "(", "1", "<<", "10", ")", "-", "UNITS_PER_WORD", ")", ")", ";", "else", "if", "(", "current_frame_info", ".", "frame_size", "<=", "512", ")", "{", "insn", "=", "emit_insn", "(", "gen_add_to_stack", "(", "GEN_INT", "(", "-", "current_frame_info", ".", "frame_size", ")", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "else", "{", "rtx", "tmp", "=", "gen_rtx_REG", "(", "Pmode", ",", "PROLOGUE_TMP_REGNUM", ")", ";", "insn", "=", "emit_insn", "(", "gen_movsi", "(", "tmp", ",", "GEN_INT", "(", "current_frame_info", ".", "frame_size", ")", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "insn", "=", "emit_insn", "(", "gen_subsi3", "(", "stack_pointer_rtx", ",", "stack_pointer_rtx", ",", "tmp", ")", ")", ";", "RTX_FRAME_RELATED_P", "(", "insn", ")", "=", "1", ";", "}", "if", "(", "current_function_profile", ")", "emit_insn", "(", "gen_blockage", "(", ")", ")", ";", "}", ""], "natrual_language": ["Called", "after", "register", "allocation", "to", "add", "any", "instructions", "needed", "for", "the", "prologue", ".", "Using", "a", "prologue", "insn", "is", "favored", "compared", "to", "putting", "all", "of", "the", "instructions", "in", "output_function_prologue", "(", ")", ",", "since", "it", "allows", "the", "scheduler", "to", "intermix", "instructions", "with", "the", "saves", "of", "the", "caller", "saved", "registers", ".", "In", "some", "cases", ",", "it", "might", "be", "necessary", "to", "emit", "a", "barrier", "instruction", "as", "the", "last", "insn", "to", "prevent", "such", "scheduling", "."], "TS_V_token": ["fr30", "0", "0", "1", "1", "0", "1", "1", "1", "10", "1", "0", "0", "0", "1", "1", "1", "0", "1", "10", "512", "1", "1", "1"], "File": "fr303", "Func": "fr30_expand_prologue", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36944, "Length": 509}
{"ground_truth": ["", "static", "bool", "fr30_must_pass_in_stack", "(", "enum", "machine_mode", "mode", ",", "tree", "type", ")", "{", "if", "(", "mode", "==", "BLKmode", ")", "return", "true", ";", "if", "(", "type", "==", "NULL", ")", "return", "false", ";", "return", "AGGREGATE_TYPE_P", "(", "type", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "we", "should", "pass", "an", "argument", "on", "the", "stack", "rather", "than", "in", "registers", "."], "TS_V_token": ["fr30"], "File": "fr303", "Func": "fr30_must_pass_in_stack", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36945, "Length": 37}
{"ground_truth": ["", "int", "fr30_num_arg_regs", "(", "enum", "machine_mode", "mode", ",", "tree", "type", ")", "{", "int", "size", ";", "if", "(", "targetm", ".", "calls", ".", "must_pass_in_stack", "(", "mode", ",", "type", ")", ")", "return", "0", ";", "if", "(", "type", "&&", "mode", "==", "BLKmode", ")", "size", "=", "int_size_in_bytes", "(", "type", ")", ";", "else", "size", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "return", "(", "size", "+", "UNITS_PER_WORD", "-", "1", ")", "/", "UNITS_PER_WORD", ";", "}", ""], "natrual_language": ["Compute", "the", "number", "of", "word", "sized", "registers", "needed", "to", "hold", "a", "function", "argument", "of", "mode", "INT_MODE", "and", "tree", "type", "TYPE", "."], "TS_V_token": ["fr30", "0", "1"], "File": "fr303", "Func": "fr30_num_arg_regs", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36946, "Length": 65}
{"ground_truth": ["", "void", "fr30_setup_incoming_varargs", "(", "CUMULATIVE_ARGS", "*", "arg_regs_used_so_far", ",", "enum", "machine_mode", "mode", ",", "tree", "type", "ATTRIBUTE_UNUSED", ",", "int", "*", "pretend_size", ",", "int", "second_time", "ATTRIBUTE_UNUSED", ")", "{", "int", "size", ";", "gcc_assert", "(", "mode", "!=", "BLKmode", ")", ";", "if", "(", "targetm", ".", "calls", ".", "strict_argument_naming", "(", "arg_regs_used_so_far", ")", ")", "arg_regs_used_so_far", "+=", "fr30_num_arg_regs", "(", "mode", ",", "type", ")", ";", "size", "=", "FR30_NUM_ARG_REGS", "-", "(", "*", "arg_regs_used_so_far", ")", ";", "if", "(", "size", "<=", "0", ")", "return", ";", "*", "pretend_size", "=", "(", "size", "*", "UNITS_PER_WORD", ")", ";", "}", ""], "natrual_language": ["Do", "any", "needed", "setup", "for", "a", "variadic", "function", ".", "We", "must", "create", "a", "register", "parameter", "block", ",", "and", "then", "copy", "any", "anonymous", "arguments", ",", "plus", "the", "last", "named", "argument", ",", "from", "registers", "into", "memory", ".", "*", "copying", "actually", "done", "in", "fr30_expand_prologue", "(", ")", ".", "ARG_REGS_USED_SO_FAR", "has", "*", "not", "*", "been", "updated", "for", "the", "last", "named", "argument", "which", "has", "type", "TYPE", "and", "mode", "MODE", ",", "and", "we", "rely", "on", "this", "fact", "."], "TS_V_token": ["fr30", "0"], "File": "fr303", "Func": "fr30_setup_incoming_varargs", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36947, "Length": 81}
{"ground_truth": ["", "static", "int", "fr30_arg_partial_bytes", "(", "cumulative_args_t", "cum_v", ",", "machine_mode", "mode", ",", "tree", "type", ",", "bool", "named", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "if", "(", "named", "==", "0", "||", "*", "cum", ">=", "FR30_NUM_ARG_REGS", ")", "return", "0", ";", "if", "(", "*", "cum", "+", "fr30_num_arg_regs", "(", "mode", ",", "type", ")", "<=", "FR30_NUM_ARG_REGS", ")", "return", "0", ";", "return", "(", "FR30_NUM_ARG_REGS", "-", "*", "cum", ")", "*", "UNITS_PER_WORD", ";", "}", ""], "natrual_language": ["Returns", "the", "number", "of", "bytes", "in", "which", "*", "part", "*", "of", "a", "parameter", "of", "machine", "mode", "MODE", "and", "tree", "type", "TYPE", "(", "which", "may", "be", "NULL", "if", "the", "type", "is", "not", "known", ")", ".", "If", "the", "argument", "fits", "entirely", "in", "the", "argument", "registers", ",", "or", "entirely", "on", "the", "stack", ",", "then", "0", "is", "returned", ".", "CUM", "is", "the", "number", "of", "argument", "registers", "already", "used", "by", "earlier", "parameters", "to", "the", "function", "."], "TS_V_token": ["fr30", "0", "0", "0"], "File": "fr304", "Func": "fr30_arg_partial_bytes", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36948, "Length": 68}
{"ground_truth": ["", "static", "void", "fr30_function_arg_advance", "(", "cumulative_args_t", "cum", ",", "machine_mode", "mode", ",", "const_tree", "type", ",", "bool", "named", ")", "{", "*", "get_cumulative_args", "(", "cum", ")", "+=", "named", "*", "fr30_num_arg_regs", "(", "mode", ",", "type", ")", ";", "}", ""], "natrual_language": ["A", "C", "statement", "(", "sans", "semicolon", ")", "to", "update", "the", "summarizer", "variable", "CUM", "to", "advance", "past", "an", "argument", "in", "the", "argument", "list", ".", "The", "values", "MODE", ",", "TYPE", "and", "NAMED", "describe", "that", "argument", ".", "Once", "this", "is", "done", ",", "the", "variable", "CUM", "is", "suitable", "for", "analyzing", "the", "*", "following", "*", "argument", "with", "`", "FUNCTION_ARG", "'", ",", "etc", ".", "This", "macro", "need", "not", "do", "anything", "if", "the", "argument", "in", "question", "was", "passed", "on", "the", "stack", ".", "The", "compiler", "knows", "how", "to", "track", "the", "amount", "of", "stack", "space", "used", "for", "arguments", "without", "any", "special", "help", "."], "TS_V_token": ["fr30"], "File": "fr304", "Func": "fr30_function_arg_advance", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36949, "Length": 33}
{"ground_truth": ["", "static", "bool", "fr30_must_pass_in_stack", "(", "machine_mode", "mode", ",", "const_tree", "type", ")", "{", "if", "(", "mode", "==", "BLKmode", ")", "return", "true", ";", "if", "(", "type", "==", "NULL", ")", "return", "false", ";", "return", "AGGREGATE_TYPE_P", "(", "type", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "we", "should", "pass", "an", "argument", "on", "the", "stack", "rather", "than", "in", "registers", "."], "TS_V_token": ["fr30"], "File": "fr304", "Func": "fr30_must_pass_in_stack", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36950, "Length": 36}
{"ground_truth": ["", "static", "int", "fr30_num_arg_regs", "(", "machine_mode", "mode", ",", "const_tree", "type", ")", "{", "int", "size", ";", "if", "(", "targetm", ".", "calls", ".", "must_pass_in_stack", "(", "mode", ",", "type", ")", ")", "return", "0", ";", "if", "(", "type", "&&", "mode", "==", "BLKmode", ")", "size", "=", "int_size_in_bytes", "(", "type", ")", ";", "else", "size", "=", "GET_MODE_SIZE", "(", "mode", ")", ";", "return", "(", "size", "+", "UNITS_PER_WORD", "-", "1", ")", "/", "UNITS_PER_WORD", ";", "}", ""], "natrual_language": ["Compute", "the", "number", "of", "word", "sized", "registers", "needed", "to", "hold", "a", "function", "argument", "of", "mode", "INT_MODE", "and", "tree", "type", "TYPE", "."], "TS_V_token": ["fr30", "0", "1"], "File": "fr304", "Func": "fr30_num_arg_regs", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36951, "Length": 65}
{"ground_truth": ["", "void", "fr30_setup_incoming_varargs", "(", "cumulative_args_t", "arg_regs_used_so_far_v", ",", "machine_mode", "mode", ",", "tree", "type", "ATTRIBUTE_UNUSED", ",", "int", "*", "pretend_size", ",", "int", "second_time", "ATTRIBUTE_UNUSED", ")", "{", "CUMULATIVE_ARGS", "*", "arg_regs_used_so_far", "=", "get_cumulative_args", "(", "arg_regs_used_so_far_v", ")", ";", "int", "size", ";", "gcc_assert", "(", "mode", "!=", "BLKmode", ")", ";", "if", "(", "targetm", ".", "calls", ".", "strict_argument_naming", "(", "arg_regs_used_so_far_v", ")", ")", "arg_regs_used_so_far", "+=", "fr30_num_arg_regs", "(", "mode", ",", "type", ")", ";", "size", "=", "FR30_NUM_ARG_REGS", "-", "(", "*", "arg_regs_used_so_far", ")", ";", "if", "(", "size", "<=", "0", ")", "return", ";", "*", "pretend_size", "=", "(", "size", "*", "UNITS_PER_WORD", ")", ";", "}", ""], "natrual_language": ["Do", "any", "needed", "setup", "for", "a", "variadic", "function", ".", "We", "must", "create", "a", "register", "parameter", "block", ",", "and", "then", "copy", "any", "anonymous", "arguments", ",", "plus", "the", "last", "named", "argument", ",", "from", "registers", "into", "memory", ".", "*", "copying", "actually", "done", "in", "fr30_expand_prologue", "(", ")", ".", "ARG_REGS_USED_SO_FAR", "has", "*", "not", "*", "been", "updated", "for", "the", "last", "named", "argument", "which", "has", "type", "TYPE", "and", "mode", "MODE", ",", "and", "we", "rely", "on", "this", "fact", "."], "TS_V_token": ["fr30", "0"], "File": "fr304", "Func": "fr30_setup_incoming_varargs", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36952, "Length": 88}
{"ground_truth": ["", "static", "int", "fr30_arg_partial_bytes", "(", "cumulative_args_t", "cum_v", ",", "const", "function_arg_info", "&", "arg", ")", "{", "CUMULATIVE_ARGS", "*", "cum", "=", "get_cumulative_args", "(", "cum_v", ")", ";", "if", "(", "!", "arg", ".", "named", "||", "*", "cum", ">=", "FR30_NUM_ARG_REGS", ")", "return", "0", ";", "if", "(", "*", "cum", "+", "fr30_num_arg_regs", "(", "arg", ")", "<=", "FR30_NUM_ARG_REGS", ")", "return", "0", ";", "return", "(", "FR30_NUM_ARG_REGS", "-", "*", "cum", ")", "*", "UNITS_PER_WORD", ";", "}", ""], "natrual_language": ["Returns", "the", "number", "of", "bytes", "in", "which", "*", "part", "*", "of", "a", "parameter", "of", "machine", "mode", "MODE", "and", "tree", "type", "TYPE", "(", "which", "may", "be", "NULL", "if", "the", "type", "is", "not", "known", ")", ".", "If", "the", "argument", "fits", "entirely", "in", "the", "argument", "registers", ",", "or", "entirely", "on", "the", "stack", ",", "then", "0", "is", "returned", ".", "CUM", "is", "the", "number", "of", "argument", "registers", "already", "used", "by", "earlier", "parameters", "to", "the", "function", "."], "TS_V_token": ["fr30", "0", "0"], "File": "fr30", "Func": "fr30_arg_partial_bytes", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36953, "Length": 63}
{"ground_truth": ["", "static", "void", "fr30_asm_trampoline_template", "(", "FILE", "*", "f", ")", "{", "fprintf", "(", "f", ",", "\"\\tnop\\n\"", ")", ";", "fprintf", "(", "f", ",", "\"\\tldi:32\\t#0, %s\\n\"", ",", "reg_names", "[", "STATIC_CHAIN_REGNUM", "]", ")", ";", "fprintf", "(", "f", ",", "\"\\tnop\\n\"", ")", ";", "fprintf", "(", "f", ",", "\"\\tldi:32\\t#0, %s\\n\"", ",", "reg_names", "[", "COMPILER_SCRATCH_REGISTER", "]", ")", ";", "fprintf", "(", "f", ",", "\"\\tjmp\\t@%s\\n\"", ",", "reg_names", "[", "COMPILER_SCRATCH_REGISTER", "]", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_ASM_TRAMPOLINE_TEMPLATE", ".", "On", "the", "FR30", ",", "the", "trampoline", "is", ":", "nop", "ldi:32", "STATIC", ",", "r12", "nop", "ldi:32", "FUNCTION", ",", "r0", "jmp", "@", "r0", "The", "no-ops", "are", "to", "guarantee", "that", "the", "static", "chain", "and", "final", "target", "are", "32", "bit", "aligned", "within", "the", "trampoline", ".", "That", "allows", "us", "to", "initialize", "those", "locations", "with", "simple", "SImode", "stores", ".", "The", "alternative", "would", "be", "to", "use", "HImode", "stores", "."], "TS_V_token": ["fr30", "\"\\tnop\\n\"", "\"\\tldi:32\\t#0, %s\\n\"", "\"\\tnop\\n\"", "\"\\tldi:32\\t#0, %s\\n\"", "\"\\tjmp\\t@%s\\n\""], "File": "fr30", "Func": "fr30_asm_trampoline_template", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36954, "Length": 60}
{"ground_truth": ["", "bool", "fr30_can_eliminate", "(", "const", "int", "from", "ATTRIBUTE_UNUSED", ",", "const", "int", "to", ")", "{", "return", "(", "to", "==", "FRAME_POINTER_REGNUM", "||", "!", "frame_pointer_needed", ")", ";", "}", ""], "natrual_language": ["Worker", "function", "for", "TARGET_CAN_ELIMINATE", "."], "TS_V_token": ["fr30"], "File": "fr30", "Func": "fr30_can_eliminate", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36955, "Length": 24}
{"ground_truth": ["", "int", "fr30_check_multiple_regs", "(", "rtx", "*", "operands", ",", "int", "num_operands", ",", "int", "descending", ")", "{", "if", "(", "descending", ")", "{", "unsigned", "int", "prev_regno", "=", "0", ";", "while", "(", "num_operands", "--", ")", "{", "if", "(", "GET_CODE", "(", "operands", "[", "num_operands", "]", ")", "!=", "REG", ")", "return", "0", ";", "if", "(", "REGNO", "(", "operands", "[", "num_operands", "]", ")", "<", "prev_regno", ")", "return", "0", ";", "prev_regno", "=", "REGNO", "(", "operands", "[", "num_operands", "]", ")", ";", "}", "}", "else", "{", "unsigned", "int", "prev_regno", "=", "CONDITION_CODE_REGNUM", ";", "while", "(", "num_operands", "--", ")", "{", "if", "(", "GET_CODE", "(", "operands", "[", "num_operands", "]", ")", "!=", "REG", ")", "return", "0", ";", "if", "(", "REGNO", "(", "operands", "[", "num_operands", "]", ")", ">", "prev_regno", ")", "return", "0", ";", "prev_regno", "=", "REGNO", "(", "operands", "[", "num_operands", "]", ")", ";", "}", "}", "return", "1", ";", "}", ""], "natrual_language": ["Returns", "true", "iff", "all", "the", "registers", "in", "the", "operands", "array", "are", "in", "descending", "or", "ascending", "order", "."], "TS_V_token": ["fr30", "0", "0", "0", "0", "0", "1"], "File": "fr30", "Func": "fr30_check_multiple_regs", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36956, "Length": 133}
{"ground_truth": ["", "unsigned", "int", "fr30_compute_frame_size", "(", "int", "from_reg", ",", "int", "to_reg", ")", "{", "int", "regno", ";", "unsigned", "int", "return_value", ";", "unsigned", "int", "var_size", ";", "unsigned", "int", "args_size", ";", "unsigned", "int", "pretend_size", ";", "unsigned", "int", "reg_size", ";", "unsigned", "int", "gmask", ";", "var_size", "=", "WORD_ALIGN", "(", "get_frame_size", "(", ")", ")", ";", "args_size", "=", "WORD_ALIGN", "(", "crtl", "->", "outgoing_args_size", ")", ";", "pretend_size", "=", "crtl", "->", "args", ".", "pretend_args_size", ";", "reg_size", "=", "0", ";", "gmask", "=", "0", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "FIRST_PSEUDO_REGISTER", ";", "regno", "++", ")", "{", "if", "(", "MUST_SAVE_REGISTER", "(", "regno", ")", ")", "{", "reg_size", "+=", "UNITS_PER_WORD", ";", "gmask", "|=", "1", "<<", "regno", ";", "}", "}", "current_frame_info", ".", "save_fp", "=", "MUST_SAVE_FRAME_POINTER", ";", "current_frame_info", ".", "save_rp", "=", "MUST_SAVE_RETURN_POINTER", ";", "reg_size", "+=", "(", "current_frame_info", ".", "save_fp", "+", "current_frame_info", ".", "save_rp", ")", "*", "UNITS_PER_WORD", ";", "current_frame_info", ".", "pretend_size", "=", "pretend_size", ";", "current_frame_info", ".", "var_size", "=", "var_size", ";", "current_frame_info", ".", "args_size", "=", "args_size", ";", "current_frame_info", ".", "reg_size", "=", "reg_size", ";", "current_frame_info", ".", "frame_size", "=", "args_size", "+", "var_size", ";", "current_frame_info", ".", "total_size", "=", "args_size", "+", "var_size", "+", "reg_size", "+", "pretend_size", ";", "current_frame_info", ".", "gmask", "=", "gmask", ";", "current_frame_info", ".", "initialised", "=", "reload_completed", ";", "return_value", "=", "0", ";", "if", "(", "to_reg", "==", "STACK_POINTER_REGNUM", ")", "return_value", "+=", "args_size", "+", "var_size", ";", "if", "(", "from_reg", "==", "ARG_POINTER_REGNUM", ")", "return_value", "+=", "reg_size", ";", "return", "return_value", ";", "}", ""], "natrual_language": ["Returns", "the", "number", "of", "bytes", "offset", "between", "FROM_REG", "and", "TO_REG", "for", "the", "current", "function", ".", "As", "a", "side", "effect", "it", "fills", "in", "the", "current_frame_info", "structure", ",", "if", "the", "data", "is", "available", "."], "TS_V_token": ["fr30", "0", "0", "0", "1", "0"], "File": "fr30", "Func": "fr30_compute_frame_size", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36957, "Length": 218}
{"ground_truth": ["", "void", "fr30_expand_epilogue", "(", "void", ")", "{", "int", "regno", ";", "gcc_assert", "(", "current_frame_info", ".", "initialised", ")", ";", "if", "(", "current_frame_info", ".", "frame_size", ">", "0", ")", "{", "if", "(", "current_frame_info", ".", "save_fp", "&&", "frame_pointer_needed", ")", "{", "emit_insn", "(", "gen_leave_func", "(", ")", ")", ";", "current_frame_info", ".", "save_fp", "=", "0", ";", "}", "else", "if", "(", "current_frame_info", ".", "frame_size", "<=", "508", ")", "emit_insn", "(", "gen_add_to_stack", "(", "GEN_INT", "(", "current_frame_info", ".", "frame_size", ")", ")", ")", ";", "else", "{", "rtx", "tmp", "=", "gen_rtx_REG", "(", "Pmode", ",", "PROLOGUE_TMP_REGNUM", ")", ";", "emit_insn", "(", "gen_movsi", "(", "tmp", ",", "GEN_INT", "(", "current_frame_info", ".", "frame_size", ")", ")", ")", ";", "emit_insn", "(", "gen_addsi3", "(", "stack_pointer_rtx", ",", "stack_pointer_rtx", ",", "tmp", ")", ")", ";", "}", "}", "if", "(", "current_frame_info", ".", "save_fp", ")", "emit_insn", "(", "gen_movsi_pop", "(", "frame_pointer_rtx", ")", ")", ";", "if", "(", "current_frame_info", ".", "save_rp", ")", "emit_insn", "(", "gen_movsi_pop", "(", "gen_rtx_REG", "(", "Pmode", ",", "RETURN_POINTER_REGNUM", ")", ")", ")", ";", "for", "(", "regno", "=", "0", ";", "regno", "<", "STACK_POINTER_REGNUM", ";", "regno", "++", ")", "if", "(", "current_frame_info", ".", "gmask", "&", "(", "1", "<<", "regno", ")", ")", "emit_insn", "(", "gen_movsi_pop", "(", "gen_rtx_REG", "(", "Pmode", ",", "regno", ")", ")", ")", ";", "if", "(", "current_frame_info", ".", "pretend_size", ")", "emit_insn", "(", "gen_add_to_stack", "(", "GEN_INT", "(", "current_frame_info", ".", "pretend_size", ")", ")", ")", ";", "current_frame_info", "=", "zero_frame_info", ";", "emit_jump_insn", "(", "gen_return_from_func", "(", ")", ")", ";", "}", ""], "natrual_language": ["Called", "after", "register", "allocation", "to", "add", "any", "instructions", "needed", "for", "the", "epilogue", ".", "Using", "an", "epilogue", "insn", "is", "favored", "compared", "to", "putting", "all", "of", "the", "instructions", "in", "output_function_epilogue", "(", ")", ",", "since", "it", "allows", "the", "scheduler", "to", "intermix", "instructions", "with", "the", "restores", "of", "the", "caller", "saved", "registers", ".", "In", "some", "cases", ",", "it", "might", "be", "necessary", "to", "emit", "a", "barrier", "instruction", "as", "the", "first", "insn", "to", "prevent", "such", "scheduling", "."], "TS_V_token": ["fr30", "0", "0", "508", "0", "1"], "File": "fr30", "Func": "fr30_expand_epilogue", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36958, "Length": 213}
{"ground_truth": ["", "bool", "fr30_frame_pointer_required", "(", "void", ")", "{", "return", "(", "flag_omit_frame_pointer", "==", "0", "||", "crtl", "->", "args", ".", "pretend_args_size", ">", "0", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_FRAME_POINTER_REQUIRED", "."], "TS_V_token": ["fr30", "0", "0"], "File": "fr30", "Func": "fr30_frame_pointer_required", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36959, "Length": 22}
{"ground_truth": ["", "static", "void", "fr30_function_arg_advance", "(", "cumulative_args_t", "cum", ",", "const", "function_arg_info", "&", "arg", ")", "{", "if", "(", "arg", ".", "named", ")", "*", "get_cumulative_args", "(", "cum", ")", "+=", "fr30_num_arg_regs", "(", "arg", ")", ";", "}", ""], "natrual_language": ["A", "C", "statement", "(", "sans", "semicolon", ")", "to", "update", "the", "summarizer", "variable", "CUM", "to", "advance", "past", "an", "argument", "in", "the", "argument", "list", ".", "The", "values", "MODE", ",", "TYPE", "and", "NAMED", "describe", "that", "argument", ".", "Once", "this", "is", "done", ",", "the", "variable", "CUM", "is", "suitable", "for", "analyzing", "the", "*", "following", "*", "argument", "with", "`", "FUNCTION_ARG", "'", ",", "etc", ".", "This", "macro", "need", "not", "do", "anything", "if", "the", "argument", "in", "question", "was", "passed", "on", "the", "stack", ".", "The", "compiler", "knows", "how", "to", "track", "the", "amount", "of", "stack", "space", "used", "for", "arguments", "without", "any", "special", "help", "."], "TS_V_token": ["fr30"], "File": "fr30", "Func": "fr30_function_arg_advance", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36960, "Length": 31}
{"ground_truth": ["", "static", "rtx", "fr30_function_value", "(", "const_tree", "valtype", ",", "const_tree", "fntype_or_decli", "ATTRIBUTE_UNUSED", ",", "bool", "outgoing", "ATTRIBUTE_UNUSED", ")", "{", "return", "gen_rtx_REG", "(", "TYPE_MODE", "(", "valtype", ")", ",", "RETURN_VALUE_REGNUM", ")", ";", "}", ""], "natrual_language": ["Implements", "TARGET_FUNCTION_VALUE", "."], "TS_V_token": ["fr30"], "File": "fr30", "Func": "fr30_function_value", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36961, "Length": 28}
{"ground_truth": ["", "static", "bool", "fr30_function_value_regno_p", "(", "const", "unsigned", "int", "regno", ")", "{", "return", "(", "regno", "==", "RETURN_VALUE_REGNUM", ")", ";", "}", ""], "natrual_language": ["Implements", "TARGET_FUNCTION_VALUE_REGNO_P", "."], "TS_V_token": ["fr30"], "File": "fr30", "Func": "fr30_function_value_regno_p", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36962, "Length": 18}
{"ground_truth": ["", "static", "rtx", "fr30_libcall_value", "(", "machine_mode", "mode", ",", "const_rtx", "fun", "ATTRIBUTE_UNUSED", ")", "{", "return", "gen_rtx_REG", "(", "mode", ",", "RETURN_VALUE_REGNUM", ")", ";", "}", ""], "natrual_language": ["Implements", "TARGET_LIBCALL_VALUE", "."], "TS_V_token": ["fr30"], "File": "fr30", "Func": "fr30_libcall_value", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36963, "Length": 21}
{"ground_truth": ["", "static", "bool", "fr30_must_pass_in_stack", "(", "const", "function_arg_info", "&", "arg", ")", "{", "return", "arg", ".", "mode", "==", "BLKmode", "||", "arg", ".", "aggregate_type_p", "(", ")", ";", "}", ""], "natrual_language": ["Return", "true", "if", "we", "should", "pass", "an", "argument", "on", "the", "stack", "rather", "than", "in", "registers", "."], "TS_V_token": ["fr30"], "File": "fr30", "Func": "fr30_must_pass_in_stack", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36964, "Length": 24}
{"ground_truth": ["", "static", "int", "fr30_num_arg_regs", "(", "const", "function_arg_info", "&", "arg", ")", "{", "if", "(", "targetm", ".", "calls", ".", "must_pass_in_stack", "(", "arg", ")", ")", "return", "0", ";", "int", "size", "=", "arg", ".", "promoted_size_in_bytes", "(", ")", ";", "return", "(", "size", "+", "UNITS_PER_WORD", "-", "1", ")", "/", "UNITS_PER_WORD", ";", "}", ""], "natrual_language": ["Compute", "the", "number", "of", "word", "sized", "registers", "needed", "to", "hold", "a", "function", "argument", "of", "mode", "INT_MODE", "and", "tree", "type", "TYPE", "."], "TS_V_token": ["fr30", "0", "1"], "File": "fr30", "Func": "fr30_num_arg_regs", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36965, "Length": 45}
{"ground_truth": ["", "void", "fr30_print_operand_address", "(", "FILE", "*", "stream", ",", "rtx", "address", ")", "{", "switch", "(", "GET_CODE", "(", "address", ")", ")", "{", "case", "SYMBOL_REF", ":", "output_addr_const", "(", "stream", ",", "address", ")", ";", "break", ";", "default", ":", "fprintf", "(", "stderr", ",", "\"code = %x\\n\"", ",", "GET_CODE", "(", "address", ")", ")", ";", "debug_rtx", "(", "address", ")", ";", "output_operand_lossage", "(", "\"fr30_print_operand_address: unhandled address\"", ")", ";", "break", ";", "}", "}", ""], "natrual_language": ["Print", "a", "memory", "address", "as", "an", "operand", "to", "reference", "that", "memory", "location", "."], "TS_V_token": ["fr30", "\"code = %x\\n\"", "\"fr30_print_operand_address: unhandled address\""], "File": "fr30", "Func": "fr30_print_operand_address", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36966, "Length": 59}
{"ground_truth": ["", "void", "fr30_setup_incoming_varargs", "(", "cumulative_args_t", "arg_regs_used_so_far_v", ",", "const", "function_arg_info", "&", "arg", ",", "int", "*", "pretend_size", ",", "int", "second_time", "ATTRIBUTE_UNUSED", ")", "{", "CUMULATIVE_ARGS", "*", "arg_regs_used_so_far", "=", "get_cumulative_args", "(", "arg_regs_used_so_far_v", ")", ";", "int", "size", ";", "gcc_assert", "(", "arg", ".", "mode", "!=", "BLKmode", ")", ";", "if", "(", "targetm", ".", "calls", ".", "strict_argument_naming", "(", "arg_regs_used_so_far_v", ")", ")", "arg_regs_used_so_far", "+=", "fr30_num_arg_regs", "(", "arg", ")", ";", "size", "=", "FR30_NUM_ARG_REGS", "-", "(", "*", "arg_regs_used_so_far", ")", ";", "if", "(", "size", "<=", "0", ")", "return", ";", "*", "pretend_size", "=", "(", "size", "*", "UNITS_PER_WORD", ")", ";", "}", ""], "natrual_language": ["Do", "any", "needed", "setup", "for", "a", "variadic", "function", ".", "We", "must", "create", "a", "register", "parameter", "block", ",", "and", "then", "copy", "any", "anonymous", "arguments", ",", "plus", "the", "last", "named", "argument", ",", "from", "registers", "into", "memory", ".", "*", "copying", "actually", "done", "in", "fr30_expand_prologue", "(", ")", ".", "ARG_REGS_USED_SO_FAR", "has", "*", "not", "*", "been", "updated", "for", "the", "last", "named", "argument", "which", "has", "type", "TYPE", "and", "mode", "MODE", ",", "and", "we", "rely", "on", "this", "fact", "."], "TS_V_token": ["fr30", "0"], "File": "fr30", "Func": "fr30_setup_incoming_varargs", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36967, "Length": 86}
{"ground_truth": ["", "static", "void", "fr30_trampoline_init", "(", "rtx", "m_tramp", ",", "tree", "fndecl", ",", "rtx", "chain_value", ")", "{", "rtx", "fnaddr", "=", "XEXP", "(", "DECL_RTL", "(", "fndecl", ")", ",", "0", ")", ";", "rtx", "mem", ";", "emit_block_move", "(", "m_tramp", ",", "assemble_trampoline_template", "(", ")", ",", "GEN_INT", "(", "TRAMPOLINE_SIZE", ")", ",", "BLOCK_OP_NORMAL", ")", ";", "mem", "=", "adjust_address", "(", "m_tramp", ",", "SImode", ",", "4", ")", ";", "emit_move_insn", "(", "mem", ",", "chain_value", ")", ";", "mem", "=", "adjust_address", "(", "m_tramp", ",", "SImode", ",", "12", ")", ";", "emit_move_insn", "(", "mem", ",", "fnaddr", ")", ";", "}", ""], "natrual_language": ["Implement", "TARGET_TRAMPOLINE_INIT", "."], "TS_V_token": ["fr30", "0", "4", "12"], "File": "fr30", "Func": "fr30_trampoline_init", "Target": "fr30", "Target_Clf": "DSP", "Compiler_Type": "GCC", "Idx": 36968, "Length": 83}