PR target/49862
* config/bfin/bfin.c (hwloop_optimize): Fix unused variable
warnings.
(hwloop_pattern_reg): Fix set but not used warning.
(bfin_reorg_loops): Remove unused parameter.
(bfin_reorg): Update use of bfin_reorg_loops.
From-SVN: r185125
2012-03-08 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (setup_incoming_varargs_64): Use word_mode
with integer parameters in registers.
(gen_push): Push register in word_mode instead of Pmode.
(ix86_emit_save_regs): Likewise.
(ix86_emit_save_regs_using_mov): Save integer registers in
word_mode.
(gen_pop): Pop register in word_mode instead of Pmode.
(ix86_emit_restore_regs_using_pop): Likewise.
(ix86_expand_prologue): Replace Pmode with word_mode for push
immediate. Use ix86_gen_pro_epilogue_adjust_stack. Save and
restore RAX and R10 in word_mode.
(ix86_emit_restore_regs_using_mov): Restore integer registers
in word_mode.
(ix86_expand_split_stack_prologue): Save R10_REG and restore in
word_mode.
(ix86_split_to_parts): Use word_mode with PUT_MODE for push.
(ix86_split_long_move): Likewise.
* config/i386/i386.md (W): New.
(*push<mode>2_prologue): Replace :P with :W.
(*pop<mode>1): Likewise.
(*pop<mode>1_epilogue): Likewise.
(push/pop peephole2): Use word_mode scratch registers.
From-SVN: r185123
* go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
zero-sized variable.
(go_non_zero_struct): New global variable.
(Gcc_backend::non_zero_size_type): New function.
(Gcc_backend::global_variable): Don't build an assignment for a
zero-sized value.
* go-c.h (go_non_zero_struct): Declare.
* config-lang.in (gtfiles): Add go-c.h.
From-SVN: r185115
PR target/52496
* config/avr/avr.c (avr_mem_clobber): New static function.
(avr_expand_delay_cycles): Add memory clobber operand to
delay_cycles_1, delay_cycles_2, delay_cycles_3, delay_cycles_4.
* config/avr/avr.md (unspec): Add UNSPEC_MEMORY_BARRIER.
(enable_interrupt, disable_interrupt): New expander.
(nopv, sleep, wdr): New expanders.
(delay_cycles_1): Add memory clobber.
(delay_cycles_2): Add memory clobber.
(delay_cycles_3): Add memory clobber.
(delay_cycles_4): Add memory clobber.
(cli_sei): New insn from former "enable_interrupt",
"disable_interrupt" with memory clobber.
(*wdt): New insn from former "wdt" with memory clobber.
(*nopv): Similar, but for "nopv".
(*sleep): Similar, but for "sleep".
From-SVN: r185100
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not set flags on the
DECL node built for a type which has a non-trivial equivalent type.
From-SVN: r185076
* config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate
REG_CFA_* notes for the stack pointer.
(tilegx_expand_epilogue): Restore stack pointer by adjusting it by
EH_RETURN_STACKADJ_RTX.
* config/tilepro/tilepro.c (tilepro_expand_prologue): Don't
generate REG_CFA_* notes for the stack pointer.
(tilepro_expand_epilogue): Restore stack pointer by adjusting it
by EH_RETURN_STACKADJ_RTX.
From-SVN: r185070
2012-03-07 Bob Duff <duff@adacore.com>
* rtsfind.ads: Add support for finding Super_String types.
* sem_util.ads, sem_util.adb (Is_Bounded_String): New function
to determine whether a given type is a bounded string type.
(Is_Fully_Initialized_Type): Return True for bounded
string types, to suppress bogus warnings.
* exp_ch4.adb (Expand_Composite_Equality): Special case for bounded
strings: equality composes. This allows us to remove default values in
super strings.
* a-strsup.ads, a-stwisu.ads, a-stzsup.ads: Update comments.
* exp_ch3.adb (Expand_Freeze_Record_Type): Comment.
From-SVN: r185066
2012-03-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Process_Formals): a generic subprogram with
a formal incomplete type does not require a freeze node.
2012-03-07 Bob Duff <duff@adacore.com>
* sem_util.ads: Minor reformatting.
2012-03-07 Geert Bosch <bosch@adacore.com>
* targparm.ads: New target parameter Atomic_Sync_Default,
defaulting to True.
* targparm.adb (Get_Target_Parameters): Add processing for
Atomic_Sync_Default.
* gnat1drv.adb (Adjust_Global_Switches): Adjust Supress_Options
based on ASD.
From-SVN: r185056
2012-03-07 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): If the object
declaration has an init expression then stop the analysis of the
object declaration if the expression which initializes the object
is a call to an inlined function which returns an unconstrained
and has been expanded into a procedure call.
* sem_ch5.adb (Has_Call_Using_Secondary_Stack): Add missing
support to handle selected components.
* sem_ch6.ads (Cannot_Inline): Adding parameter Is_Serious plus
documentation.
* sem_ch6.adb (Check_And_Build_Body_To_Inline): New
subprogram which implements the checks required by the
new rules for frontend inlining and builds the body to inline.
(Analyze_Subprogram_Body_Helper): Move code that
checks inlining of subprogram that has nested subprogram
to Check_And_Build_Body_To_Inline. Replace call to
Build_Body_To_Inline by call to the new subprogram
Check_And_Build_Body_To_Inline.
(Cannot_Inline): New implementation.
* sem_ch12.adb (Analyze_Package_Instantiation.Must_Inline_Subp):
New subprogram.
* sem_util.ad[sb] (Must_Inline): New subprogram.
(Returns_Unconstrained_Type): New subprogram.
* sem_res.adb (Resolve_Call): Do not create a transient scope
for inlined calls.
* inline.ads (Analyzing_Inlined_Bodies): Remove unreferenced variable.
* inline.adb (Analyze_Inlined_Bodies, Initialize): Remove setting
to false the variable Analyzing_Inlined_Bodies. Fix comments.
* exp_ch4.adb (Expand_N_Allocator): Fix handling of finalization master.
* exp_ch6.ads (List_Inlining_Info): New subprogram.
* exp_ch6.adb (Expand_Call.Do_Inline): New subprogram.
(Expand_Call.Do_Inline_Always): New subprogram.
(In_Unfrozen_Instance): Move the declaration of this subprogram.
(Expand_Inlined_Call.Reset_Dispatching_Calls): New subprogram.
(Expand_Inlined_Call): Adding new support for inlining functions
that return unconstrained types.
(List_Inlining_Info): New subprogram.
* debug.adb Document flags -gnatd.j and -gnatd.k
* gnat1drv.adb Add call to generate the new listing of inlined
calls and calls passed to the backend.
From-SVN: r185055
2012-03-07 Gary Dismukes <dismukes@adacore.com>
* exp_ch4.adb (Apply_Accessibility_Check): Call
Remove_Side_Effects in the build-in-place case, to ensure that
we capture the call and don't end up with two calls.
2012-03-07 Javier Miranda <miranda@adacore.com>
* exp_ch6.adb (Expand_Inlined_Call): Skip inlining of functions
that return unconstrained types using an extended return statement
since the support for inlining these functions has not been yet
added to the frontend.
* s-vaflop.adb, s-vaflop-vms-alpha.adb: Code reorganization.
* a-ngrear.ads: Replace all the Inline_Always pragmas by pragma
Inline.
* a-ngrear.adb (Eigenvalues, Transpose): Restructured to use
extended return statement.
* a-strsup.adb, a-stzsup.adb, a-stwisu.adb (Concat, Super_Slice,
Super_To_String): Restructured to use extended return statement.
* a-chahan.adb (To_Basic, To_Lower, To_Upper): Restructured to
use extended return statement.
* s-gearop.adb (Diagonal, Matrix_Elementwise_Operation,
Vector_Elementwise_Operation, Matrix_Elementwise_Operation,
Matrix_Matrix_Scalar_Elementwise_Operation,
Vector_Vector_Elementwise_Operation,
Vector_Vector_Scalar_Elementwise_Operation,
Matrix_Scalar_Elementwise_Operation,
Vector_Scalar_Elementwise_Operation,
Scalar_Matrix_Elementwise_Operation,
Scalar_Vector_Elementwise_Operation, Matrix_Matrix_Product,
Matrix_Vector_Product, Outer_Product, Unit_Matrix, Unit_Vector,
Vector_Matrix_Product): Restructured to use extended return
statement.
2012-03-07 Vincent Pucci <pucci@adacore.com>
* sem_ch5.adb (One_Bound): Minor reformatting.
2012-03-07 Tristan Gingold <gingold@adacore.com>
* s-osinte-vms-ia64.adb, s-osinte-vms-ia64.ads, s-osinte-vms.adb,
s-osinte-vms.ads, gcc-interface/Makefile.in: Merge s-osinte-vms and
s-osinte-vms-ia64.
From-SVN: r185051
2012-03-07 Ed Schonberg <schonberg@adacore.com>
* checks.adb (Apply_Predicate_Check): Do not generate a predicate
check is the context is an internally generated type-specific
function.
* sem_ch6.adb (Process_PPCs); the formals of internally generated
type-specific functions do not get assertion checks.
2012-03-07 Yannick Moy <moy@adacore.com>
* gnat_rm.texi: Minor renaming of title.
* gnat_ugn.texi: Minor correction.
2012-03-07 Vincent Pucci <pucci@adacore.com>
* exp_ch4.adb (Expand_N_Quantified_Expression): Minor
reformating.
* sem_ch4.adb (Analyze_Quantified_Expression): Creation and
analysis of the iteration scheme added in all cases.
* sem_ch5.adb (Analyze_Iteration_Scheme): Minor reformating.
(Analyze_Iterator_Specification): Minor reformating.
* sem_res.adb (Resolve_Quantified_Expression): Resolution of
the condition added in all cases.
From-SVN: r185050
2012-03-07 Thomas Quinot <quinot@adacore.com>
* einfo.adb, einfo.ads: Add flag Reverse_Storage_Order.
2012-03-07 Yannick Moy <moy@adacore.com>
* gnat_rm.texi, gnat_ugn.texi: Rewording of GNAT UG and GNAT RM to
account for Ada 2012 assertions, and their pragma counterparts in GNAT.
2012-03-07 Thomas Quinot <quinot@adacore.com>
* exp_attr.adb, sem_attr.adb: Minor reformatting.
2012-03-07 Bob Duff <duff@adacore.com>
* hostparm.ads (Max_Instantiations): Increase parameter.
2012-03-07 Bob Duff <duff@adacore.com>
* par-prag.adb: Minor code rearrangement.
2012-03-07 Bob Duff <duff@adacore.com>
* a-strsup.ads, a-stwisu.ads, a-stzsup.ads (Super_String):
Remove default initial value for Data. It is no longer needed
because "=" now composes properly for untagged records. This
default has caused efficiency problems.
2012-03-07 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Actuals): If the actual is a selected
component of an anonymous access type, whose prefix is a variable,
treat the variable as if it may be modified by the call, to
suppress spurious warnings that a variable might be declared as
a constant.
From-SVN: r185049
2012-03-07 Richard Guenther <rguenther@suse.de>
* coverage.c (get_gcov_type): Use type_for_mode.
(get_gcov_unsigned_t): Likewise.
* expr.c (store_constructor): Use type_for_mode.
(try_casesi): Likewise.
* tree-ssa-loop-ivopts.c (add_standard_iv_candidates_for_size):
Remove.
(add_standard_iv_candidates): Use standard type trees.
* dojump.c (do_jump): Remove dead code.
From-SVN: r185048
2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi (Inline Assembler): Fix swapping of Input and
Output operands throughout.
2012-03-07 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch12.adb (Earlier): When two nodes come from the same
generic instantiation, compare their locations. Otherwise always
use the top level locations of the nodes.
2012-03-07 Thomas Quinot <quinot@adacore.com>
* einfo.ads, sem_prag.adb: Minor reformatting.
From-SVN: r185044
PR rtl-optimization/52203
* sel-sched.c (estimate_insn_cost): New parameter pempty. Adjust
all callers to pass NULL except ...
(reset_sched_cycles_in_current_ebb): ... here, save the value
in new variable 'empty'. Increase issue_rate only for
non-empty insns.
From-SVN: r185036