From b4f892eb33fec0722db2d1edacdb5df4f149e54b Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Mon, 19 Jul 1993 18:09:32 -0400 Subject: [PATCH] (ENCODE_SECTION_INFO): New macro. (PREDICATE_CODES): Add current_file_function_operand. From-SVN: r4942 --- gcc/config/rs6000/rs6000.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index 13d77452f45..2b459767378 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -1410,6 +1410,16 @@ extern int rs6000_trunc_used; #define READONLY_DATA_SECTION read_only_data_section +/* If we are referencing a function that is static or is known to be + in this file, make the SYMBOL_REF special. We can use this to indicate + that we can branch to this function without emitting a no-op after the + call. */ + +#define ENCODE_SECTION_INFO(DECL) \ + if (TREE_CODE (DECL) == FUNCTION_DECL \ + && (TREE_ASM_WRITTEN (DECL) || ! TREE_PUBLIC (DECL))) \ + SYMBOL_REF_FLAG (XEXP (DECL_RTL (DECL), 0)) = 1; + /* Indicate that jump tables go in the text section. */ #define JUMP_TABLES_IN_TEXT_SECTION @@ -1876,6 +1886,7 @@ toc_section () \ {"non_logical_cint_operand", {CONST_INT}}, \ {"mask_operand", {CONST_INT}}, \ {"call_operand", {SYMBOL_REF, REG}}, \ + {"current_file_function_operand", {SYMBOL_REF}}, \ {"input_operand", {SUBREG, MEM, REG, CONST_INT}}, \ {"branch_comparison_operation", {EQ, NE, LE, LT, GE, \ LT, LEU, LTU, GEU, GTU}}, \ -- 2.30.2