Janis Johnson
fdf4f148f1
re PR target/35620 (ICE passing dereferenced pointer to _Decimal32)
...
gcc/
PR target/35620
* config/rs6000/rs6000.c (rs6000_check_sdmode): Handle indirect ref
and view convert expression.
testsuite/
PR target/35620
* gcc.dg/dfp/pr35620.c: New test.
* gcc.dg/dfp/func-pointer.c: New test.
* gcc.dg/dfp/func-deref.c: New test.
From-SVN: r133909
2008-04-04 20:18:52 +00:00
Jakub Jelinek
3088d40408
re PR target/35364 (ICE on ia64 with vector declaration inside #pragma omp parallel)
...
PR target/35364
* tree-cfg.c (remove_useless_stmts_1): Handle OMP_* containers.
* g++.dg/gomp/pr35364.C: New test.
From-SVN: r133905
2008-04-04 19:48:45 +02:00
H.J. Lu
c9a22ea10d
Change UNSPEC_PCLMULQDQ to UNSPEC_PCLMUL.
...
From-SVN: r133903
2008-04-04 10:22:48 -07:00
H.J. Lu
8b96a312a0
config.gcc (extra_headers): Add wmmintrin.h for x86 and x86-64.
...
gcc/
2008-04-04 H.J. Lu <hongjiu.lu@intel.com>
* config.gcc (extra_headers): Add wmmintrin.h for x86 and x86-64.
* config/i386/cpuid.h (bit_AES): New.
(bit_PCLMUL): Likewise.
* config/i386/i386.c (pta_flags): Add PTA_AES and PTA_PCLMUL.
(override_options): Handle PTA_AES and PTA_PCLMUL. Enable
SSE2 if AES or PCLMUL is enabled.
(ix86_builtins): Add IX86_BUILTIN_AESENC128,
IX86_BUILTIN_AESENCLAST128, IX86_BUILTIN_AESDEC128,
IX86_BUILTIN_AESDECLAST128, IX86_BUILTIN_AESIMC128,
IX86_BUILTIN_AESKEYGENASSIST128 and IX86_BUILTIN_PCLMULQDQ128.
(bdesc_sse_3arg): Add IX86_BUILTIN_PCLMULQDQ128.
(bdesc_2arg): Add IX86_BUILTIN_AESENC128,
IX86_BUILTIN_AESENCLAST128, IX86_BUILTIN_AESDEC128,
IX86_BUILTIN_AESDECLAST128 and IX86_BUILTIN_AESKEYGENASSIST128.
(bdesc_1arg): Add IX86_BUILTIN_AESIMC128.
(ix86_init_mmx_sse_builtins): Define __builtin_ia32_aesenc128,
__builtin_ia32_aesenclast128, __builtin_ia32_aesdec128,
__builtin_ia32_aesdeclast128,__builtin_ia32_aesimc128,
__builtin_ia32_aeskeygenassist128 and
__builtin_ia32_pclmulqdq128.
* config/i386/i386.c (ix86_expand_binop_imm_builtin): New.
(ix86_expand_builtin): Use it for IX86_BUILTIN_PSLLDQI128 and
IX86_BUILTIN_PSRLDQI128. Handle IX86_BUILTIN_AESKEYGENASSIST128.
* config/i386/i386.h (TARGET_AES): New.
(TARGET_PCLMUL): Likewise.
(TARGET_CPU_CPP_BUILTINS): Handle TARGET_AES and TARGET_PCLMUL.
* config/i386/i386.md (UNSPEC_AESENC): New.
(UNSPEC_AESENCLAST): Likewise.
(UNSPEC_AESDEC): Likewise.
(UNSPEC_AESDECLAST): Likewise.
(UNSPEC_AESIMC): Likewise.
(UNSPEC_AESKEYGENASSIST): Likewise.
(UNSPEC_PCLMULQDQ): Likewise.
* config/i386/i386.opt (maes): New.
(mpclmul): Likewise.
* config/i386/sse.md (aesenc): New pattern.
(aesenclast): Likewise.
(aesdec): Likewise.
(aesdeclast): Likewise.
(aesimc): Likewise.
(aeskeygenassist): Likewise.
(pclmulqdq): Likewise.
* config/i386/wmmintrin.h: New.
* doc/extend.texi: Document AES and PCLMUL built-in function.
* doc/invoke.texi: Document -maes and -mpclmul.
gcc/testsuite/
2008-04-04 H.J. Lu <hongjiu.lu@intel.com>
* g++.dg/other/i386-2.C: Include <wmmintrin.h>.
* g++.dg/other/i386-3.C: Likewise.
* gcc.target/i386/sse-13.c: Likewise.
* gcc.target/i386/sse-14.c: Likewise.
* gcc.target/i386/aes-check.h: New.
* gcc.target/i386/aesdec.c: Likewise.
* gcc.target/i386/aesdeclast.c: Likewise.
* gcc.target/i386/aesenc.c: Likewise.
* gcc.target/i386/aesenclast.c: Likewise.
* gcc.target/i386/aesimc.c: Likewise.
* gcc.target/i386/aeskeygenassist.c: Likewise.
* gcc.target/i386/pclmulqdq.c: Likewise.
* gcc.target/i386/pclmul-check.h: Likewise.
* gcc.target/i386/i386.exp (check_effective_target_aes): New.
(check_effective_target_pclmul): Likewise.
From-SVN: r133902
2008-04-04 09:10:52 -07:00
Paolo Bonzini
e892493899
function.c (free_after_parsing): Replace with cxx_push_function_context from C++ front-end.
...
2008-04-03 Paolo Bonzini <bonzini@gnu.org>
* function.c (free_after_parsing): Replace with
cxx_push_function_context from C++ front-end.
(allocate_struct_function): Don't call langhook.
* langhooks.h (struct lang_hooks_for_functions): Delete.
(struct lang_hooks): Add back missing_noreturn_ok_p here, delete
member "function".
* langhooks-def.h (LANG_HOOKS_MISSING_NORETURN_OK_P): Add.
(LANG_HOOKS_FUNCTION_INIT, LANG_HOOKS_FUNCTION_FINAL,
LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
LANG_HOOKS_FUNCTION_INITIALIZER): Delete.
(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_MISSING_NORETURN_OK_P,
remove LANG_HOOKS_FUNCTION_INITIALIZER.
* tree-cfg.c: Adjust call to missing_noreturn_ok_p langhook.
* c-objc-common.h (LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P):
Rename to LANG_HOOKS_MISSING_NORETURN_OK_P.
cp:
2008-04-03 Paolo Bonzini <bonzini@gnu.org>
* decl.c (cxx_push_function_context): Delete.
(cxx_pop_function_context): Delete.
(start_preparsed_function): Merge cxx_push_function_context (!f->decl
code only).
* cp-objcp-common.h (LANG_HOOKS_FUNCTION_INIT,
LANG_HOOKS_FUNCTION_FINAL): Delete.
(LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P): Rename to
LANG_HOOKS_MISSING_NORETURN_OK_P.
* cp-tree.h (cxx_push_function_context, cxx_pop_function_context):
Delete prototype.
* semantics.c (current_stmt_tree): Fix comment.
From-SVN: r133900
2008-04-04 14:57:18 +00:00
Jakub Jelinek
05008a0c3c
re PR c/35440 (ICE resulting in completely broken diagnostic)
...
PR c/35440
* c-pretty-print.c (pp_c_initializer_list): Handle CONSTRUCTOR
for all types.
* gcc.dg/pr35440.c: New test.
From-SVN: r133897
2008-04-04 15:07:27 +02:00
Nick Clifton
5f4bebbf4e
Fix typo
...
From-SVN: r133895
2008-04-04 11:45:46 +00:00
Nick Clifton
2a79c47f95
re PR middle-end/4334 (Flow control insn inside a basic block, arm/netbsd, gcc 3.1)
...
PR binutils/4334
* acx.m4 (ACX_CHECK_CYGWIN_CAT_WORKS): New macro to check that
cygwin builds are not running in textmode.
* configure.ac: Run ACX_XHEXK_CYGWIN_CAT_WORKS for cygwin hosted
builds.
* configure: Regenerate.
From-SVN: r133894
2008-04-04 11:39:20 +00:00
Richard Guenther
c071e8bcc2
re PR middle-end/35823 (verify_gimple fails on taking 'Size of a String subprogram parameter)
...
2008-04-04 Richard Guenther <rguenther@suse.de>
PR middle-end/35823
* fold-const.c (optimize_minmax_comparison): Use the correct
type for the constant in the simplified comparison.
* gnat.dg/pr35823.adb: New testcase.
From-SVN: r133893
2008-04-04 11:29:11 +00:00
NightStrike
c53a18d377
re PR other/35151 (Combine mingw names)
...
PR other/35151
* configure.ac: Combine rules for mingw32 and mingw64.
* configure: Regenerate.
From-SVN: r133892
2008-04-04 11:16:10 +00:00
Zuxy Meng
f4a1dd0dc7
driver-i386.c (describe_cache): Add l2_sizekb argument.
...
* config/i386/driver-i386.c (describe_cache): Add l2_sizekb argument.
Pass L2 size as "--param l2-cache-size" to the compiler.
(decode_l2_cache): New function to decode L2 cache parameters using
0x8000006 extended cpuid function.
(detect_caches_amd): Determine parameters of L2 cache using
decode_l2_caches function.
(decode_caches_intel): Decode L2 cache parameters.
(detect_caches_intel): Determine L2 cache parameters using
decode_caches_intel and decode_l2_caches functions.
From-SVN: r133890
2008-04-04 09:39:12 +02:00
Bob Wilson
3ee909cb67
xtensa.c (xtensa_secondary_reload_class): Use a secondary input reload for subword loads from the constant pool.
...
* config/xtensa/xtensa.c (xtensa_secondary_reload_class): Use a
secondary input reload for subword loads from the constant pool.
From-SVN: r133889
2008-04-04 03:55:15 +00:00
Janis Johnson
383e91e472
re PR target/35713 (invalid type for va_arg with _Decimal128)
...
PR target/35713
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use integer
constants of the appropriate size for runtime calculations.
From-SVN: r133887
2008-04-04 00:20:48 +00:00
GCC Administrator
311b11ec9e
Daily bump.
...
From-SVN: r133885
2008-04-04 00:17:42 +00:00
Janis Johnson
6db07dcbf6
re PR c/35712 (decimal float literal constant zero loses significant trailing zeroes)
...
2008-04-03 Janis Johnson <janis187@us.ibm.com>
gcc/
PR c/35712
* dfp.c (decimal_from_decnumber): Retain trailing zeroes for
decimal-float literal constant zero.
testsuite/
PR c/35712
* gcc.dg/dfp/constants-zero.c: New test.
From-SVN: r133881
2008-04-03 23:49:35 +00:00
Jakub Jelinek
79addd1f35
re PR c/35738 (ICE with #pragma omp atomic and conversion from pointer to int)
...
PR c/35738
* c-parser.c (c_parser_omp_atomic): Call
default_function_array_conversion on the RHS.
* gcc.dg/gomp/pr35738.c: New test.
From-SVN: r133876
2008-04-03 23:03:54 +02:00
Jakub Jelinek
5da250fca2
re PR middle-end/35818 (ICE on incomplete array in shared clause)
...
PR middle-end/35818
* omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: Don't
call is_variable_sized if decl has incomplete type.
* gcc.dg/gomp/pr35818.c: New test.
From-SVN: r133875
2008-04-03 23:02:44 +02:00
Jakub Jelinek
637b5a8e7c
re PR fortran/35786 (OpenMP Fortran PRIVATE on parameter gives error in gfc_finish_var_decl)
...
PR fortran/35786
* openmp.c (resolve_omp_clauses): Diagnose if a clause symbol
isn't a variable.
* gfortran.dg/gomp/pr35786-1.f90: New test.
* gfortran.dg/gomp/pr35786-2.f90: New test.
From-SVN: r133874
2008-04-03 23:01:26 +02:00
H.J. Lu
940f3b5219
i386-protos.h (ix86_aligned_p): Removed.
...
2008-04-03 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386-protos.h (ix86_aligned_p): Removed.
From-SVN: r133873
2008-04-03 13:02:54 -07:00
Adam Nemet
6ac935c150
mips.md (any_gt, [...]): New code iterators.
...
* config/mips/mips.md (any_gt, any_ge, any_lt, any_le): New code
iterators.
(u): Add attribute values for gt, gtu, ge, geu, lt, ltu, le and
leu.
(sgt<u>): Merge sgt and sgtu into new expander.
(sgt, sgtu): Remove expanders.
(*sgt<u>_<mode>): Merge *sgt_<mode> and *sgtu_<mode> into new
pattern.
(*sgt_<mode>, *sgtu_<mode>): Remove patterns.
(*sgt<u>_<mode>_mips16): Merge *sgt_<mode>_mips16 and
*sgtu_<mode>_mips16 into new pattern.
(*sgt_<mode>_mips16, *sgtu_<mode>_mips16): Remove patterns.
(sge<u>): Merge sge and sgeu into new expander.
(sge, sgeu): Remove expanders.
(*sge<u>_<mode>): Merge *sge_<mode> and second *sge_<mode> into
new pattern.
(*sge_<mode>, second *sge_<mode>): Remove patterns.
(slt<u>): Merge slt and sltu into new expander.
(slt, sltu): Remove expanders.
(*slt<u>_<mode>): Merge *slt_<mode> and *sltu_<mode> into new
pattern.
(*slt_<mode>, *sltu_<mode>): Remove patterns.
(*slt<u>_<mode>_mips16): Merge *slt_<mode>_mips16 and
*sltu_<mode>_mips16 into new pattern.
(*slt_<mode>_mips16, *sltu_<mode>_mips16): Remove patterns.
(sle<u>): Merge sle and sleu into new expander.
(sle, sleu): Remove expanders.
(*sle<u>_<mode>): Merge *sle_<mode> and *sleu_<mode> into new
pattern.
(*sle_<mode>, *sleu_<mode>): Remove patterns.
(*sle<u>_<mode>_mips16): Merge *sle_<mode>_mips16 and
*sleu_<mode>_mips16 into new pattern.
(*sle_<mode>_mips16, *sleu_<mode>_mips16): Remove patterns.
testsuite/
* gcc.target/mips/scc-1.c: New test.
From-SVN: r133872
2008-04-03 19:31:28 +00:00
Jan Hubicka
6b0c2336ba
re PR target/35795 (Revision 133787 breaks ia64)
...
2008-04-03 Jan Hubicka <jh@suse.cz>
PR tree-optimization/35795
* alpha/alpha.c (alpha_output_mi_thunk_osf): Free after compilation.
* sparc/sparc.c (sparc_output_mi_thunk): Likewise.
* ia64/ia64.c (ia64_output_mi_thunk): Likewise.
* m68k/m68k.c (m68k_output_mi_thunk): Likewise.
* score/score3.c (score3_output_mi_thunk): Likewise.
* score/score7.c (score7_output_mi_thunk): Likewise.
* mips/mips.c (mips_output_mi_thunk): Likewise.
From-SVN: r133868
2008-04-03 05:49:27 -07:00
Richard Guenther
b47ee38692
tree-vrp.c (extract_range_from_unary_expr): Handle all conversions.
...
2008-04-03 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (extract_range_from_unary_expr): Handle all
conversions. Simplify code.
* gcc.dg/tree-ssa/vrp43.c: New testcase.
* gcc.dg/tree-ssa/vrp44.c: Likewise.
* gcc.dg/tree-ssa/vrp45.c: Likewise.
From-SVN: r133866
2008-04-03 09:33:27 +00:00
Kaz Kojima
2a7428c0c5
* config/sh/sh.c (sh_output_mi_thunk): Free cfun.
...
From-SVN: r133865
2008-04-03 09:07:17 +00:00
Jakub Jelinek
60c4d1358a
re PR c++/35741 (ICE with offsetof and references)
...
PR c++/35741
* semantics.c (finish_offsetof): Undo effect of convert_from_reference
before calling fold_offsetof.
* g++.dg/other/offsetof5.C: New test.
From-SVN: r133863
2008-04-03 09:43:46 +02:00
Tom Tromey
6cba282a2c
t-uclinux (generated_files): Add sysroot-suffix.h.
...
gcc/
2008-04-03 Tom Tromey <tromey@redhat.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* config/m68k/t-uclinux (generated_files): Add sysroot-suffix.h.
* config/bfin/t-bfin-linux (generated_files): Add
linux-sysroot-suffix.h.
* doc/install.texi (Prerequisites): Require make 3.80.
* doc/sourcebuild.texi (Front End Directory): Document new
variable.
* Makefile.in (generated_files): New variable.
(ALL_HOST_OBJS): New variable.
($(ALL_HOST_OBJS)): New target.
gcc/java/
2008-04-03 Tom Tromey <tromey@redhat.com>
* Make-lang.in (java_OBJS): New variable.
gcc/objc/
2008-04-03 Tom Tromey <tromey@redhat.com>
* Make-lang.in (objc_OBJS): New variable.
gcc/objcp/
2008-04-03 Tom Tromey <tromey@redhat.com>
* Make-lang.in (obj-c++_OBJS): New variable.
gcc/cp/
2008-04-03 Tom Tromey <tromey@redhat.com>
* Make-lang.in (c++_OBJS): New variable.
gcc/fortran/
2008-04-03 Tom Tromey <tromey@redhat.com>
* Make-lang.in (fortran_OBJS): New variable.
Co-Authored-By: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
From-SVN: r133862
2008-04-03 06:12:27 +00:00
Paolo Bonzini
9ff420f135
tree-inline.c (copy_generic_body, [...]): Export.
...
2007-03-09 Paolo Bonzini <bonzini@gnu.org>
* tree-inline.c (copy_generic_body, copy_decl_no_change): Export.
(remap_block): Call id->transform_lang_insert_block instead
of langhook.
(optimize_inline_calls, unsave_expr_now, tree_function_versioning):
Set id.transform_lang_insert_block to NULL.
(clone_body): Move to cp/optimize.c
* tree-inline.h (struct copy_body_data): Change
transform_lang_insert_block to function pointer.
(copy_generic_body, copy_decl_no_change): Export.
* langhooks.h (struct lang_hooks_for_decls): Kill insert_block.
* langhooks-def.h (LANG_HOOKS_INSERT_BLOCK): Kill.
(LANG_HOOKS_DECLS): Remove LANG_HOOKS_INSERT_BLOCK.
* c-tree.h (insert_block): Kill.
* c-decl.c (insert_block): Kill.
cp:
2007-03-09 Paolo Bonzini <bonzini@gnu.org>
* optimize.c (clone_body): New, from tree-inline.c.
ada:
2007-03-09 Paolo Bonzini <bonzini@gnu.org>
* gigi.h (insert_block): Kill.
* utils.c (insert_block): Kill.
java:
2007-03-09 Paolo Bonzini <bonzini@gnu.org>
* java-tree.h (insert_block): Kill.
* decl.c (insert_block): Kill.
fortran:
2007-03-09 Paolo Bonzini <bonzini@gnu.org>
* f95-lang.c (insert_block): Kill.
From-SVN: r133861
2008-04-03 05:41:57 +00:00
Paolo Bonzini
d2784db4e5
c-objc-common.h (LANG_HOOKS_FUNCTION_ENTER_NESTED, [...]): Delete.
...
2008-04-03 Paolo Bonzini <bonzini@gnu.org>
* c-objc-common.h (LANG_HOOKS_FUNCTION_ENTER_NESTED,
LANG_HOOKS_FUNCTION_LEAVE_NESTED): Delete.
* c-tree.h (c_push_function_context, c_pop_function_context): Remove
argument.
* c-decl.c (c_push_function_context, c_pop_function_context): Remove
argument, call {push,pop}_function_context from here.
* c-parser.c: Use c_{push,pop}_function_context.
* function.c (push_function_context_to): Move meat ...
(push_function_context): ... here. Simplify.
* function.c (pop_function_context_from): Move meat ...
(pop_function_context): ... here. Simplify.
* langhooks.h (struct lang_hooks_for_functions): Remove enter_nested,
leave_nested).
* langhooks-def.h (LANG_HOOKS_FUNCTION_ENTER_NESTED,
LANG_HOOKS_FUNCTION_LEAVE_NESTED): Delete.
(LANG_HOOKS_FUNCTION_INITIALIZER): Delete them from here.
* tree.h (push_function_context_to, pop_function_context_from): Remove.
cp:
2008-04-03 Paolo Bonzini <bonzini@gnu.org>
* method.c (synthesize_method): Use {push,pop}_function_context.
* name-lookup.c (push_to_top_level): Likewise.
* parser.c (cp_parser_late_parsing_for_member): Likewise.
From-SVN: r133860
2008-04-03 05:38:32 +00:00
Paolo Bonzini
0a262d5466
re PR rtl-optimization/35281 (multiply with 0 generated for 64*32->64)
...
2008-04-03 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/35281
* gcc.target/i386/pr35281.c: New test.
From-SVN: r133859
2008-04-03 05:36:26 +00:00
Ben Elliston
9e0aebcaee
* expmed.c (extract_force_align_mem_bit_field): Remove.
...
From-SVN: r133858
2008-04-03 16:17:11 +11:00
Richard Guenther
55187c8a16
re PR middle-end/35800 (Revision 133835 failed to compile binutils)
...
PR middle-end/35800
* expr.h (try_casesi): Adjust prototype.
* expr.c (try_casesi): Take fallback label as extra parameter.
Use that for gen_casesi if default_label is NULL.
* stmt.c (expand_case): Pass fallback label to try_casesi,
make sure to fill gaps with a fallback label if default_label
is not present.
From-SVN: r133857
2008-04-03 02:09:20 +00:00
Richard Guenther
d2cf5f997f
re PR middle-end/35800 (Revision 133835 failed to compile binutils)
...
PR middle-end/35800
* gcc.c-torture/execute/pr35800.c: New test.
From-SVN: r133856
2008-04-03 02:08:13 +00:00
Dominique d'Humieres
d7087dd2ed
re PR target/35801 (At revision 133817, bootstrap fails at libstdc++-v3/src/strstream.cc on powerpc-apple-darwin9)
...
2008-04-03 Dominique d'Humieres <dominiq@lps.ens.fr>
PR target/35801
* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Free cfun.
From-SVN: r133855
2008-04-02 20:33:05 -04:00
GCC Administrator
9fc8f665cb
Daily bump.
...
From-SVN: r133853
2008-04-03 00:17:34 +00:00
Ben Elliston
609023fff0
expmed.c (extract_split_bit_field): Remove if (0) code.
...
* expmed.c (extract_split_bit_field): Remove if (0) code.
* tree-ssa-structalias.c (do_sd_constraint): Likewise.
(do_ds_constraint): Likewise.
From-SVN: r133848
2008-04-03 06:56:03 +11:00
Joseph Myers
93d45d9eda
cppopts.texi (-dU): Document.
...
gcc:
* doc/cppopts.texi (-dU): Document.
* c-common.h (flag_dump_macros): Update comment.
* c-opts.c (handle_OPT_d): Handle -dU.
* c-ppoutput.c (macro_queue, define_queue, undef_queue,
dump_queued_macros, cb_used_define, cb_used_undef): New.
(init_pp_output): Handle -dU.
(cb_line_change): Call dump_queued_macros.
* toplev.c (decode_d_option): Accept -dU as preprocessor option.
gcc/testsuite:
* gcc.dg/cpp/cmdlne-dU-1.c, gcc.dg/cpp/cmdlne-dU-2.c,
gcc.dg/cpp/cmdlne-dU-3.c, gcc.dg/cpp/cmdlne-dU-4.c,
gcc.dg/cpp/cmdlne-dU-5.c, gcc.dg/cpp/cmdlne-dU-6.c,
gcc.dg/cpp/cmdlne-dU-7.c, gcc.dg/cpp/cmdlne-dU-8.c,
gcc.dg/cpp/cmdlne-dU-9.c, gcc.dg/cpp/cmdlne-dU-10.c,
gcc.dg/cpp/cmdlne-dU-11.c, gcc.dg/cpp/cmdlne-dU-12.c,
gcc.dg/cpp/cmdlne-dU-13.c, gcc.dg/cpp/cmdlne-dU-14.c,
gcc.dg/cpp/cmdlne-dU-15.c, gcc.dg/cpp/cmdlne-dU-16.c,
gcc.dg/cpp/cmdlne-dU-17.c, gcc.dg/cpp/cmdlne-dU-18.c,
gcc.dg/cpp/cmdlne-dU-19.c, gcc.dg/cpp/cmdlne-dU-20.c,
gcc.dg/cpp/cmdlne-dU-21.c, gcc.dg/cpp/cmdlne-dU-22.c: New tests.
libcpp:
* include/cpplib.h (struct cpp_callbacks): Add used_define,
used_undef and before_define.
(NODE_USED): Define.
* directives.c (do_define, do_undef, undefine_macros, do_ifdef,
do_ifndef, cpp_pop_definition): Handle new flag and use new
callbacks.
* expr.c (parse_defined): Handle new flag and use new callbacks.
* macro.c (enter_macro_context, _cpp_free_definition): Handle new
flag and use new callbacks.
From-SVN: r133847
2008-04-02 20:42:53 +01:00
Anatoly Sokolov
e6b69d0e56
predicates.md (io_address_operand): New predicate.
...
* config/avr/predicates.md (io_address_operand): New predicate.
* config/avr/avr-protos.h (avr_io_address_p): Remove declaration.
* config/avr/avr.c (avr_io_address_p): Remove function.
(out_movqi_r_mr): Use 'io_address_operand' predicate instead of
'avr_io_address_p' function.
(out_movhi_r_mr): (Ditto.).
(out_movqi_mr_r): (Ditto.).
(out_movhi_mr_r): (Ditto.).
(avr_address_cost): (Ditto.).
From-SVN: r133846
2008-04-02 23:21:01 +04:00
Uros Bizjak
7b1980026c
i386.md (*float<SSEMODEI24:mode><X87MODEF:mode>2_1): Emit gen_floatdi<X87MODEF:mode>2_i387_with_xmm for DImode values in 32bit mode...
...
* config/i386/i386.md (*float<SSEMODEI24:mode><X87MODEF:mode>2_1):
Emit gen_floatdi<X87MODEF:mode>2_i387_with_xmm for DImode values
in 32bit mode when XMM registers are available to avoid store
forwarding stalls.
(floatdi<X87MODEF:mode>2_i387_with_xmm): New insn pattern and
corresponding post-reload splitters.
From-SVN: r133845
2008-04-02 21:07:27 +02:00
Peter O'Gorman
ce52c73bed
re PR bootstrap/35216 (Out of memory building java)
...
PR bootstrap/35216
* scripts/makemake.tcl: Replace org/omg build with build of all its subpackages.
* sources.am: Regenerate.
* Makefile.in: Regenerate.
From-SVN: r133842
2008-04-02 17:36:41 +00:00
H.J. Lu
abe08645a0
i386.c (bdesc_sse_3arg): Add __builtin_ia32_shufps and __builtin_ia32_shufpd.
...
2008-04-02 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (bdesc_sse_3arg): Add __builtin_ia32_shufps
and __builtin_ia32_shufpd. Provide __builtin_ia32_roundsd and
__builtin_ia32_roundss.
(ix86_init_mmx_sse_builtins): Remove __builtin_ia32_shufps,
__builtin_ia32_shufpd, __builtin_ia32_roundsd and
__builtin_ia32_roundss.
(ix86_expand_builtin): Don't handle IX86_BUILTIN_SHUFPS and
IX86_BUILTIN_SHUFPD here.
From-SVN: r133838
2008-04-02 07:32:02 -07:00
H.J. Lu
94237c92ef
i386.md (plogic): New.
...
2008-04-02 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.md (plogic): New.
(plogicprefix): Likewise.
* config/i386/mmx.md (mmx_<code><mode>3): New.
(mmx_and<mode>3): Removed.
(mmx_ior<mode>3): Likewise.
(mmx_xor<mode>3): Likewise.
* config/i386/sse.md (<code><mode>3): New.
(*<code><mode>3): Likewise.
(*<code><mode>3): Likewise.
(<code><mode>3): Likewise.
(*sse_<code><mode>3): Likewise.
(*sse2_<code><mode>3): Likewise.
(<code>tf3): Likewise.
(*<code>tf3): Likewise.
(and<mode>3): Likewise.
(*and<mode>3): Likewise.
(ior<mode>3): Removed.
(*ior<mode>3): Likewise.
(xor<mode>3): Likewise.
(*xor<mode>3): Likewise.
(*and<mode>3): Likewise.
(*ior<mode>3): Likewise.
(*xor<mode>3): Likewise.
(and<mode>3): Likewise.
(*sse_and<mode>3): Likewise.
(*sse2_and<mode>3): Likewise.
(andtf3): Likewise.
(*andtf3): Likewise.
(ior<mode>3): Likewise.
(*sse_ior<mode>3): Likewise.
(*sse2_ior<mode>3): Likewise.
(iortf3): Likewise.
(*iortf3): Likewise.
(xor<mode>3): Likewise.
(*sse_xor<mode>3): Likewise.
(*sse2_xor<mode>3): Likewise.
(xortf3): Likewise.
(*xortf3): Likewise.
From-SVN: r133837
2008-04-02 06:53:38 -07:00
Richard Guenther
b7814a183c
re PR tree-optimization/14495 ([tree-ssa] Propagate range info into a switch statement)
...
2008-04-02 Richard Guenther <rguenther@suse.de>
PR tree-optimization/14495
PR tree-optimization/34793
* tree-vrp.c (struct switch_update): New structure.
(to_remove_edges, to_update_switch_stmts): New VECs.
(simplify_switch_using_ranges): New function. Remove not taken
case labels and edges.
(simplify_stmt_using_ranges): Call it.
(identify_jump_threads): Mark edges we have queued for removal
so we don't thread them.
(execute_vrp): Remove edges queued for removal, update SWITCH_STMT
case label vector.
* tree-cfg.c (group_case_labels): Deal with missing default label.
(tree_verify_flow_info): Allow missing default label.
* stmt.c (emit_case_bit_tests): Deal with NULL default_label.
(emit_case_nodes): Likewise.
(expand_case): Do not rely on the default label to be present.
* expr.c (try_casesi): Deal with NULL default_label.
(do_tablejump): Likewise.
* gcc.dg/tree-ssa/vrp41.c: New testcase.
* gcc.dg/tree-ssa/vrp42.c: Likewise.
From-SVN: r133835
2008-04-02 12:54:08 +00:00
Richard Guenther
8aea0bf081
re PR tree-optimization/14495 ([tree-ssa] Propagate range info into a switch statement)
...
2008-04-02 Richard Guenther <rguenther@suse.de>
PR tree-optimization/14495
* tree-vrp.c (vrp_visit_cond_stmt): Do not handle
SWITCH_EXPR here ...
(vrp_visit_switch_stmt): ... but here (new function).
(find_case_label_index): New helper function.
(vrp_visit_stmt): Dispatch to vrp_visit_switch_stmt.
* gcc.dg/tree-ssa/vrp40.c: New testcase.
From-SVN: r133834
2008-04-02 12:51:37 +00:00
Paolo Bonzini
3f1c227804
fwprop.c: Fix ISO-C99ism.
...
2008-04-02 Paolo Bonzini <bonzini@gnu.org>
* fwprop.c: Fix ISO-C99ism.
From-SVN: r133833
2008-04-02 12:16:54 +00:00
Paolo Bonzini
da0f638158
re PR bootstrap/35752 (Combined gcc + binutils source tree doesn't bootstrap with --enable-shared)
...
2008-04-02 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/35752
* Makefile.in (objdir): Set it here.
* configure.ac: Not here. Find dynamic linker characteristics.
* exec-tool.in: Use them.
* aclocal.m4: Regenerate.
* configure: Regenerate.
From-SVN: r133832
2008-04-02 10:07:58 +00:00
Eric Botcazou
bf1e48d172
decl.c (gnat_to_gnu_entity): For a constant object whose type has self-referential size...
...
* decl.c (gnat_to_gnu_entity) <object>: For a constant object whose
type has self-referential size, get the size from the initializing
expression directly if it is also a constant whose nominal type
has self-referential size.
From-SVN: r133831
2008-04-02 10:06:57 +00:00
Paolo Bonzini
4846b4355c
expr.c (expand_var): Delete it.
...
2008-04-02 Paolo Bonzini <bonzini@gnu.org>
* expr.c (expand_var): Delete it.
* expr.h (expand_var): Delete prototype.
* function.c (expand_function_start): Use expand_decl instead.
* cfgexpand.c (expand_one_static_var, expand_one_var): Don't call
langhook.
From-SVN: r133830
2008-04-02 10:01:43 +00:00
Andy Hutchinson
4fefbcdbe5
re PR rtl-optimization/35542 (fwprop only propagates one operand)
...
2008-04-02 Andy Hutchinson <hutchinsonamdy@aim.com>
PR rtl-optimization/35542
* fwprop.c (forward_propagate_and_simplify): Replace
loc_reg_mentioned_in_p with reg_mentioned_p.
From-SVN: r133829
2008-04-02 09:56:17 +00:00
Paolo Bonzini
460d667de9
fwprop.c (PR_CAN_APPEAR, [...]): New.
...
2008-04-02 Paolo Bonzini <bonzini@gnu.org>
* fwprop.c (PR_CAN_APPEAR, PR_HANDLE_MEM): New.
(propagate_rtx_1): Handle PR_HANDLE_MEM.
(propagate_rtx): Pass PR_HANDLE_MEM if appropriate.
(varying_mem_p): Move above propagate_rtx.
(all_uses_available_at): Do not check MEMs.
From-SVN: r133828
2008-04-02 09:53:34 +00:00
Rafael Avila de Espindola
a26a02d7a7
tree-vrp.c (extract_code_and_val_from_cond): Remove.
...
2008-04-02 Rafael Espindola <espindola@google.com>
* tree-vrp.c (extract_code_and_val_from_cond): Remove.
(register_edge_assert_for_2): Split the cond argument.
(register_edge_assert_for_1): Adjust for the change in
register_edge_assert_for_2.
(register_edge_assert_for): Split the cond argument.
(find_switch_asserts): Adjust for the change in
register_edge_assert_for.
From-SVN: r133827
2008-04-02 08:44:39 +00:00
Kai Tietz
d925aa70c1
MAINTAINERS (Write After Approval): Add myself.
...
2008-04-02 Kai Tietz <kai.tietz@onvision.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r133826
2008-04-02 10:29:10 +02:00