diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-05-19 07:09:42 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-05-19 07:09:42 +0000 |
commit | 15183fd21fe565c2d36129a0a490dc32bb718d81 (patch) | |
tree | 96439177c2e9d6b824d800f99d19534a317db681 /gcc/rtl.c | |
parent | 91f5b5cb76bd71810e53d4e95fde4d8a6d068784 (diff) | |
download | gcc-15183fd21fe565c2d36129a0a490dc32bb718d81.tar.gz |
gcc/
* rtl.def (REG): Change format to "r".
* rtl.h (rtunion): Remove rt_reg.
(reg_info): New structure.
(rtx_def): Add reg field to main union.
(X0REGATTR): Delete.
(REG_CHECK): New macro.
(SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it.
* rtl.c (rtx_format): Document "r".
(rtx_code_size): Handle REG specially.
* gengenrtl.c (special_format): Return true for formats
that include 'r'.
* gengtype.c (adjust_field_rtx_def): Handle 'r' fields.
Deal with REG_ATTRS after the field loop.
* emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly.
* expmed.c (init_expmed): Call gen_raw_REG instead of
gen_rtx_raw_REG.
* expr.c (init_expr_target): Likewise.
* regcprop.c (maybe_mode_change): Likewise.
* varasm.c (make_decl_rtl): Likewise.
* final.c (leaf_renumber_regs_insn): Return early after
handling REGs.
* genemit.c (gen_exp): Handle 'r' fields.
* genpeep.c (match_rtx): Likewise.
* gensupport.c (subst_pattern_match): Likewise.
(get_alternatives_number, collect_insn_data, alter_predicate_for_insn)
(alter_constraints, subst_dup): Likewise.
* read-rtl.c (read_rtx_code): Likewise.
* print-rtl.c (print_rtx): Likewise.
* genrecog.c (find_operand, find_matching_operand): Likewise.
(validate_pattern, match_pattern_2): Likewise.
(parameter::UINT, rtx_test::REGNO_FIELD): New enum values.
(rtx_test::regno_field): New function.
(operator ==, safe_to_hoist_p, transition_parameter_type)
(parameter_type_string, print_parameter_value)
(print_nonbool_test, print_test): Handle new enum values.
* cselib.c (rtx_equal_for_cselib_1): Handle REG specially.
* lra-constraints.c (operands_match_p): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223339 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtl.c')
-rw-r--r-- | gcc/rtl.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/rtl.c b/gcc/rtl.c index 66e9f00e078..998f0254fdc 100644 --- a/gcc/rtl.c +++ b/gcc/rtl.c @@ -89,7 +89,8 @@ const char * const rtx_format[NUM_RTX_CODE] = { prints the uid of the insn. "b" is a pointer to a bitmap header. "B" is a basic block pointer. - "t" is a tree pointer. */ + "t" is a tree pointer. + "r" a register. */ #define DEF_RTL_EXPR(ENUM, NAME, FORMAT, CLASS) FORMAT , #include "rtl.def" /* rtl expressions are defined here */ @@ -112,6 +113,8 @@ const unsigned char rtx_code_size[NUM_RTX_CODE] = { (((ENUM) == CONST_INT || (ENUM) == CONST_DOUBLE \ || (ENUM) == CONST_FIXED || (ENUM) == CONST_WIDE_INT) \ ? RTX_HDR_SIZE + (sizeof FORMAT - 1) * sizeof (HOST_WIDE_INT) \ + : (ENUM) == REG \ + ? RTX_HDR_SIZE + sizeof (reg_info) \ : RTX_HDR_SIZE + (sizeof FORMAT - 1) * sizeof (rtunion)), #include "rtl.def" |