From: Richard Kenner Date: Mon, 19 Jul 1993 22:09:32 +0000 (-0400) Subject: (ENCODE_SECTION_INFO): New macro. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b4f892eb33fec0722db2d1edacdb5df4f149e54b;p=gcc.git (ENCODE_SECTION_INFO): New macro. (PREDICATE_CODES): Add current_file_function_operand. From-SVN: r4942 --- 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}}, \