- 06 Nov, 2012 25 commits
-
-
2012-11-06 Tristan Gingold <gingold@adacore.com> * fe.h (Get_Vax_Real_Literal_As_Signed): Declare. * eval_fat.adb, eval_fat.ads (Decompose_Int): Move spec in package spec. * exp_vfpt.adb, exp_vfpt.ads (Vax_Real_Literal_As_Signed): New function. (Expand_Vax_Real_Literal): Remove. * exp_ch2.adb (Expand_N_Real_Literal): Do nothing. * sem_eval.adb (Expr_Value_R): Remove special Vax float case, as this is not anymore a special case. 2012-11-06 Yannick Moy <moy@adacore.com> * uintp.ads: Minor correction of typo in comment. 2012-11-06 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Analyze_Pragnma, case Unchecked_Union): remove requirement that discriminants of an unchecked_union must have defaults. 2012-11-06 Vasiliy Fofanov <fofanov@adacore.com> * projects.texi: Minor wordsmithing. From-SVN: r193224
Arnaud Charlet committed -
2012-11-06 Robert Dewar <dewar@adacore.com> * sem_ch9.adb, exp_vfpt.adb, xoscons.adb: Minor reformatting. From-SVN: r193223
Robert Dewar committed -
2012-11-06 Tristan Gingold <gingold@adacore.com> * exp_vfpt.adb: Document VAX float point layout. 2012-11-06 Geert Bosch <bosch@adacore.com> * eval_fat.adb (Machine): Don't return -0.0 on targets without signed zeros. 2012-11-06 Ed Schonberg <schonberg@adacore.com> * sem_ch9.adb (Analyze_Entry_Call_Alternative, Check_Triggering_Statement): Reject properly an indirect call. From-SVN: r193222
Arnaud Charlet committed -
2012-11-06 Pascal Obry <obry@adacore.com> * xoscons.adb, xutil.adb, xutil.ads: Add support for post-processing. From-SVN: r193221
Pascal Obry committed -
2012-11-06 Yannick Moy <moy@adacore.com> * s-bignum.adb (Div_Rem): Fix another bug in step D3. 2012-11-06 Tristan Gingold <gingold@adacore.com> * s-tarest.adb (Create_Restricted_Task): Call Create_Restricted_Task_Sequential in sequential case. 2012-11-06 Hristian Kirtchev <kirtchev@adacore.com> * exp_prag.adb (Expand_Pragma_Loop_Assertion): Do not rewrite the pragma into a null statement as its presence is desirable in -gnatG output. From-SVN: r193219
Arnaud Charlet committed -
2012-11-06 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Check_Constrained_Object): Do nothing if the renamed object is a limited record. 2012-11-06 Bernard Banner <banner@adacore.com> * sysdep.c (_getpagesize): New. Minor reformatting. From-SVN: r193218
Arnaud Charlet committed -
2012-11-06 Robert Dewar <dewar@adacore.com> * sem_prag.adb: Minor reformatting. 2012-11-06 Robert Dewar <dewar@adacore.com> * s-bignum.adb (Div_Rem): Fix bug in step D3. * uintp.adb (UI_Div_Rem): Add comment on bug in step D3. From-SVN: r193217
Robert Dewar committed -
2012-11-06 Hristian Kirtchev <kirtchev@adacore.com> * exp_prag.adb (Expand_Pragma_Loop_Assertion): Update the comment on intended expansion. Reimplement the logic which expands the termination variants. (Process_Increase_Decrease): Update the parameter profile and the comment related to it. Accommodate the new aggregate-like appearance of the termination variants. * sem_prag.adb (Analyze_Pragma): Update the syntax of pragma Loop_Assertion. Reimplement the semantic analysis of the pragma to accommodate the new aggregate-like variant. (Check_Variant): New routine. * snames.ads-tmpl: Change names Name_Decreases and Name_Increases to Name_Decreasing and Name_Increasing respectively. Add name Variant. 2012-11-06 Ed Schonberg <schonberg@adacore.com> * sem_eval.adb: Static evaluation of case expressions. From-SVN: r193216
Arnaud Charlet committed -
2012-11-06 Robert Dewar <dewar@adacore.com> * exp_prag.adb, impunit.adb, exp_ch9.adb, par-ch4.adb, s-tarest.adb: Minor reformatting. 2012-11-06 Tristan Gingold <gingold@adacore.com> * s-tposen.ads: Minor comment update. 2012-11-06 Arnaud Charlet <charlet@adacore.com> * sysdep.c: Rename sig* wrappers to use unique names. 2012-11-06 Yannick Moy <moy@adacore.com> * exp_dbug.adb (Qualify_Entity_Name): Mark entity as having a qualified name after being treated, in formal verification mode. 2012-11-06 Fedor Rybin <frybin@adacore.com> * gnat_ugn.texi: Updating gnattest section to reflect changes in default behaviour of the tool. From-SVN: r193215
Arnaud Charlet committed -
2012-11-06 Thomas Quinot <quinot@adacore.com> * s-oscons-tmplt.c: Interfaces.C now needs to be WITH'd even on platforms that do not support sockets (for the benefit of subtype IOCTL_Req_T). 2012-11-06 Ed Schonberg <schonberg@adacore.com> * par-ch4.adb (P_Primary): if-expressions, case-expressions, and quantified expressions are legal if surrounded by parentheses from an enclosing context, such as a call or an instantiation. 2012-11-06 Yannick Moy <moy@adacore.com> * impunit.adb (Get_Kind_Of_Unit): Return appropriate kind for predefined implementation files, instead of returning Not_Predefined_Unit on all .adb files. 2012-11-06 Tristan Gingold <gingold@adacore.com> * exp_ch9.adb (Build_Activation_Chain_Entity): Return immediately if partition elaboration policy is sequential. (Build_Task_Activation_Call): Likewise. Use Activate_Restricted_Tasks on restricted profile. (Make_Task_Create_Call): Do not use the _Chain parameter if elaboration policy is sequential. Call Create_Restricted_Task_Sequential in that case. * exp_ch3.adb (Build_Initialization_Call): Change condition to support concurrent elaboration policy. (Build_Record_Init_Proc): Likewise. (Init_Formals): Likewise. * bindgen.adb (Gen_Adainit): Declare Partition_Elaboration_Policy and set it in generated code if the elaboration policy is sequential. The procedure called to activate all tasks is now named __gnat_activate_all_tasks. * rtsfind.adb (RE_Activate_Restricted_Task, RE_Create_Restricted_Task_Sequential): New RE_Id literals. * s-tarest.adb (Create_Restricted_Task): Added to create a task without adding it on an activation chain. (Activate_Tasks): Has now a Chain parameter. (Activate_All_Tasks_Sequential): Added. Called by the binder to activate all tasks. (Activate_Restricted_Tasks): Added. Called during elaboration to activate tasks of the units. * s-tarest.ads: Remove pragma Partition_Elaboration_Policy. (Partition_Elaboration_Policy): New variable (set by the binder). (Create_Restricted_Task): Revert removal of the chain parameter. (Create_Restricted_Task_Sequential): New procedure. (Activate_Restricted_Tasks): Revert removal. (Activate_All_Tasks_Sequential): New procedure. From-SVN: r193214
Arnaud Charlet committed -
* adaint.c Add file macro definitions missing on Android. * adaint.h Avoid definitions related to task affinity and CPU sets since this functionality is missing on the Android * errno.c (__set_errno): Android already contains such a named procedure so do include again. * gsocket.h: Sockets not supported on Android. * init.c: Avoid linux related code not supported on Android. * sysdep.c (sigismember, sigaddset, sigdelset, sigemptyset, sigfillset): wrapper functions since sig routines are defined as inline macros on Android. * terminals.c: Add stubs for terminal related functions not supported on Android. From-SVN: r193213
Bernard Banner committed -
sem_prag.adb (Analyze_Pragma): Do not output the characters of an illegal argument as it may not have... 2012-11-06 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Pragma): Do not output the characters of an illegal argument as it may not have characters to begin with. 2012-11-06 Hristian Kirtchev <kirtchev@adacore.com> * exp_prag.adb (Expand_Pragma_Loop_Assertion): Change the order of argument processing to avoid disappearing increase / decrease expressions. From-SVN: r193212
Hristian Kirtchev committed -
2012-11-06 Hristian Kirtchev <kirtchev@adacore.com> * exp_prag.adb: Add with and use clause for Sem_Ch8. (Expand_N_Pragma): Add a new variant to expand pragma Loop_Assertion. (Expand_Pragma_Loop_Assertion): New routine. * par-prag.adb (Prag): The semantic analysis of pragma Loop_Assertion is carried out by Analyze_Pragma. No need for checks in the parser. * sem_prag.adb: Add a reference position value for pragma Loop_Assertion in Sig_Flags. (Analyze_Pragma): Add semantic analysis for pragma Loop_Assertion. * snames.ads-tmpl: Add the following new names: Name_Decreases Name_Increases Name_Loop_Assertion. Add new pragma id Pragma_Loop_Assertion. 2012-11-06 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb: Identifier in iterator must have debug information. From-SVN: r193211
Arnaud Charlet committed -
PR target/41993 * mode-switching.c (create_pre_exit): Set return_copy to last_insn when copy_start is a pseudo reg. Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org> From-SVN: r193210
Uros Bizjak committed -
libada/ * Makefile.in (osconstool): Fix target. ada/ * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Remove duplicate rules handled by Make-generated.in. From-SVN: r193209
Arnaud Charlet committed -
* config/i386/i386.c (bdesc_args): Rename CODE_FOR_avx2_umulhrswv16hi3 to CODE_FOR_avx2_pmulhrswv16hi3. * config/i386/predicates.md (const1_operand): Extend for vectors. * config/i386/sse.md (ssse3_avx2): Extend. (ssedoublemode): Ditto. (<sse2_avx2>_uavg<mode>3): Merge avx2_uavgv32qi3, sse2_uavgv16qi3, avx2_uavgv16hi3 and sse2_uavgv8hi3 into one. (*<sse2_avx2>_uavg<mode>3): Merge *avx2_uavgv32qi3, *sse2_uavgv16qi3, *avx2_uavgv16hi3 and *sse2_uavgv8hi3 into one. (PMULHRSW): New. (<ssse3_avx2>_pmulhrsw<mode>3): Merge avx2_umulhrswv16hi3, ssse3_pmulhrswv8hi3 and ssse3_pmulhrswv4hi3 into one. (*avx2_pmulhrswv16hi3): Replace const_vector with const1_operand predicate. (*ssse3_pmulhrswv8hi3): Ditto. (*ssse3_pmulhrswv4hi3): Ditto. From-SVN: r193208
Andrey Turetskiy committed -
From-SVN: r193207
Joern Rennecke committed -
From-SVN: r193206
Joern Rennecke committed -
* config/epiphany/epiphany.c (epiphany_address_cost): Use MODE parameter. From-SVN: r193205
Joern Rennecke committed -
======================== Sriraman Tallam, tmsriram@google.com Overview of the patch which adds support to specify function versions. This is only enabled for target i386. Example: int foo (); /* Default version */ int foo () __attribute__ ((target("avx,popcnt")));/*Specialized for avx and popcnt */ int foo () __attribute__ ((target("arch=core2,ssse3")));/*Specialized for core2 and ssse3*/ int main () { int (*p)() = &foo; return foo () + (*p)(); } int foo () { return 0; } int __attribute__ ((target("avx,popcnt"))) foo () { return 0; } int __attribute__ ((target("arch=core2,ssse3"))) foo () { return 0; } The above example has foo defined 3 times, but all 3 definitions of foo are different versions of the same function. The call to foo in main, directly and via a pointer, are calls to the multi-versioned function foo which is dispatched to the right foo at run-time. Front-end changes: The front-end changes are calls at appropriate places to target hooks that determine the following: * Determine if two function decls with the same signature are versions. * Determine the assembler name of a function version. * Generate the dispatcher function for a set of function versions. * Compare versions to see if one has a higher priority over the other. All the implementation happens in the target-specific config/i386/i386.c. What does the patch do? * Tracking decls that correspond to function versions of function name, say "foo": When the front-end sees more than one decl for "foo", it calls a target hook to determine if they are versions. To prevent duplicate definition errors with other versions of "foo", "decls_match" function in cp/decl.c is made to return false when 2 decls have are deemed versions by the target. This will make all function versions of "foo" to be added to the overload list of "foo". * Change the assembler names of the function versions. For i386, the target changes the assembler names of the function versions by suffixing the sorted list of args to "target" to the function name of "foo". For example, the assembler name of "void foo () __attribute__ ((target ("sse4")))" will become _Z3foov.sse4. The target hook mangle_decl_assembler_name is used for this. * Overload resolution: Function "build_over_call" in cp/call.c sees a call to function "foo", which is multi-versioned. The overload resolution happens in function "joust" in "cp/call.c". Here, the call to "foo" has all possible versions of "foo" as candidates. All the candidates of "foo" are stored in the cgraph side data structure. Each version of foo is chained in a doubly-linked list with the default function as the first element. This allows any pass to access all the semantically identical versions. A call to a multi-versioned function will be replaced by a call to a dispatcher function, determined by a target hook, to execute the right function version at run-time. Optimization to directly call a version when possible: Also, in joust, where overload resolution happens, a multiversioned function resolution is made to return the most specialized version. This is the version that will be checked for dispatching first and is determined by the target. Now, if the caller can inline this function version then a direct call is made to this function version rather than go through the dispatcher. When a direct call cannot be made, a call to the dispatcher function is created. * Creating the dispatcher body. The dispatcher body, called the resolver is made only when there is a call to a multiversioned function dispatcher or the address of a function is taken. This is generated during cgraph_analyze_function. This is done by another target hook. * Dispatch ordering. The order in which the function versions are checked during dispatch is based on a priority value assigned for the ISA that is catered. More specialized versions are checked for dispatching first. This is to mitigate the ambiguity that can arise when more than one function version is valid for execution on a particular platform. This is not a perfect solution, and in future the user should be allowed to assign a dispatching priority value to each version. Function MV in the Intel compiler: The intel compiler supports function multiversioning and the syntax is similar to the patch proposed here. Here is an example of how to generate multiple function versions with the intel compiler. /* Create a stub function to specify the various versions of function that will be created, using declspec attribute cpu_dispatch. */ __declspec (cpu_dispatch (core_i7_sse4_2, atom, generic)) void foo () {}; /* Bodies of each function version. */ /* Intel Corei7 processor + SSE4.2 version. */ __declspec (cpu_specific(core_i7_sse4_2)) void foo () { printf ("corei7 + sse4.2"); } /* Atom processor. */ __declspec (cpu_specific(atom)) void foo () { printf ("atom"); } /* The generic or the default version. */ __declspec (cpu_specific(generic)) void foo () { printf ("This is generic"); } A new function version is generated by defining a new function with the same signature but with a different cpu_specific declspec attribute string. The set of cpu_specific strings that are allowed is the following: "core_2nd_gen_avx" "core_aes_pclmulqdq" "core_i7_sse4_2" "core_2_duo_sse4_1" "core_2_duo_ssse3" "atom" "pentium_4_sse3" "pentium_4" "pentium_m" "pentium_iii" "generic" Comparison with the GCC MV implementation in this patch: * Version creation syntax: The implementation in this patch also has a similar syntax to specify function versions. The first stub function is not needed. Here is the code to generate the function versions with this patch: /* Intel Corei7 processor + SSE4.2 version. */ __attribute__ ((target ("arch=corei7, sse4.2"))) void foo () { printf ("corei7 + sse4.2"); } /* Atom processor. */ __attribute__ ((target ("arch=atom"))) void foo () { printf ("atom"); } void foo () { } The target attribute can have one of the following arch names: "amd" "intel" "atom" "core2" "corei7" "nehalem" "westmere" "sandybridge" "amdfam10h" "barcelona" "shanghai" "istanbul" "amdfam15h" "bdver1" "bdver2" and any number of the following ISA names: "cmov" "mmx" "popcnt" "sse" "sse2" "sse3" "ssse3" "sse4.1" "sse4.2" "avx" "avx2" * doc/tm.texi.in (TARGET_OPTION_FUNCTION_VERSIONS): New hook description. * (TARGET_COMPARE_VERSION_PRIORITY): New hook description. * (TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): New hook description. * (TARGET_GENERATE_VERSION_DISPATCHER_BODY): New hook description. * doc/tm.texi: Regenerate. * target.def (compare_version_priority): New target hook. * (generate_version_dispatcher_body): New target hook. * (get_function_versions_dispatcher): New target hook. * (function_versions): New target hook. * cgraph.c (cgraph_fnver_htab): New htab. (cgraph_fn_ver_htab_hash): New function. (cgraph_fn_ver_htab_eq): New function. (version_info_node): New pointer. (insert_new_cgraph_node_version): New function. (get_cgraph_node_version): New function. (delete_function_version): New function. (record_function_versions): New function. * cgraph.h (cgraph_node): New bitfield dispatcher_function. (cgraph_function_version_info): New struct. (get_cgraph_node_version): New function. (insert_new_cgraph_node_version): New function. (record_function_versions): New function. (delete_function_version): New function. (init_lowered_empty_function): Expose function. * tree.h (DECL_FUNCTION_VERSIONED): New macro. (tree_function_decl): New bit-field versioned_function. * cgraphunit.c (cgraph_analyze_function): Generate body of multiversion function dispatcher. (cgraph_analyze_functions): Analyze dispatcher function. (init_lowered_empty_function): Make non-static. New parameter in_ssa. (assemble_thunk): Add parameter to call to init_lowered_empty_function. * config/i386/i386.c (add_condition_to_bb): New function. (get_builtin_code_for_version): New function. (ix86_compare_version_priority): New function. (feature_compare): New function. (dispatch_function_versions): New function. (ix86_function_versions): New function. (attr_strcmp): New function. (ix86_mangle_function_version_assembler_name): New function. (ix86_mangle_decl_assembler_name): New function. (make_name): New function. (make_dispatcher_decl): New function. (is_function_default_version): New function. (ix86_get_function_versions_dispatcher): New function. (make_attribute): New function. (make_resolver_func): New function. (ix86_generate_version_dispatcher_body): New function. (fold_builtin_cpu): Return integer for cpu builtins. (TARGET_MANGLE_DECL_ASSEMBLER_NAME): New macro. (TARGET_COMPARE_VERSION_PRIORITY): New macro. (TARGET_GENERATE_VERSION_DISPATCHER_BODY): New macro. (TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): New macro. (TARGET_OPTION_FUNCTION_VERSIONS): New macro. * class.c (add_method): Change assembler names of function versions. (mark_versions_used): New static function. (resolve_address_of_overloaded_function): Create dispatcher decl and return address of dispatcher instead. * decl.c (decls_match): Make decls unmatched for versioned functions. (duplicate_decls): Remove ambiguity for versioned functions. Delete versioned function data for merged decls. * decl2.c (check_classfn): Check attributes of versioned functions for match. * call.c (get_function_version_dispatcher): New function. (mark_versions_used): New static function. (build_over_call): Make calls to multiversioned functions to call the dispatcher. (joust): For calls to multi-versioned functions, make the most specialized function version win. * testsuite/g++.dg/mv1.C: New test. * testsuite/g++.dg/mv2.C: New test. * testsuite/g++.dg/mv3.C: New test. * testsuite/g++.dg/mv4.C: New test. * testsuite/g++.dg/mv5.C: New test. * testsuite/g++.dg/mv6.C: New test. From-SVN: r193204
Sriraman Tallam committed -
From-SVN: r193203
Joern Rennecke committed -
From-SVN: r193202
Jonathan Wakely committed -
From-SVN: r193201
GCC Administrator committed -
* config/i386/i386.c (print_reg): Replace REX_INT_REG_P with REX_INT_REGNO_P. From-SVN: r193197
H.J. Lu committed -
* include/profile/deque: Constrain InputIterator parameters. * include/profile/forward_list: Likewise. * include/profile/list: Likewise. * include/profile/map.h: Likewise. * include/profile/multimap.h: Likewise. * include/profile/set.h: Likewise. * include/profile/multiset.h: Likewise. * include/profile/vector: Likewise. From-SVN: r193196
Jonathan Wakely committed
-
- 05 Nov, 2012 15 commits
-
-
re PR testsuite/55186 (gcc.dg/const-uniq-1.c fails due to vector expected but not being in the constant pool) PR testsuite/55186 * gcc.dg/const-uniq-1.c (a): Increase length four times. From-SVN: r193194
Hans-Peter Nilsson committed -
* gcc.dg/torture/pr53922.c: Use -Wl,-undefined,dynamic_lookup on darwin. From-SVN: r193193
Jack Howarth committed -
PR tree-optimization/54986 * gimple-fold.c (canonicalize_constructor_val): Strip again all no-op conversions on entry but add them back on exit if needed. From-SVN: r193188
Eric Botcazou committed -
* gcc/final.c (final_scan_insn) [HAVE_cc0]: Handle all comparison codes in non-jump and cmove insn. * gcc/testsuite/gcc.dg/torture/fp-compare.c: New testcase. From-SVN: r193187
Andreas Schwab committed -
* include/profile/forward_list: Update to meet allocator-aware requirements. * include/debug/forward_list: Likewise. * include/debug/vector: Verify allocators are swapped or equal. * include/debug/macros.h (__glibcxx_check_equal_allocs): Define. * include/debug/formatter.h: Add new debug message. * src/c++11/debug.cc: Likewise. * testsuite/23_containers/forward_list/allocator/swap.cc: Do not swap containers with non-propagating, non-equal allocators. * testsuite/23_containers/vector/allocator/swap.cc: Likewise. From-SVN: r193186
Jonathan Wakely committed -
2012-11-05 Benjamin Kosnik <bkoz@redhat.com> Oleg Smolsky <oleg@smolsky.net> PR libstdc++/55028 * config/abi/pre/gnu-versioned-namespace.ver: Add symbols. * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc: New. Co-Authored-By: Oleg Smolsky <oleg@smolsky.net> From-SVN: r193185
Benjamin Kosnik committed -
2012-10-05 François Dumont <fdumont@gcc.gnu.org> * include/ext/throw_allocator.h (__throw_value_base): Add move semantic, not throwing. (__throw_value_limit): Likewise. (__throw_value_random): Likewise. * testsuite/util/exception/safety.h: Add validation of C++11 methods emplace/emplace_front/emplace_back/emplace_hint. * testsuite/util/testsuite_container_traits.h: Signal emplace support on deque, forward_list, list and vector. * testsuite/23_containers/deque/requirements/exception/ propagation_consistent.cc: Remove dg-do run fail. From-SVN: r193184
François Dumont committed -
mode-switching.c (create_pre_exit): Force late switching if __builtin_{apply,return} emitted a load that require... * mode-switching.c (create_pre_exit): Force late switching if __builtin_{apply,return} emitted a load that require mode, other than MODE_EXIT. Co-Authored-By: Vladimir Yakovlev <vladimir.b.yakovlev@intel.com> From-SVN: r193182
Uros Bizjak committed -
2012-11-05 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/55215 * include/bits/random.tcc (mersenne_twister_engine<>::seed(_Sseq&)): Assign state_size to _M_p. * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc: New. * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc: Likewise. * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc: Likewise. * testsuite/26_numerics/random/subtract_with_carry_engine/cons/ 55215.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/cons/ 55215.cc: Likewise. From-SVN: r193181
Paolo Carlini committed -
re PR target/55204 (ICE: in extract_insn, at recog.c:2140 (unrecognizable insn) with -O --param loop-invariant-max-bbs-in-loop=0) gcc/ PR target/55204 * config/i386/i386.c (ix86_address_subreg_operand): Remove stack pointer check. (print_reg): Use true_regnum rather than REGNO. (ix86_print_operand_address): Remove SUBREG handling. From-SVN: r193178
Richard Sandiford committed -
* gcc.dg/const-1.c: Update. * gcc.dg/pure-1.c: Update. * tree-ssa-loop-niter.c (finite_loop_p): Revamp to be just wrapper of max_loop_iterations. From-SVN: r193175
Jan Hubicka committed -
2012-11-03 Florian Weimer <fweimer@redhat.com> * libsupc++/vec.cc (compute_size): New. (__cxa_vec_new2, __cxa_vec_new3): Use it. * testsuite/18_support/cxa_vec.cc: New. From-SVN: r193174
Florian Weimer committed -
From-SVN: r193173
Ian Lance Taylor committed -
From-SVN: r193172
Ian Lance Taylor committed -
* reorg.c (fill_simple_delay_slots): Avoid calling optimize_skip with a return instruction. From-SVN: r193171
Joern Rennecke committed
-