1. 13 Dec, 2013 9 commits
  2. 12 Dec, 2013 23 commits
  3. 11 Dec, 2013 8 commits
    • compiler: Minor fixes for recover thunks. · de04d95e
      Avoid name collisions when a method calls recover.
      
      Don't crash if a method with an unnamed receiver calls
      recover.
      
      From-SVN: r205906
      Ian Lance Taylor committed
    • re PR rtl-optimization/59446 (loop2_doloop creates constant comparison and dead jump) · 6d4fbcc9
      	PR rtl-optimization/59446
      	* tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
      	test for crossing a loop header.
      
      From-SVN: r205905
      Jeff Law committed
    • re PR target/59390 (presence of __attribute__((target("fma"))) declaration breaks __builtin_fma) · 26084432
      2013-12-11  Sriraman Tallam  <tmsriram@google.com>
      
      	PR target/59390
      	* config/i386/i386.c (get_builtin): New function.
      	(ix86_builtin_vectorized_function): Replace all instances of
      	ix86_builtins[...] with get_builtin(...).
      	(ix86_builtin_reciprocal): Ditto.
      
      	PR target/59390
      	* gcc.target/i386/pr59390.c: New test.
      	* gcc.target/i386/pr59390_1.c: New test.
      	* gcc.target/i386/pr59390_2.c: New test.
      
      Tested boot-strap on all languages and test parity on x86_64 and with -m32.
      
      From-SVN: r205904
      Sriraman Tallam committed
    • fpu-387.h (sigill_hdlr, [...]): Emit · 711df88d
      2013-12-11  Tobias Burnus  <burnus@net-b.de>
      
              * config/fpu-387.h (sigill_hdlr, get_fpu_rounding_mode): Emit
              * SSE
              instructions when __SSE_MATH__ is defined.
      
      From-SVN: r205903
      Tobias Burnus committed
    • Added Compiler Support for _Cilk_spawn and _Cilk_sync for C++. · 12893402
      gcc/c-family/ChangeLog
      2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
              * cilk.c (cilk_outline): Made this function non-static.
      	(gimplify_cilk_spawn): Removed pre_p and post_p arguments.
      	(create_cilk_wrapper): Added a new parameter: a function pointer.
      	(c_install_body_w_frame_cleanup): Remove
      	(extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
              * c-common.h (cilk_outline): New prototype.
      	(gimplify_cilk_spawn): Removed two parameters.
              (cilk_install_body_with_frame_cleanup): New prototype.
      	* c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
      	CILK_SPAWN_STMT case.
      
      gcc/c/ChangeLog
      2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      	
      	* c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
      	(LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
      	(LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
      	* c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
      
      gcc/ChangeLog
      2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
              * langhooks.h (lang_hooks_for_decls): Remove lang_hooks_for_cilkplus.
      	(lang_hooks_for_cilkplus): Remove.
      	* langhooks.c (lhd_cilk_detect_spawn): Likewise.
      	(lhd_install_body_with_frame_cleanup): Likewise.
      	* langhooks-def.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
      	(LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
      	(LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
      	(LANG_HOOKS_CILKPLUS): Likewise.
      	(LANG_HOOKS_DECLS): Remove LANG_HOOKS_CILKPLUS.
      	* gimplify.c (gimplify_expr): Removed CILK_SPAWN_STMT case.
      	(gimplify_modify_expr): Removed handling of _Cilk_spawn in expr.
      	(gimplify_call_expr): Likewise.
       
      gcc/cp/ChangeLog
      2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
              * cp-tree.h (cilk_valid_spawn): New prototype.
              (gimplify_cilk_spawn): Likewise.
              (create_try_catch_expr): Likewise.
              * decl.c (finish_function): Insert Cilk function-calls when a
              _Cilk_spawn is used in a function.
              * parser.c (cp_parser_postfix_expression): Added RID_CILK_SPAWN and
              RID_CILK_SYNC cases.
              * cp-cilkplus.c (set_cilk_except_flag): New function.
              (set_cilk_except_data): Likewise.
              (cilk_install_body_with_frame_cleanup): Likewise.
              * except.c (create_try_catch_expr): Likewise.
              * parser.h (IN_CILK_SPAWN): New #define.
              * pt.c (tsubst_expr): Added CILK_SPAWN_STMT and CILK_SYNC_STMT cases.
              * semantics.c (potential_constant_expression_1): Likewise.
              * typeck.c (cp_build_compound_expr): Reject a spawned function in a
              compound expression.
              (check_return_expr): Reject a spawned function in a return expression.
      	* cp-gimplify.c (cp_gimplify_expr): Added a CILK_SPAWN_STMT and
      	CALL_EXPR case.  Added handling of spawned function in MODIFY_EXPR
      	and INIT_EXPR.
      
      gcc/testsuite/ChangeLog
      2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
              * g++.dg/cilk-plus/CK/catch_exc.cc: New test case.
              * g++.dg/cilk-plus/CK/const_spawn.cc: Likewise.
              * g++.dg/cilk-plus/CK/fib-opr-overload.cc: Likewise.
              * g++.dg/cilk-plus/CK/fib-tplt.cc: Likewise.
              * g++.dg/cilk-plus/CK/lambda_spawns.cc: Likewise.
              * g++.dg/cilk-plus/CK/lambda_spawns_tplt.cc: Likewise.
              * g++.dg/cilk-plus/cilk-plus.exp: Added support to run Cilk Keywords
              test stored in c-c++-common.  Also, added the Cilk runtime's library
              to the ld_library_path.
      
      From-SVN: r205902
      Balaji V. Iyer committed
    • expr.c (expand_assignment): Remove dependency on flag_strict_volatile_bitfields. · 996947e6
      2013-12-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * expr.c (expand_assignment): Remove dependency on
              flag_strict_volatile_bitfields. Always set the memory
              access mode.
              (expand_expr_real_1): Likewise.
      
      From-SVN: r205899
      Bernd Edlinger committed
    • re PR middle-end/59134 (infinite loop between store_fixed_bit_field and… · ebb99f96
      re PR middle-end/59134 (infinite loop between store_fixed_bit_field and store_split_bit_field with STRICT_ALIGNMENT)
      
      2013-12-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR middle-end/59134
              * expmed.c (store_bit_field): Use narrow_bit_field_mem and
              store_fixed_bit_field_1 for -fstrict-volatile-bitfields.
              (store_fixed_bit_field): Split up.  Call store_fixed_bit_field_1
              to do the real work.
              (store_fixed_bit_field_1): New function.
              (store_split_bit_field): Limit the unit size to the memory mode size,
              to prevent recursion.
              
      testsuite:
              * gcc.c-torture/compile/pr59134.c: New test.
              * gnat.dg/misaligned_volatile.adb: New test.
      
      From-SVN: r205898
      Bernd Edlinger committed