re PR target/43524 (ICE: in ix86_expand_prologue, at config/i386/i386.c:8636 with -mstack-arg-probe on x86_64-linux)

PR target/43524
	* config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
	Remove invalid assert and wrong comment.

testsuite/ChangeLog:

	PR target/43524
	* gcc.target/i386/pr43524.c: New test.

From-SVN: r157757
This commit is contained in:
Uros Bizjak 2010-03-26 19:22:37 +01:00
parent 7cbd785e80
commit fb04bb842f
4 changed files with 55 additions and 47 deletions

View File

@ -1,3 +1,9 @@
2010-03-26 Uros Bizjak <ubizjak@gmail.com>
PR target/43524
* config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
Remove invalid assert and wrong comment.
2010-03-26 Jakub Jelinek <jakub@redhat.com>
PR debug/43516
@ -34,8 +40,7 @@
2010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/constraints.md: Update copyright year for my
changes.
* config/rs6000/constraints.md: Update copyright year for my changes.
PR target/43484
* config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
@ -95,8 +100,7 @@
(output_addr_const_extra): Likewise.
(output_pic_addr_const): Lowercase @TPOFF.
(output_addr_const_extra): Likewise.
* config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase
@TLSGD.
* config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
(*tls_global_dynamic_64): Likewise.
(*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
(*tls_local_dynamic_base_64): Lowercase @TLSLD.
@ -106,8 +110,7 @@
* config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
PR target/38118
* config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to
tm_file.
* config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
* config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
* config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
* config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
@ -153,12 +156,12 @@
PR target/43348
* ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
call_value_gp,sibcall_gp): Use 's' constraint not 'i'.
call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
2010-03-22 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_target_string): Fix a typo in comments.
Add -mfma.
* config/i386/i386.c (ix86_target_string): Add -mfma.
Fix a typo in comment.
2010-03-22 Mike Stump <mikestump@comcast.net>
@ -175,17 +178,15 @@
* doc/configfiles.texi (Configuration Files): Removed
fixinc/Makefile*, intl/Makefile.*.
* doc/makefile.texi: Fixed markup.
Abstract from version control system used.
* doc/makefile.texi: Fixed markup. Abstract from version
control system used.
(Makefile): Removed obsolete gcc/java/parse.y example.
* doc/sourcebuild.texi: Likewise.
(Top Level): Added config, gnattools, libdecnumber, libgcc,
libgomp, libssp.
Removed fastjar.
libgomp, libssp. Removed fastjar.
(Miscellaneous Docs): Clarify location.
Added COPYING3, COPYING3.LIB.
(Front End Directory): Moved Make-lang.in entry to new
subsubsection.
(Front End Directory): Moved Make-lang.in entry to new subsubsection.
2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
@ -272,8 +273,8 @@
2010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
PR c/43211
* c-decl.c (grokparms): Set arg_types to NULL_TREE if there was an
error.
* c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
an error.
2010-03-19 Bernd Schmidt <bernd.schmidt@codesourcery.com>
@ -372,8 +373,7 @@
PR bootstrap/43403
* var-tracking.c (vt_init_cfa_base): Do nothing if
cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed
register.
cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
2010-03-18 Alexandre Oliva <aoliva@redhat.com>
@ -399,8 +399,7 @@
* cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
* cgraphunit.c (cgraph_materialize_all_clones): Update calls in
all non-clones. Moved call redirection...
(cgraph_redirect_edge_call_stmt_to_callee): ...to this new
function.
(cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
(cgraph_materialize_all_clones): Dispose of all
combined_args_to_skip bitmaps.
(verify_cgraph_node): Do not check for edges pointing to wrong
@ -471,8 +470,7 @@
appending a use to an empty chain.
(build_def_use): Remove previous changes that convert OP_INOUT to
OP_OUT operands; instead detect the case where an OP_INOUT operand
uses a previously untracked register and create an empty chain for
it.
uses a previously untracked register and create an empty chain for it.
2010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
@ -510,9 +508,8 @@
2010-03-16 Richard Guenther <rguenther@suse.de>
PR middle-end/43379
* tree-cfg.c (gimple_merge_blocks): When propagating virtual
PHI operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI
properly.
* tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
2010-03-16 Aldy Hernandez <aldyh@redhat.com>
Alexandre Oliva <aoliva@redhat.com>
@ -530,7 +527,7 @@
cfa_base_preserved_val): New static variables.
(preserve_only_constants): New function.
(cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
clear its REG_VALUES. If cselib_preserve_constants, don't
clear its REG_VALUES. If cselib_preserve_constants, don't
empty the whole hash table, but preserve there VALUEs with constants,
cfa_base_preserved_val and cfa_base_preserved_val plus constant.
(cselib_preserve_cfa_base_value): New function.

View File

@ -8628,13 +8628,10 @@ ix86_expand_prologue (void)
ix86_cfa_state->reg == stack_pointer_rtx);
else
{
/* Only valid for Win32. */
rtx eax = gen_rtx_REG (Pmode, AX_REG);
bool eax_live;
rtx t;
gcc_assert (!TARGET_64BIT || cfun->machine->call_abi == MS_ABI);
if (cfun->machine->call_abi == MS_ABI)
eax_live = false;
else

View File

@ -1,7 +1,12 @@
2010-03-26 Uros Bizjak <ubizjak@gmail.com>
PR target/43524
* gcc.target/i386/pr43524.c: New test.
2010-03-26 Martin Jambor <mjambor@suse.cz>
* gcc/testsuite/gcc.dg/tree-ssa/loadpre1.c: Deleted trailing
whitespace, renamed main to foo.
* gcc/testsuite/gcc.dg/tree-ssa/loadpre1.c: Delete trailing
whitespace, rename main to foo.
* gcc/testsuite/gcc.dg/tree-ssa/loadpre14.c: Likewise.
* gcc/testsuite/gcc.dg/tree-ssa/loadpre15.c: Likewise.
* gcc/testsuite/gcc.dg/tree-ssa/loadpre16.c: Likewise.
@ -37,7 +42,7 @@
* objc-obj-c++-shared/next-mapping.h: New file.
* objc/execute/next_mapping.h: Delete.
* objc.dg/special/special.exp: For all targets run the tests with
-fgnu-runtime, for darwin targets also run the tests with
-fgnu-runtime, for darwin targets also run the tests with
-fnext-runtime.
* objc.dg/dg.exp: Ditto.
* obj-c++.dg/dg.exp: Ditto.
@ -46,7 +51,7 @@
include use of updated NeXT interface.
* objc/execute/formal_protocol-5.m: Ditto.
* objc/execute/protocol-isEqual-2.m: Ditto.
* objc/execute/protocol-isEqual-4.m: Ditto.
* objc/execute/protocol-isEqual-4.m: Ditto.
* objc/execute/class-11.m: Use shared wrapper headers (Object1.h,
Protocol1.h) and next-mapping.h as required.
* objc/execute/object_is_class.m: Ditto.
@ -188,7 +193,7 @@
* objc.dg/fix-and-continue-2.m: Ditto.
* objc.dg/method-9.m: Ditto.
* objc.dg/isa-field-1.m: Ditto.
* objc.dg/local-decl-2.m: Ditto.
* objc.dg/local-decl-2.m: Ditto.
* objc.dg/objc-gc-4.m: Ditto.
* objc.dg/type-stream-1.m: Skip for NeXT runtime.
* objc.dg/gnu-runtime-3.m: Ditto.
@ -197,7 +202,7 @@
* objc.dg/selector-3.m: Ditto.
* objc.dg/gnu-runtime-1.m: Ditto.
* objc.dg/const-str-12.m: Ditto.
* objc.dg/gnu-runtime-2.m: Ditto.
* objc.dg/gnu-runtime-2.m: Ditto.
* objc.dg/no-extra-load.m: Skip for gnu-runtime.
* objc.dg/selector-1.m: Ditto.
* objc.dg/stubify-2.m: Ditto.
@ -207,27 +212,27 @@
* objc.dg/next-runtime-1.m: Ditto.
* objc.dg/symtab-1.m: Ditto.
* objc.dg/stubify-1.m: Ditto.
* objc.dg/bitfield-2.m: Ditto.
* objc.dg/bitfield-2.m: Ditto.
* objc.dg/try-catch-10.m: Apply to both runtimes.
* objc.dg/const-str-1.m: Ditto.
* objc.dg/image-info.m: Ditto.
* objc.dg/encode-9.m: Ditto.
* objc.dg/encode-9.m: Ditto.
* objc.dg/pragma-1.m: Apply test to all targets.
* objc.dg/const-str-4.m: Ditto.
* objc.dg/const-str-8.m: Ditto.
* objc.dg/super-class-2.m: Ditto.
* objc.dg/try-catch-5.m: Ditto.
* objc.dg/const-str-10.m: Use shared wrapper headers (Object1.h,
Protocol1.h) and next-mapping.h as required. Use new NeXT
Protocol1.h) and next-mapping.h as required. Use new NeXT
interface as required. Skip for gnu-runtime. Test for .quad
at m64.
* objc.dg/const-str-11.m: Ditto.
* objc.dg/const-str-9.m: Ditto.
* objc.dg/const-str-9.m: Ditto.
* objc.dg/method-4.m: Skip for 64Bit NeXT.
* objc.dg/encode-1.m: Remove redundant -lobjc.
* objc.dg/try-catch-9.m: Tidy space.
* obj-c++.dg/method-19.mm: Use shared wrapper headers (Object1.h,
Protocol1.h) and next-mapping.h as required. XFAIL run if NeXT
Protocol1.h) and next-mapping.h as required. XFAIL run if NeXT
and 64bit. Use new NeXT interface as required.
* obj-c++.dg/template-4.mm: Ditto.
* obj-c++.dg/defs.mm: Ditto.
@ -247,7 +252,7 @@
* obj-c++.dg/template-1.mm: Ditto.
* obj-c++.dg/encode-6.mm: Ditto.
* obj-c++.dg/bitfield-2.mm: Use shared wrapper headers (Object1.h,
Protocol1.h) and next-mapping.h as required. Use new NeXT
Protocol1.h) and next-mapping.h as required. Use new NeXT
interface as required.
* obj-c++.dg/except-1.mm: Ditto.
* obj-c++.dg/const-str-7.mm: Ditto.
@ -292,15 +297,15 @@
* obj-c++.dg/gnu-runtime-2.mm: Skip if NeXT runtime.
* obj-c++.dg/gnu-runtime-3.mm: Ditto.
* obj-c++.dg/gnu-runtime-1.mm: Ditto.
* objc.dg/zero-link-2.m: Skip if gnu runtime. Use shared wrapper
headers (Object1.h, Protocol1.h) and next-mapping.h as required.
* objc.dg/zero-link-2.m: Skip if gnu runtime. Use shared wrapper
headers (Object1.h, Protocol1.h) and next-mapping.h as required.
Use new NeXT interface as required.
* obj-c++.dg/const-str-10.mm: Ditto.
* obj-c++.dg/const-str-11.mm: Ditto.
* obj-c++.dg/const-str-9.mm: Ditto.
* obj-c++.dg/method-11.mm: Ditto.
* obj-c++.dg/cxx-ivars-3.mm: Skip if gnu runtime. Use shared wrapper
headers (Object1.h, Protocol1.h) and next-mapping.h as required.
* obj-c++.dg/cxx-ivars-3.mm: Skip if gnu runtime. Use shared wrapper
headers (Object1.h, Protocol1.h) and next-mapping.h as required.
Use new NeXT interface as required. XFAIL run if NeXT and 64bit.
* obj-c++.dg/encode-8.mm: Remove redundant -lobjc.
* obj-c++.dg/const-str-1.mm: Run for NeXT as well as gnu.
@ -343,7 +348,7 @@
2010-03-24 Martin Jambor <mjambor@suse.cz>
* gcc.dg/ipa/ipa-1.c: Delete trailing spaces, put the call to f into
a loop.
a loop.
* gcc.dg/ipa/ipa-2.c: Likewise.
* gcc.dg/ipa/ipa-3.c: Likewise.
* gcc.dg/ipa/ipa-4.c: Likewise.

View File

@ -0,0 +1,9 @@
/* { dg-do compile } */
/* { dg-options "-mstack-arg-probe" } */
extern void bar (void);
void foo (int i)
{
bar ();
}