1. 11 Apr, 2013 35 commits
    • run_all.sh: Remove special handling of -gnat95 switch. · 256f3847
      	* ada/acats/run_all.sh: Remove special handling of -gnat95 switch.
      	* ada/acats/ada95.lst: Remove special handling of -gnat95 switch.
      
      From-SVN: r197772
      Arnaud Charlet committed
    • [multiple changes] · 6c2e4047
      2013-04-11  Matthew Heaney  <heaney@adacore.com>
      
      	* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb ("="): Increment
      	lock counts before entering loop.
      	(Find): Ditto.
      	(Is_Sorted, Merge, Sort): Ditto.
      	(Reverse_Find): Ditto.
      	(Splice_Internal): Internal operation to refactor splicing logic.
      	(Splice): Some logic moved into Splice_Internal.
      
      2013-04-11  Johannes Kanig  <kanig@adacore.com>
      
      	* adabkend.adb (Scan_Compiler_Arguments): Do not call
      	Set_Output_Object_File_Name in Alfa_Mode
      	* gnat1drv.adb (Adjust_Global_Switches): Take Alfa_Mode into account.
      	* opt.ads: Fix documentation.
      
      From-SVN: r197771
      Arnaud Charlet committed
    • gcconfig.h (AARCH64): New macro (defined only if __aarch64__). · dff5c591
      2013-03-16  Yvan Roux <yvan.roux@linaro.org>
      
              * include/private/gcconfig.h (AARCH64): New macro (defined only if
      	__aarch64__).
      	* include/private/gcconfig.h (mach_type_known):
      	Update comment adding ARM AArch64 target.
      	* include/private/gcconfig.h (NOSYS, mach_type_known,CPP_WORDSZ,
      	MACH_TYPE, ALIGNMENT, HBLKSIZE, OS_TYPE, LINUX_STACKBOTTOM,
      	USE_GENERIC_PUSH_REGS, DYNAMIC_LOADING, DATASTART, DATAEND,
      	STACKBOTTOM): Define for AArch64.
      
      From-SVN: r197770
      Yvan Roux committed
    • re PR tree-optimization/56878 (Issue with candidate choice in vect_gen_niters_for_prolog_loop.) · 4ba5ea11
      2013-04-11  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/56878
      	* tree-flow.h (outermost_invariant_loop_for_expr): Declare.
      	* tree-ssa-loop-ivopts.c (outermost_invariant_loop_for_expr):
      	New function.
      	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
      	Prefer to align the DR with the most invariant base address.
      
      From-SVN: r197769
      Richard Biener committed
    • sem_res.adb: Minor code reorganization and comment fixes. · 983a3d80
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* sem_res.adb: Minor code reorganization and comment fixes.
      	* sem_type.adb: Minor reformatting.
      
      From-SVN: r197768
      Robert Dewar committed
    • [multiple changes] · 1486a00e
      2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch4.adb (Process_Transient_Object): Add new
      	local variable Fin_Call. Remove and explain ??? comment. Use the
      	Actions of logical operators "and then" and "or else" to insert
      	the generated finalization call.
      
      2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* gnat_rm.texi: Fix typo.
      
      2013-04-11  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb: Minor reformatting.
      
      From-SVN: r197767
      Arnaud Charlet committed
    • [multiple changes] · fc142f63
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* atree.h: Add declarations for Flag255-Flag289 Fix declaration
      	of Field30 (was wrong, but no effect, since not yet referenced by
      	back end) Add declarations for Field31-Field35 Add declarations
      	for Node31-Node35.
      	* einfo.ads, einfo.adb (Has_Invariants): No longer applies to
      	procedures.
      	(Has_Predicates): No longer applies to functions.
      	(Is_Predicate_Function): New flag.
      	(Is_Predicate_Function_M): New flag.
      	(Is_Invariant_Procedure): New flag.
      	(Predicate_Function_M): New function.
      	(Set_Predicate_Function_M): New procedure.
      	* exp_ch11.adb (Expand_N_Raise_Expression): Take care of special
      	case of appearing in predicate used for membership test.
      	* exp_ch3.adb (Insert_Component_Invariant_Checks): Set
      	Is_Invariant_Procedure flag.
      	* exp_ch4.adb (Expand_Op_In): Call special predicate function
      	that takes care of raise_expression nodes in the predicate.
      	* exp_util.ads, exp_util.adb (Make_Predicate_Call): Add argument Mem for
      	membership case.
      	* sem_ch13.adb (Build_Predicate_Functions): New name for
      	Build_Predicate_Function.  Major rewrite to take care of raise
      	expression in predicate for membership tests.
      	* sem_res.adb (Resolve_Actuals): Include both predicate functions
      	in defense against infinite predicate function loops.
      	* sinfo.ads, sinfo.adb (Convert_To_Return_False): New flag.
      
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* sem_prag.adb: Minor reformatting.
      
      2013-04-11  Ed Schonberg  <schonberg@adacore.com>
      
      	* lib-xref.adb: Generate reference for component of anonymous
      	access type.
      
      From-SVN: r197766
      Arnaud Charlet committed
    • [multiple changes] · 2602b64e
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* stand.ads: Minor reformatting.
      
      2013-04-11  Matthew Heaney  <heaney@adacore.com>
      
      	* a-convec.adb, a-coinve.adb, a-cobove.adb ("="): Increment lock
      	counts before entering loop.
      	(Find, Find_Index): Ditto.
      	(Is_Sorted, Merge, Sort): Ditto.
      	(Reverse_Find, Reverse_Find_Index): Ditto.
      
      From-SVN: r197765
      Arnaud Charlet committed
    • exp_ch11.ads, [...] (Expand_N_Raise_Expression): New procedure. · c8d63650
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch11.ads, exp_ch11.adb (Expand_N_Raise_Expression): New procedure.
      	* exp_util.adb (Insert_Actions): Add entry for N_Raise_Expression.
      	* expander.adb: Add call to Expand_N_Raise_Expression.
      	* par-ch11.adb (P_Raise_Expression): New procedure.
      	* par-ch4.adb (P_Relation): Handle Raise_Expression.
      	* par.adb (P_Raise_Expression): New procedure.
      	* sem.adb: Add handling for N_Raise_Expression.
      	* sem_ch11.ads, sem_ch11.adb (Analyze_Raise_Expression): New procedure.
      	* sem_res.adb (Resolve): Add handling for N_Raise_Expression.
      	* sinfo.ads, sinfo.adb (N_Raise_Expression): New node.
      	* sprint.adb (Sprint_Node_Actual): Add handling for N_Raise_Expression.
      	* stand.ads (Any_Type): Document use with N_Raise_Expression.
      
      From-SVN: r197764
      Robert Dewar committed
    • [multiple changes] · 845f06e2
      2013-04-11  Vincent Celier  <celier@adacore.com>
      
      	* gnat_ugn.texi: Remove section "The Development Environments"
      	now that all predefined attributes are documented, including
      	those in package IDE.
      
      2013-04-11  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb: Preserve parent link in copy of expression.
      
      From-SVN: r197763
      Arnaud Charlet committed
    • [multiple changes] · 761f7dcb
      2013-04-11  Vincent Celier  <celier@adacore.com>
      
      	* projects.texi: Complete rewrite of the subsection Attributes
      	in section "Project file Reference".
      
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch4.adb: Minor reformatting.
      
      From-SVN: r197762
      Arnaud Charlet committed
    • exp_ch4.adb (Expand_Concatenate): Remove wrapping in expression-with-actions node. · 68bab0fd
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch4.adb (Expand_Concatenate): Remove wrapping in
      	expression-with-actions node. No longer needed given fix to
      	sem_prag and caused loss of some useful warnings.
      	* sem.ads: Minor reformatting.
      	* sem_prag.adb (Check_Disabled): Removed, to be replaced by not
      	Check_Enabled. These two routines were curiously incompatible
      	causing confusion.
      	(Analyze_Pragma, case Check): Make sure we do
      	not expand the string argument if the check is disabled. Avoid
      	use of Check_Disabled, which resulted in missing analysis in
      	some cases.
      	* sem_prag.ads (Check_Disabled): Removed, to be replaced by not
      	Check_Enabled. These two routines were curiously incompatible
      	causing confusion.
      
      From-SVN: r197761
      Robert Dewar committed
    • [multiple changes] · 294f5d82
      2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch4.adb (Process_Transient_Object): Use
      	an unchecked conversion when associating a transient controlled
      	object with its "hook".
      
      2013-04-11  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma, case
      	Preelaborable_Initialization): The pragma is legal if it comes
      	from an aspect on the private view of the type, even though its
      	analysis point takes place later at the freeze point.
      
      From-SVN: r197760
      Arnaud Charlet committed
    • [multiple changes] · 533369aa
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch6.adb: Minor reformatting.
      
      2013-04-11  Yannick Moy  <moy@adacore.com>
      
      	* ali-util.adb (Read_Withed_ALIs): Do not consider it an error to
      	read ALI files with No_Object=True in Alfa mode.
      	* gnat1drv.adb: Set appropriately Back_End_Mode in Alfa mode, whether
      	this is during frame condition generation of translation to Why.
      
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch4.adb: Minor code reorganization
      	* types.ads: Minor reformatting.
      
      From-SVN: r197759
      Arnaud Charlet committed
    • [multiple changes] · 3a8e3f63
      2013-04-11  Johannes Kanig  <kanig@adacore.com>
      
      	* opt.ads New global boolean Frame_Condition_Mode to avoid
      	referring to command line switch.
      	* gnat1drv.adb (Gnat1drv) set frame condition mode when -gnatd.G
      	is present, and disable Code generation in that case. Disable
      	ALI file generation when switch is *not* present.
      
      2013-04-11  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Analyze_Expression_Function): Perform the
      	pre-analysis on a copy of the expression, to prevent downstream
      	visbility issues involving operators and instantiations.
      
      From-SVN: r197758
      Arnaud Charlet committed
    • debug.adb: Reservation and documentation for -gnatd.G switch. · 0213fb4e
      2013-04-11  Johannes Kanig  <kanig@adacore.com>
      
      	* debug.adb: Reservation and documentation for -gnatd.G switch.
      	* gnat1drv.adb (Adjust_Global_Switches) Take into account -gnatd.G
      	switch, and set ALI file generation accordingly.
      
      From-SVN: r197757
      Johannes Kanig committed
    • exp_ch4.adb, [...]: Minor reformatting. · 0088ba92
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch4.adb, exp_dist.adb: Minor reformatting.
      	* gnat_rm.texi, gnat_ugn.texi: -020 Add documentation clarifying that
      	check names introduced with pragma Check_Name are suppressed by -gnatp.
      
      From-SVN: r197756
      Robert Dewar committed
    • gnat_ugn.texi, [...]: Move chapter "Tools Supporting Project Files" from… · b671e31b
      gnat_ugn.texi, [...]: Move chapter "Tools Supporting Project Files" from projects.texi to gnat_ugn.texi.
      
      2013-04-11  Vincent Celier  <celier@adacore.com>
      
      	* gnat_ugn.texi, projects.texi: Move chapter "Tools Supporting Project
      	Files" from projects.texi to gnat_ugn.texi.
      
      From-SVN: r197755
      Vincent Celier committed
    • * gcc-interface/Make-lang.in: Update dependencies. · ddd38fc1
      From-SVN: r197754
      Arnaud Charlet committed
    • [multiple changes] · 8b1011c0
      2013-04-11  Yannick Moy  <moy@adacore.com>
      
      	* gnat1drv.adb (Adjust_Global_Switches): Allow missing body in Alfa
      	mode.
      
      2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Allocator): Detect the
      	allocation of an anonymous controlled object where the type of
      	the context is named. Use the pool and finalization master of
      	the named access type to allocate the object.
      
      2013-04-11  Vincent Celier  <celier@adacore.com>
      
      	* gnat_ugn.texi: Remove most mentions of gprbuild.
      	* projects.texi: Remove all mentions of asociative array
      	attributes.
      
      From-SVN: r197753
      Arnaud Charlet committed
    • [multiple changes] · 5b75bf57
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* sem_prag.adb, sem_attr.adb, gnat1drv.adb, prj-makr.adb,
      	opt.ads, sem_ch13.adb: Minor reformatting.
      	* debug.adb: Minor comment fix (remove junk .I doc).
      
      2013-04-11  Thomas Quinot  <quinot@adacore.com>
      
      	* rtsfind.ads, exp_dist.adb, exp_dist.ads (Rtsfind.PCS_Version, case
      	PolyORB): Bump to 6.
      	(Exp_Dist.PolyORB_Support): Replace TC_Build with
      	Build_Complex_TC.
      
      From-SVN: r197752
      Arnaud Charlet committed
    • [multiple changes] · 303fbb20
      2013-04-11  Arnaud Charlet  <charlet@adacore.com>
      
      	* debug.adb, sem_prag.adb, par-ch2.adb, sem_attr.adb, gnat1drv.adb,
      	exp_disp.adb, opt.ads, sem_ch13.adb (Relaxed_RM_Semantics): New flag.
      	Enable this flag in CodePeer mode, and also via -gnatd.M.
      	Replace some uses of CodePeer_Mode by Relaxed_RM_Semantics.
      
      2013-04-11  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Check_Constrained_Object): If a subtype is created
      	from the renamed object in an object renaming declaration with
      	an unconstrained nominal subtype, freeze the created subtype at
      	once, to prevent order of elaboration issues in the backend.
      
      2013-04-11  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_aggr.adb (Aggr_Size_OK): Refine setting of Max_Aggr_Size
      	in particular in CodePeer mode.
      
      2013-04-11  Vincent Celier  <celier@adacore.com>
      
      	* gnat_ugn.texi: Add documentation for backup copies of project
      	files for gnatname.
      
      From-SVN: r197751
      Arnaud Charlet committed
    • [multiple changes] · 165bdb4b
      2013-04-11  Tristan Gingold  <gingold@adacore.com>
      
      	* gnat_rm.texi: Add Detect_BLocking in the ravenscar profile
      	pragma list.
      
      2013-04-11  Vincent Celier  <celier@adacore.com>
      
      	* gnatname.adb (Scan_Args): Recognize new switch --no-backup
      	(Usage): Add line for --no-backup.
      	* opt.ads (No_Nackup): New Boolean variable, initialized to False.
      	* prj-makr.adb (Initialize): Create a backup for an existing
      	project file if gnatname is not invoked with --no-backup.
      
      From-SVN: r197750
      Arnaud Charlet committed
    • [multiple changes] · 81f6cd56
      2013-04-11  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch4.adb: Minor code improvement: replace various calls to
      	Make_If_Statement in expansion with Make_Implicit_If_Statement.
      
      2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* ali.adb: Fix minor typo.
      
      From-SVN: r197749
      Arnaud Charlet committed
    • [multiple changes] · 28270211
      2013-04-11  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch4.adb (Find_Enclosing_Context): Add missing case of
      	N_Procedure_Call_Statement.
      
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* debug.adb: Minor comment fix.
      
      From-SVN: r197748
      Arnaud Charlet committed
    • [multiple changes] · 6b670dcf
      2013-04-11  Johannes Kanig  <kanig@adacore.com>
      
      	* debug.adb: Remove comment for -gnatd.G.
      
      2013-04-11  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch4.adb (Expand_Record_Equality.Suitable_Element):
      	Remove recursive routine, replace with...
      	(Expand_Record_Equality.Element_To_Compare): New subroutine,
      	implement iterative search for next element to compare.
      	Add explanatory comment in the tagged case.
      
      From-SVN: r197747
      Arnaud Charlet committed
    • sem_ch5.adb: remove spurious warning from non-empty loop. · ac7d724d
      2013-04-11  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb: remove spurious warning from non-empty loop.
      	* sem_ch8.adb (Enclosing_Instance): Make public to other routines
      	in the package, in order to suppress redundant semantic checks
      	on subprogram renamings in nested instantiations.
      
      From-SVN: r197746
      Ed Schonberg committed
    • [multiple changes] · 8fde064e
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* errout.ads: Minor reformatting.
      	* sem_eval.adb (Why_Not_Static): Now issues continuation messages
      	(Why_Not_Static): Test for aggregates behind string literals.
      	* sem_eval.ads (Why_Not_Static): Now issues continuation messages.
      
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch4.adb (Expand_Concatenation): Wrap expansion in
      	Expressions_With_Actions.
      
      2013-04-11  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Base_Types_Match): For an actual type in an
      	instance, the base type may itself be a subtype, so find true
      	base type to determine compatibility.
      
      From-SVN: r197745
      Arnaud Charlet committed
    • [multiple changes] · 354c3840
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* s-osprim-mingw.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb.
      	makeutl.adb, sem_ch8.adb: Minor reformatting.
      
      2013-04-11  Vincent Celier  <celier@adacore.com>
      
      	* gnat_ugn.texi: Minor fixes for VMS.
      	* ug_words: Minor addition: -gnato? => /OVERFLOW_CHECKS=?.
      
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* usage.adb (Usage): Minor edit to -gnatW message
      
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* exp_aggr.adb (Expand_N_Aggregate): Add circuit for handling
      	others for string literal case. Also add big ??? comment about
      	this new code, which should be redundant, but is not.
      	* sem_eval.adb (Eval_Concatenation): Handle non-static case
      	properly (Eval_String_Literal): Handle non-static literal properly
      
      From-SVN: r197744
      Arnaud Charlet committed
    • opts.c (common_handle_option): Fix formatting and add FALLTHRU comment. · f0defe58
      	* opts.c (common_handle_option): Fix formatting and add FALLTHRU
      	comment.
      
      From-SVN: r197743
      Senthil Kumar Selvaraj committed
    • re PR c++/54216 (Missing diagnostic for ill-formed anonymous enum declarations) · f06a1142
      /cp
      2013-04-11  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/54216
      	* parser.c (cp_parser_enum_specifier): Check for empty
      	anonymous enums and anonymous scoped enums.
      
      /testsuite
      2013-04-11  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/54216
      	* g++.dg/cpp0x/enum26.C: New.
      	* g++.old-deja/g++.pt/mangle1.C: Adjust.
      
      From-SVN: r197742
      Paolo Carlini committed
    • [PATCH, AARCH64] Fix unrecognizable insn issue with vcond against 0.0f · d07458be
      gcc/
      	* config/aarch64/aarch64-simd.md (aarch64_vcond_internal): Fix
      	floating-point vector comparisons against 0.
      
      gcc/testsuite/
         	* gcc.target/aarch64/vect-fcm.x: Add check for zero forms of
      	inverse operands.
      	* gcc.target/aarch64/vect-fcm-eq-d.c: Check that new zero form
      	loop is vectorized.
         	* gcc.target/aarch64/vect-fcm-eq-f.c: Likewise.
         	* gcc.target/aarch64/vect-fcm-ge-d.c: Check that new zero form
      	loop is vectorized and that the correct instruction is generated.
         	* gcc.target/aarch64/vect-fcm-ge-f.c: Likewise.
         	* gcc.target/aarch64/vect-fcm-gt-d.c: Likewise.
         	* gcc.target/aarch64/vect-fcm-gt-f.c: Likewise.
      
      From-SVN: r197741
      James Greenhalgh committed
    • re PR tree-optimization/56899 (Wrong constant folding) · 146b8692
      	PR tree-optimization/56899
      	* fold-const.c (extract_muldiv_1): Apply distributive law
      	only if TYPE_OVERFLOW_WRAPS (ctype).
      
      	* gcc.c-torture/execute/pr56899.c: New test.
      
      From-SVN: r197692
      Jakub Jelinek committed
    • re PR rtl-optimization/56124 (Redundant reload for loading from memory) · b8578ff7
      	PR target/56124
      	* ira-costs.c (scan_one_insn): Check whether the source rtx of
      	loading has side effect.
      
      From-SVN: r197691
      Bin Cheng committed
    • Daily bump. · b0c4c179
      From-SVN: r197687
      GCC Administrator committed
  2. 10 Apr, 2013 5 commits
    • Replace enum gfc_try with bool type. · 524af0d6
      2013-04-11  Janne Blomqvist  <jb@gcc.gnu.org>
      
              * gfortran.h: Remove enum gfc_try, replace gfc_try with bool type.
              * arith.c: Replace gfc_try with bool type.
              * array.c: Likewise.
              * check.c: Likewise.
              * class.c: Likewise.
              * cpp.c: Likewise.
              * cpp.h: Likewise.
              * data.c: Likewise.
              * data.h: Likewise.
              * decl.c: Likewise.
              * error.c: Likewise.
              * expr.c: Likewise.
              * f95-lang.c: Likewise.
              * interface.c: Likewise.
              * intrinsic.c: Likewise.
              * intrinsic.h: Likewise.
              * io.c: Likewise.
              * match.c: Likewise.
              * match.h: Likewise.
              * module.c: Likewise.
              * openmp.c: Likewise.
              * parse.c: Likewise.
              * parse.h: Likewise.
              * primary.c: Likewise.
              * resolve.c: Likewise.
              * scanner.c: Likewise.
              * simplify.c: Likewise.
              * symbol.c: Likewise.
              * trans-intrinsic.c: Likewise.
              * trans-openmp.c: Likewise.
              * trans-stmt.c: Likewise.
              * trans-types.c: Likewise.
      
      From-SVN: r197682
      Janne Blomqvist committed
    • sparc.c: Include tree-pass.h. · 0ea8a6f9
      
      	* config/sparc/sparc.c: Include tree-pass.h.
      	(TARGET_MACHINE_DEPENDENT_REORG): Do not redefine.
      	(sparc_reorg): Rename to sparc_do_work_around_errata.  Move to
      	head of file.  Change return type.  Split off gate function.
      	(sparc_gate_work_around_errata): New function.
      	(pass_work_around_errata): New pass definition.
      	(insert_pass_work_around_errata) New pass insert definition to
      	insert pass_work_around_errata just after delayed-branch scheduling.
      	(sparc_option_override): Insert the pass.
      	* config/sparc/t-sparc (sparc.o): Add TREE_PASS_H dependence.
      
      From-SVN: r197681
      Steven Bosscher committed
    • Fix sparc assembler specs for supersparc and hypersparc. · 89deeb3b
      gcc/
      
      	* config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
      	or -mcpu=hypersparc.
      
      From-SVN: r197680
      David S. Miller committed
    • Improve cstore code generation on 64-bit sparc. · 42e37616
      One major suboptimal area of the sparc back end is cstore generation
      on 64-bit.
      
      Due to the way arguments and return values of functions must be
      promoted, the ideal mode for cstore's result would be DImode.
      
      But this hasn't been done because of a fundamental limitation
      of the cstore patterns.  They require a fixed mode be used for
      the boolean result value.
      
      I've decided to work around this by building a target hook which
      specifies the type to use for conditional store results, and then I
      use a special predicate for operans 0 in the cstore expanders so
      that they still match even when we use DImode.
      
      The default version of the target hook just does what it does now,
      so no other target should be impacted by this at all.
      
      Regstrapped on 32-bit sparc-linux-gnu and I've run the testsuite
      with "-m64" to validate the 64-bit side.
      
      gcc/
      
      	* target.def (cstore_mode): New hook.
      	* target.h: Include insn-codes.h
      	* targhooks.c: Likewise.
      	(default_cstore_mode): New function.
      	* targhooks.h: Declare it.
      	* doc/tm.texi.in: New hook slot for TARGET_CSTORE_MODE.
      	* doc/tm.texi: Rebuild.
      	* expmed.c (emit_cstore): Obtain cstore boolean result mode using
      	target hook, rather than inspecting the insn_data.
      	* config/sparc/sparc.c (sparc_cstore_mode): New function.
      	(TARGET_CSTORE_MODE): Redefine.
      	(emit_scc_insn): When TARGET_ARCH64, emit new 64-bit boolean
      	result patterns.
      	* config/sparc/predicates.md (cstore_result_operand): New special
      	predicate.
      	* config/sparc/sparc.md (cstoresi4, cstoredi4, cstore<F:mode>4):
      	Use it for operand 0.
      	(*seqsi_special): Rewrite using 'P' mode iterator on operand 0.
      	(*snesi_special): Likewise.
      	(*snesi_zero): Likewise.
      	(*seqsi_zero): Likewise.
      	(*sltu_insn): Likewise.
      	(*sgeu_insn): Likewise.
      	(*seqdi_special): Make operand 0 and comparison operation be of
      	DImode.
      	(*snedi_special): Likewise.
      	(*snedi_special_vis3): Likewise.
      	(*neg_snesi_zero): Rename to *neg_snesisi_zero.
      	(*neg_snesi_sign_extend): Rename to *neg_snesidi_zero.
      	(*snesi_zero_extend): Delete, covered by 'P' mode iterator.
      	(*neg_seqsi_zero): Rename to *neg_seqsisi_zero.
      	(*neg_seqsi_sign_extend): Rename to *neg_seqsidi_zero.
      	(*seqsi_zero_extend): Delete, covered by 'P' mode iterator.
      	(*sltu_extend_sp64): Likewise.
      	(*neg_sltu_insn): Rename to *neg_sltusi_insn.
      	(*neg_sltu_extend_sp64): Rename to *neg_sltudi_insn.
      	(*sgeu_extend_sp64): Delete, covered by 'P' mode iterator.
      	(*neg_sgeu_insn): Rename to *neg_sgeusi_insn.
      	(*neg_sgeu_extend_sp64): Rename to *neg_sgeudi_insn.
      
      gcc/testsuite/
      
      	* gcc.target/sparc/setcc-4.c: New test.
      	* gcc.target/sparc/setcc-5.c: New test.
      
      From-SVN: r197679
      David S. Miller committed
    • aarch64.c (aarch64_print_extension): New function. · 95ca411e
      	* config/aarch64/aarch64.c (aarch64_print_extension): New function.
      	(aarch64_start_file): Use the new function.
      
      From-SVN: r197677
      Yufeng Zhang committed