diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1993-07-19 18:09:32 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1993-07-19 18:09:32 -0400 |
commit | b4f892eb33fec0722db2d1edacdb5df4f149e54b (patch) | |
tree | 27263d03465dd378a20d9b2449be0e8abbfd967b /gcc | |
parent | 2af3d377ff988686e3afdc61532a47a5afa2cc13 (diff) | |
download | gcc-b4f892eb33fec0722db2d1edacdb5df4f149e54b.zip gcc-b4f892eb33fec0722db2d1edacdb5df4f149e54b.tar.gz gcc-b4f892eb33fec0722db2d1edacdb5df4f149e54b.tar.bz2 |
(ENCODE_SECTION_INFO): New macro.
(PREDICATE_CODES): Add current_file_function_operand.
From-SVN: r4942
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index 13d7745..2b45976 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}}, \ |