Ping: always supply a mode to plus_constant

Richard Sandiford rdsandiford@googlemail.com
Mon May 14 13:23:00 GMT 2012


Richard Guenther <richard.guenther@gmail.com> writes:
> On Sun, May 6, 2012 at 12:23 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Thu, May 3, 2012 at 11:15 AM, Richard Sandiford
>> <rdsandiford@googlemail.com> wrote:
>>> Ping for this patch to always supply a mode to plus_constant:
>>>
>>>    http://gcc.gnu.org/ml/gcc-patches/2012-04/msg00892.html
>>>
>>> I've done a diff of the changes since the original test revision
>>> (which was r186448 FWIW) and there's only been one plus_constant-
>>> related change since then: Alan's rs6000 prologue/epilogue fixes.
>>> I'd repeat the original testing before committing.
>>>
>>
>> This caused:
>>
>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53249
>
> It also casuses IA64 build to fail for me:
>
> /gcc/spec/sb-terbium-head-64/gcc/gcc/config/ia64/ia64.c: In function
> 'ia64_emit_probe_stack_range':
> /gcc/spec/sb-terbium-head-64/gcc/gcc/config/ia64/ia64.c:3279: error:
> incompatible type for argument 1 of 'plus_constant'
> /gcc/spec/sb-terbium-head-64/gcc/gcc/config/ia64/ia64.c:3279: warning:
> passing argument 2 of 'plus_constant' makes pointer from integer
> without a cast
> /gcc/spec/sb-terbium-head-64/gcc/gcc/config/ia64/ia64.c:3279: error:
> too few arguments to function 'plus_constant'
> /gcc/spec/sb-terbium-head-64/gcc/gcc/config/ia64/ia64.c:3330: error:
> incompatible type for argument 1 of 'plus_constant'
> ...

I think this was:

2012-05-10  Eric Botcazou  <ebotcazou@adacore.com>
	    Tristan Gingold  <gingold@adacore.com>

	* doc/md.texi (Standard Names): Document probe_stack_address.
	* explow.c (emit_stack_probe): Handle probe_stack_address.
	* config/ia64/ia64.md (UNSPECV_PROBE_STACK_ADDRESS): New constant.
	(UNSPECV_PROBE_STACK_RANGE): Likewise.
	(probe_stack_address): New insn.
	(probe_stack_range): Likewise.
	* config/ia64/ia64.c: Include common/common-target.h.
	(ia64_compute_frame_size): Mark r2 and r3 as used if static stack
	checking is enabled.
	(ia64_emit_probe_stack_range): New function.
	(output_probe_stack_range): Likewise.
	(ia64_expand_prologue): Invoke ia64_emit_probe_stack_range if static
	builtin stack checking is enabled.
	(rtx_needs_barrier) <UNSPEC_VOLATILE>: Handle UNSPECV_PROBE_STACK_RANGE
	and UNSPECV_PROBE_STACK_ADDRESS.
	(unknown_for_bundling_p): New predicate.
	(group_barrier_needed): Use important_for_bundling_p.
	(ia64_dfa_new_cycle): Use unknown_for_bundling_p.
	(issue_nops_and_insn): Likewise.
	(bundling): Likewise.
	(final_emit_insn_group_barriers): Likewise.
	* config/ia64/ia64-protos.h (output_probe_stack_range): Declare.
	* config/ia64/hpux.h (STACK_CHECK_STATIC_BUILTIN): Define.
	(STACK_CHECK_PROTECT): Likewise.
	* config/ia64/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.

which went in a few days after my patch.

Richard



More information about the Gcc-patches mailing list