diff options
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/alpha/alpha.c | 8 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 16 | ||||
-rw-r--r-- | gcc/config/i860/i860.c | 16 | ||||
-rw-r--r-- | gcc/config/iq2000/iq2000.c | 10 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 30 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 16 | ||||
-rw-r--r-- | gcc/config/s390/s390.c | 16 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 23 | ||||
-rw-r--r-- | gcc/config/stormy16/stormy16.c | 10 | ||||
-rw-r--r-- | gcc/config/xtensa/xtensa.c | 12 |
10 files changed, 86 insertions, 71 deletions
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 36b765e..dd4409a 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -6274,9 +6274,9 @@ alpha_va_start (tree valist, rtx nextarg ATTRIBUTE_UNUSED) offset_field = TREE_CHAIN (base_field); base_field = build (COMPONENT_REF, TREE_TYPE (base_field), - valist, base_field); + valist, base_field, NULL_TREE); offset_field = build (COMPONENT_REF, TREE_TYPE (offset_field), - valist, offset_field); + valist, offset_field, NULL_TREE); t = make_tree (ptr_type_node, virtual_incoming_args_rtx); t = build (PLUS_EXPR, ptr_type_node, t, build_int_2 (offset, 0)); @@ -6383,9 +6383,9 @@ alpha_gimplify_va_arg (tree valist, tree type, tree *pre_p, tree *post_p) base_field = TYPE_FIELDS (va_list_type_node); offset_field = TREE_CHAIN (base_field); base_field = build (COMPONENT_REF, TREE_TYPE (base_field), - valist, base_field); + valist, base_field, NULL_TREE); offset_field = build (COMPONENT_REF, TREE_TYPE (offset_field), - valist, offset_field); + valist, offset_field, NULL_TREE); /* Pull the fields of the structure out into temporaries. Since we never modify the base field, we can use a formal temporary. Sign-extend the diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 8313e0a..30d0315 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -3136,10 +3136,10 @@ ix86_va_start (tree valist, rtx nextarg) f_sav = TREE_CHAIN (f_ovf); valist = build1 (INDIRECT_REF, TREE_TYPE (TREE_TYPE (valist)), valist); - gpr = build (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr); - fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr); - ovf = build (COMPONENT_REF, TREE_TYPE (f_ovf), valist, f_ovf); - sav = build (COMPONENT_REF, TREE_TYPE (f_sav), valist, f_sav); + gpr = build (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr, NULL_TREE); + fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr, NULL_TREE); + ovf = build (COMPONENT_REF, TREE_TYPE (f_ovf), valist, f_ovf, NULL_TREE); + sav = build (COMPONENT_REF, TREE_TYPE (f_sav), valist, f_sav, NULL_TREE); /* Count number of gp and fp argument registers used. */ words = current_function_args_info.words; @@ -3202,10 +3202,10 @@ ix86_gimplify_va_arg (tree valist, tree type, tree *pre_p, tree *post_p) f_sav = TREE_CHAIN (f_ovf); valist = build_fold_indirect_ref (valist); - gpr = build (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr); - fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr); - ovf = build (COMPONENT_REF, TREE_TYPE (f_ovf), valist, f_ovf); - sav = build (COMPONENT_REF, TREE_TYPE (f_sav), valist, f_sav); + gpr = build (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr, NULL_TREE); + fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr, NULL_TREE); + ovf = build (COMPONENT_REF, TREE_TYPE (f_ovf), valist, f_ovf, NULL_TREE); + sav = build (COMPONENT_REF, TREE_TYPE (f_sav), valist, f_sav, NULL_TREE); size = int_size_in_bytes (type); if (size == -1) diff --git a/gcc/config/i860/i860.c b/gcc/config/i860/i860.c index 7c455eb..d23277d 100644 --- a/gcc/config/i860/i860.c +++ b/gcc/config/i860/i860.c @@ -1877,10 +1877,10 @@ i860_va_start (tree valist, rtx nextarg ATTRIBUTE_UNUSED) f_fpr = TREE_CHAIN (f_gpr); #endif - gpr = build (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr); - fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr); - sav = build (COMPONENT_REF, TREE_TYPE (f_sav), valist, f_sav); - mem = build (COMPONENT_REF, TREE_TYPE (f_mem), valist, f_mem); + gpr = build (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr, NULL_TREE); + fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr, NULL_TREE); + sav = build (COMPONENT_REF, TREE_TYPE (f_sav), valist, f_sav, NULL_TREE); + mem = build (COMPONENT_REF, TREE_TYPE (f_mem), valist, f_mem, NULL_TREE); /* Initialize the `mem_ptr' field to the address of the first anonymous stack argument. */ @@ -1943,10 +1943,10 @@ i860_va_arg (tree valist, tree type) f_fpr = TREE_CHAIN (f_gpr); #endif - gpr = build (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr); - fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr); - mem = build (COMPONENT_REF, TREE_TYPE (f_mem), valist, f_mem); - sav = build (COMPONENT_REF, TREE_TYPE (f_sav), valist, f_sav); + gpr = build (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr, NULL_TREE); + fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr, NULL_TREE); + mem = build (COMPONENT_REF, TREE_TYPE (f_mem), valist, f_mem, NULL_TREE); + sav = build (COMPONENT_REF, TREE_TYPE (f_sav), valist, f_sav, NULL_TREE); size = int_size_in_bytes (type); diff --git a/gcc/config/iq2000/iq2000.c b/gcc/config/iq2000/iq2000.c index 41d4a0e..786a7b6 100644 --- a/gcc/config/iq2000/iq2000.c +++ b/gcc/config/iq2000/iq2000.c @@ -1656,11 +1656,11 @@ iq2000_va_arg (tree valist, tree type) f_goff = TREE_CHAIN (f_ftop); f_foff = TREE_CHAIN (f_goff); - ovfl = build (COMPONENT_REF, TREE_TYPE (f_ovfl), valist, f_ovfl); - gtop = build (COMPONENT_REF, TREE_TYPE (f_gtop), valist, f_gtop); - ftop = build (COMPONENT_REF, TREE_TYPE (f_ftop), valist, f_ftop); - goff = build (COMPONENT_REF, TREE_TYPE (f_goff), valist, f_goff); - foff = build (COMPONENT_REF, TREE_TYPE (f_foff), valist, f_foff); + ovfl = build (COMPONENT_REF, TREE_TYPE (f_ovfl), valist, f_ovfl, NULL_TREE); + gtop = build (COMPONENT_REF, TREE_TYPE (f_gtop), valist, f_gtop, NULL_TREE); + ftop = build (COMPONENT_REF, TREE_TYPE (f_ftop), valist, f_ftop, NULL_TREE); + goff = build (COMPONENT_REF, TREE_TYPE (f_goff), valist, f_goff, NULL_TREE); + foff = build (COMPONENT_REF, TREE_TYPE (f_foff), valist, f_foff, NULL_TREE); lab_false = gen_label_rtx (); lab_over = gen_label_rtx (); diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 9abd0b3..15489b1 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -4045,11 +4045,16 @@ mips_va_start (tree valist, rtx nextarg) f_goff = TREE_CHAIN (f_ftop); f_foff = TREE_CHAIN (f_goff); - ovfl = build (COMPONENT_REF, TREE_TYPE (f_ovfl), valist, f_ovfl); - gtop = build (COMPONENT_REF, TREE_TYPE (f_gtop), valist, f_gtop); - ftop = build (COMPONENT_REF, TREE_TYPE (f_ftop), valist, f_ftop); - goff = build (COMPONENT_REF, TREE_TYPE (f_goff), valist, f_goff); - foff = build (COMPONENT_REF, TREE_TYPE (f_foff), valist, f_foff); + ovfl = build (COMPONENT_REF, TREE_TYPE (f_ovfl), valist, f_ovfl, + NULL_TREE); + gtop = build (COMPONENT_REF, TREE_TYPE (f_gtop), valist, f_gtop, + NULL_TREE); + ftop = build (COMPONENT_REF, TREE_TYPE (f_ftop), valist, f_ftop, + NULL_TREE); + goff = build (COMPONENT_REF, TREE_TYPE (f_goff), valist, f_goff, + NULL_TREE); + foff = build (COMPONENT_REF, TREE_TYPE (f_foff), valist, f_foff, + NULL_TREE); /* Emit code to initialize OVFL, which points to the next varargs stack argument. CUM->STACK_WORDS gives the number of stack @@ -4212,12 +4217,15 @@ mips_va_arg (tree valist, tree type) lab_false = gen_label_rtx (); lab_over = gen_label_rtx (); - ovfl = build (COMPONENT_REF, TREE_TYPE (f_ovfl), valist, f_ovfl); + ovfl = build (COMPONENT_REF, TREE_TYPE (f_ovfl), valist, f_ovfl, + NULL_TREE); if (GET_MODE_CLASS (TYPE_MODE (type)) == MODE_FLOAT && GET_MODE_SIZE (TYPE_MODE (type)) <= UNITS_PER_FPVALUE) { - top = build (COMPONENT_REF, TREE_TYPE (f_ftop), valist, f_ftop); - off = build (COMPONENT_REF, TREE_TYPE (f_foff), valist, f_foff); + top = build (COMPONENT_REF, TREE_TYPE (f_ftop), valist, f_ftop, + NULL_TREE); + off = build (COMPONENT_REF, TREE_TYPE (f_foff), valist, f_foff, + NULL_TREE); /* When floating-point registers are saved to the stack, each one will take up UNITS_PER_HWFPVALUE bytes, regardless @@ -4245,8 +4253,10 @@ mips_va_arg (tree valist, tree type) } else { - top = build (COMPONENT_REF, TREE_TYPE (f_gtop), valist, f_gtop); - off = build (COMPONENT_REF, TREE_TYPE (f_goff), valist, f_goff); + top = build (COMPONENT_REF, TREE_TYPE (f_gtop), valist, f_gtop, + NULL_TREE); + off = build (COMPONENT_REF, TREE_TYPE (f_goff), valist, f_goff, + NULL_TREE); if (rsize > UNITS_PER_WORD) { /* [1] Emit code for: off &= -rsize. */ diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 2376fc4..861b00a 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -5026,10 +5026,10 @@ rs6000_va_start (tree valist, rtx nextarg) f_sav = TREE_CHAIN (f_ovf); valist = build1 (INDIRECT_REF, TREE_TYPE (TREE_TYPE (valist)), valist); - gpr = build (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr); - fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr); - ovf = build (COMPONENT_REF, TREE_TYPE (f_ovf), valist, f_ovf); - sav = build (COMPONENT_REF, TREE_TYPE (f_sav), valist, f_sav); + gpr = build (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr, NULL_TREE); + fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr, NULL_TREE); + ovf = build (COMPONENT_REF, TREE_TYPE (f_ovf), valist, f_ovf, NULL_TREE); + sav = build (COMPONENT_REF, TREE_TYPE (f_sav), valist, f_sav, NULL_TREE); /* Count number of gp and fp argument registers used. */ words = current_function_args_info.words; @@ -5131,10 +5131,10 @@ rs6000_gimplify_va_arg (tree valist, tree type, tree *pre_p, tree *post_p) f_sav = TREE_CHAIN (f_ovf); valist = build1 (INDIRECT_REF, TREE_TYPE (TREE_TYPE (valist)), valist); - gpr = build (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr); - fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr); - ovf = build (COMPONENT_REF, TREE_TYPE (f_ovf), valist, f_ovf); - sav = build (COMPONENT_REF, TREE_TYPE (f_sav), valist, f_sav); + gpr = build (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr, NULL_TREE); + fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr, NULL_TREE); + ovf = build (COMPONENT_REF, TREE_TYPE (f_ovf), valist, f_ovf, NULL_TREE); + sav = build (COMPONENT_REF, TREE_TYPE (f_sav), valist, f_sav, NULL_TREE); size = int_size_in_bytes (type); rsize = (size + 3) / 4; diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 3e2ad5a..cc48d01 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -6381,10 +6381,10 @@ s390_va_start (tree valist, rtx nextarg ATTRIBUTE_UNUSED) f_sav = TREE_CHAIN (f_ovf); valist = build1 (INDIRECT_REF, TREE_TYPE (TREE_TYPE (valist)), valist); - gpr = build (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr); - fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr); - ovf = build (COMPONENT_REF, TREE_TYPE (f_ovf), valist, f_ovf); - sav = build (COMPONENT_REF, TREE_TYPE (f_sav), valist, f_sav); + gpr = build (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr, NULL_TREE); + fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr, NULL_TREE); + ovf = build (COMPONENT_REF, TREE_TYPE (f_ovf), valist, f_ovf, NULL_TREE); + sav = build (COMPONENT_REF, TREE_TYPE (f_sav), valist, f_sav, NULL_TREE); /* Count number of gp and fp argument registers used. */ @@ -6462,10 +6462,10 @@ s390_gimplify_va_arg (tree valist, tree type, tree *pre_p, f_sav = TREE_CHAIN (f_ovf); valist = build1 (INDIRECT_REF, TREE_TYPE (TREE_TYPE (valist)), valist); - gpr = build (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr); - fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr); - ovf = build (COMPONENT_REF, TREE_TYPE (f_ovf), valist, f_ovf); - sav = build (COMPONENT_REF, TREE_TYPE (f_sav), valist, f_sav); + gpr = build (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr, NULL_TREE); + fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr, NULL_TREE); + ovf = build (COMPONENT_REF, TREE_TYPE (f_ovf), valist, f_ovf, NULL_TREE); + sav = build (COMPONENT_REF, TREE_TYPE (f_sav), valist, f_sav, NULL_TREE); size = int_size_in_bytes (type); diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index d70178b..2308f1b 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -6237,14 +6237,16 @@ sh_va_start (tree valist, rtx nextarg) f_next_fp_limit = TREE_CHAIN (f_next_fp); f_next_stack = TREE_CHAIN (f_next_fp_limit); - next_o = build (COMPONENT_REF, TREE_TYPE (f_next_o), valist, f_next_o); + next_o = build (COMPONENT_REF, TREE_TYPE (f_next_o), valist, f_next_o, + NULL_TREE); next_o_limit = build (COMPONENT_REF, TREE_TYPE (f_next_o_limit), - valist, f_next_o_limit); - next_fp = build (COMPONENT_REF, TREE_TYPE (f_next_fp), valist, f_next_fp); + valist, f_next_o_limit, NULL_TREE); + next_fp = build (COMPONENT_REF, TREE_TYPE (f_next_fp), valist, f_next_fp, + NULL_TREE); next_fp_limit = build (COMPONENT_REF, TREE_TYPE (f_next_fp_limit), - valist, f_next_fp_limit); + valist, f_next_fp_limit, NULL_TREE); next_stack = build (COMPONENT_REF, TREE_TYPE (f_next_stack), - valist, f_next_stack); + valist, f_next_stack, NULL_TREE); /* Call __builtin_saveregs. */ u = make_tree (ptr_type_node, expand_builtin_saveregs ()); @@ -6317,15 +6319,16 @@ sh_va_arg (tree valist, tree type) f_next_fp_limit = TREE_CHAIN (f_next_fp); f_next_stack = TREE_CHAIN (f_next_fp_limit); - next_o = build (COMPONENT_REF, TREE_TYPE (f_next_o), valist, f_next_o); + next_o = build (COMPONENT_REF, TREE_TYPE (f_next_o), valist, f_next_o, + NULL_TREE); next_o_limit = build (COMPONENT_REF, TREE_TYPE (f_next_o_limit), - valist, f_next_o_limit); + valist, f_next_o_limit, NULL_TREE); next_fp = build (COMPONENT_REF, TREE_TYPE (f_next_fp), - valist, f_next_fp); + valist, f_next_fp, NULL_TREE); next_fp_limit = build (COMPONENT_REF, TREE_TYPE (f_next_fp_limit), - valist, f_next_fp_limit); + valist, f_next_fp_limit, NULL_TREE); next_stack = build (COMPONENT_REF, TREE_TYPE (f_next_stack), - valist, f_next_stack); + valist, f_next_stack, NULL_TREE); /* Structures with a single member with a distinct mode are passed like their member. This is relevant if the latter has a REAL_TYPE diff --git a/gcc/config/stormy16/stormy16.c b/gcc/config/stormy16/stormy16.c index 9ba54c1..8212794 100644 --- a/gcc/config/stormy16/stormy16.c +++ b/gcc/config/stormy16/stormy16.c @@ -1285,8 +1285,9 @@ xstormy16_expand_builtin_va_start (tree valist, rtx nextarg ATTRIBUTE_UNUSED) f_base = TYPE_FIELDS (va_list_type_node); f_count = TREE_CHAIN (f_base); - base = build (COMPONENT_REF, TREE_TYPE (f_base), valist, f_base); - count = build (COMPONENT_REF, TREE_TYPE (f_count), valist, f_count); + base = build (COMPONENT_REF, TREE_TYPE (f_base), valist, f_base, NULL_TREE); + count = build (COMPONENT_REF, TREE_TYPE (f_count), valist, f_count, + NULL_TREE); t = make_tree (TREE_TYPE (base), virtual_incoming_args_rtx); t = build (PLUS_EXPR, TREE_TYPE (base), t, @@ -1320,8 +1321,9 @@ xstormy16_expand_builtin_va_arg (tree valist, tree type) f_base = TYPE_FIELDS (va_list_type_node); f_count = TREE_CHAIN (f_base); - base = build (COMPONENT_REF, TREE_TYPE (f_base), valist, f_base); - count = build (COMPONENT_REF, TREE_TYPE (f_count), valist, f_count); + base = build (COMPONENT_REF, TREE_TYPE (f_base), valist, f_base, NULL_TREE); + count = build (COMPONENT_REF, TREE_TYPE (f_count), valist, f_count, + NULL_TREE); must_stack = MUST_PASS_IN_STACK (TYPE_MODE (type), type); size_tree = round_up (size_in_bytes (type), UNITS_PER_WORD); diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c index e062fd9..2d9ea52 100644 --- a/gcc/config/xtensa/xtensa.c +++ b/gcc/config/xtensa/xtensa.c @@ -2430,9 +2430,9 @@ xtensa_va_start (tree valist, rtx nextarg ATTRIBUTE_UNUSED) f_reg = TREE_CHAIN (f_stk); f_ndx = TREE_CHAIN (f_reg); - stk = build (COMPONENT_REF, TREE_TYPE (f_stk), valist, f_stk); - reg = build (COMPONENT_REF, TREE_TYPE (f_reg), valist, f_reg); - ndx = build (COMPONENT_REF, TREE_TYPE (f_ndx), valist, f_ndx); + stk = build (COMPONENT_REF, TREE_TYPE (f_stk), valist, f_stk, NULL_TREE); + reg = build (COMPONENT_REF, TREE_TYPE (f_reg), valist, f_reg, NULL_TREE); + ndx = build (COMPONENT_REF, TREE_TYPE (f_ndx), valist, f_ndx, NULL_TREE); /* Call __builtin_saveregs; save the result in __va_reg */ u = make_tree (ptr_type_node, expand_builtin_saveregs ()); @@ -2494,9 +2494,9 @@ xtensa_va_arg (tree valist, tree type) f_reg = TREE_CHAIN (f_stk); f_ndx = TREE_CHAIN (f_reg); - stk = build (COMPONENT_REF, TREE_TYPE (f_stk), valist, f_stk); - reg = build (COMPONENT_REF, TREE_TYPE (f_reg), valist, f_reg); - ndx = build (COMPONENT_REF, TREE_TYPE (f_ndx), valist, f_ndx); + stk = build (COMPONENT_REF, TREE_TYPE (f_stk), valist, f_stk, NULL_TREE); + reg = build (COMPONENT_REF, TREE_TYPE (f_reg), valist, f_reg, NULL_TREE); + ndx = build (COMPONENT_REF, TREE_TYPE (f_ndx), valist, f_ndx, NULL_TREE); type_size = TYPE_SIZE_UNIT (TYPE_MAIN_VARIANT (type)); |