E_MODE_CLASS to
mask some of the remaining ones on SPARC (and on PA).
> Anyways, commited to trunk and all the 64-bit failures should be gone.
Do we have the same problem in VIS2/3 mode as in VIS1 mode? If so, then I
agree that this is probably the best course of action in the short term.
--
Eric Botcazou
> I have already signed copyright agreement with the FSF. Will I need
> the separate one for this particular commit?
No, if your contributions are already covered by a copyright agreement with the
FSF, nothing more needs to be done.
--
Eric Botcazou
constprop_register,
- a few long lines and a few typos left and right.
No functional changes. Tested on i586-suse-linux, applied on mainline,
2011-11-11 Eric Botcazou
* cprop.c: Adjust outdated comments throughout.
(hash_scan_set): Rename PAT parameter into SET
therwise propagate them only in the successors of their basic block."
Btw, you'll need to slightly adjust the patch because of my changes to cprop.c.
Thanks for investigating and addressing this issue.
--
Eric Botcazou
> This was caused (or perhaps abetted by) the representation of EQ
> as NE ^ 1. With the subsequent truncation and zero-extend, I
> think combine reached its insn limit of 3 before seeing everything
> it needed to see.
This can be 4 now, if you tweak the initial heuristic.
--
Eric Botcazou
u think that calling dump_function from rest_of_subprog_body_compilation
is a layering violation, I don't have a problem with replacing it with a more
"manual" scheme like the one in c-family/c-gimplify.c:c_genericize, provided
that this yields roughly the same output.
--
Eric Botcazou
> This implements the VEC re-write.
>
> See http://gcc.gnu.org/ml/gcc-patches/2012-08/msg00711.html for
> details.
You didn't update the head comment in vec.h though, is that on purpose?
--
Eric Botcazou
rface to C++, which might introduce various
maintenance issues in the short term (Arno CCed).
--
Eric Botcazou
nline.
2012-08-19 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) : Use proper
dummy type for the temporary COMPONENT_REF built for a derived tagged
type with discriminant.
--
Eric Botcazou
Index: gcc-interface/d
rray_T is access Array_T;
for Thin_Access_Array_T'Size use Standard'Address_Size;
begin
if Access_Array_T'Alignment /= Thin_Access_Array_T'Alignment then
raise Program_Error;
end if;
end;
Tested on x86_64-suse-linux, applied on the mainline.
2012-08-19 E
on the
mainline.
2012-08-20 Eric Botcazou
* config/sparc/sparc.h (MAX_FIXED_MODE_SIZE): Define.
--
Eric Botcazou
Index: config/sparc/sparc.h
===
--- config/sparc/sparc.h (revision 190512)
+++ config/sparc/sparc.h
ed. If the -fstrict-volatile-bitfields support is still incomplete,
let's take this opportunity to clean it up. Testing DECL_PACKED or issuing
a warning from the RTL expander is to be avoided.
--
Eric Botcazou
after the barriers pass, which puts the barrier there on purpose).
Tested on x86_64-suse-linux, applied on the mainline and 4.7 branch.
2012-08-25 Eric Botcazou
PR rtl-optimization/54088
* jump.c (delete_related_insns): Robustify latest change.
--
Eric Botcazou
Index
L land is to call cleanup_cfg (0) in this case (and
Richard recently added the cleanup_cfg (CLEANUP_CFG_CHANGED) variant). Any
reason not to use it? Are you concerned about compilation time here?
--
Eric Botcazou
if you remove edges from the CFG
or apply some similar transformation, you need a cleanup_cfg(0) at the end.
--
Eric Botcazou
e on SPARC, approved by Richard for the MIPS part
and applied on all active branches.
2012-09-02 Eric Botcazou
PR rtl-optimization/54369
* config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
calling dbr_schedule.
* config/sparc/sparc.c (sparc_reorg)
we
want to fix this on release branches as well?
2012-09-02 Eric Botcazou
PR rtl-optimization/54290
* reload1.c (choose_reload_regs): Also take into account secondary MEMs
to remove address replacements for inheri
> 2012-09-02 Eric Botcazou
>
> PR rtl-optimization/54290
> * reload1.c (choose_reload_regs): Also take into account secondary MEMs
> to remove address replacements for inherited reloads.
I forgot to attach the testcase...
* gcc.c-torture/execute/20
The generated libstdc++-symbols.ver-sun cannot be parsed by the linker anymore.
Bootstrapped on SPARC64/Solaris 9 & SPARC/Solaris 10, applied on the mainline.
2012-09-04 Eric Botcazou
* make_sunver.pl: Add missing newline at the end of extern "C++" block.
--
Eric
This patch "fixes" PR rtl-optimization/54456 by running the first scheduling
pass only when optimizing, as is already done for the second scheduling pass.
Tested on x86_64-suse-linux, applied on the mainline.
2012-09-04 Eric Botcazou
PR rtl-optimization/54456
* s
The file contains 3 RTL optimization passes, the gate and worker functions of
which are strangely intertwined.
Fixed thusly, tested on x86_64-suse-linux, applied on the mainline.
2012-09-04 Eric Botcazou
* bb-reorder.c (gate_handle_reorder_blocks): Move around
-linux, applied on the mainline.
2012-09-05 Eric Botcazou
* bb-reorder.c: Clarify a few points in the head comment and fix
long lines in other comments.
(find_traces): Fix long line.
(find_traces_1_round): Likewise.
(better_edge_p): Li
;
+ }
Superfluous parentheses.
@@ -1169,6 +1272,10 @@ copy_bb_p (const_basic_block bb, int code_may_grow)
int max_size = uncond_jump_length;
rtx insn;
+ /* Avoid duplicating blocks for size. */
+ if (optimize_function_for_size_p (cfun))
+return false;
...when optimizing for size.
Please adjust and repost. Note that I just installed a patch that makes some
cosmetic changes to the file so you might have a couple of minor conflicts.
--
Eric Botcazou
There are 3 global deletions instead of 2 on SPARC64 and 0 on Alpha since the
structure is returned in memory.
Tested on x86-64/Linux and SPARC64/Linux, applied on mainline and 4.7 branch.
2012-09-07 Eric Botcazou
* gcc.dg/pr44194-1.c: Skip on Alpha and adjust regexp for SPARC64
It was presumably papering over the real problem and resulted in huge
performance regressions for some loops.
Tested on x86-64/Linux, applied on mainline and 4.7 branch.
2012-09-07 Eric Botcazou
* gcc-interface/trans.c (Loop_Statement_to_gnu): Revert to using
size_type_node
Trace n + 1. It is conservative
+to keep the order as close as possible to the original order.
+ It also helps to reduce long jump. */
long jumps
Thanks for working on this.
--
Eric Botcazou
instead of itself (unlike store_bit_field_1),
which short-circuits the FALLBACK_P parameter.
Tested on x86-64/Linux and SPARC64/Solaris. Comments?
2012-09-12 Eric Botcazou
PR rtl-optimization/44194
* calls.c (expand_call): In the PARALLEL case, copy the return value
into
e, &add2_ovf);
> + overflow |= neg1_ovf | neg2_ovf | add1_ovf | add2_ovf;
> }
>
> - gcc_assert (overflow == 0);
> + gcc_assert (!overflow);
>
> return build_int_cst_wide (rtype, low, high);
> }
This cannot build because of the references to low and high in the last line.
As Richard said, building a cross cc1 is very easy.
--
Eric Botcazou
> Bootstrapped/regtested on x86_64-suse-linux. Does that look plausible? Do
> we want to fix this on release branches as well?
>
>
> 2012-09-02 Eric Botcazou
>
> PR rtl-optimization/54290
> * reload1.c (choose_reload_regs): Also take into account s
tions of the loop so
they can add up and exhaust the memory during SSA updating if stars are
properly aligned.
The patch is a somewhat simple-minded fix... Bootstrapped/regtested on x86_64-
suse-linux. OK for mainline and 4.7 branch?
2012-09-13 Eric Botcazou
* tree-ssa-loop-ivca
lue (use, gimple_assign_rhs1 (stmt));
> +
> + fold_stmt_inplace (&use_stmt_gsi);
> + update_stmt (use_stmt);
>
> Use SET_USE (use, rhs1) and cache gimple_assign_rhs1 somewhere.
>
> if (fold_stmt_inplace (&use_stmt_gsi))
> update_stmt (use_stmt);
OK, will adjust, thanks.
--
Eric Botcazou
> The updated patched is attached. Is it OK?
Yes, OK for mainline.
--
Eric Botcazou
t);
int main() {
return bar(foo());
}
The patch eliminates the two extra stores mentioned in comment #15. I'll add a
reference to this one.
--
Eric Botcazou
> Sounds like a good cleanup to me.
Thanks. I managed to screw up the computation of the new right end of the
memory access in adjust_address_1 so I'll fix and retest.
--
Eric Botcazou
ed on SPARC/Solaris and SPARC64/Solaris, applied on the
mainline.
2012-09-13 Eric Botcazou
* config/sparc/predicates.md (input_operand): Do not consider TImode
constants as 1-instruction integer constants.
Use register_or_zero_operand instead of register_operand and ti
> I think it's going to make GCC harder to maintain if we drop the -g0
> vs. -g no-code-difference requirement for just some optimization
> levels.
Seconded, this is surely going to open yet another can of worms.
--
Eric Botcazou
> probably means that we only need to set sibcall_failure for the
> emit_group_store case, although I've not tested that.
Good point, I'll give it a try.
--
Eric Botcazou
> Tested on hppa2.0w-hp-hpux11.11 and committed to trunk.
Thanks for fixing this. The testcase is also on the 4.7 branch.
--
Eric Botcazou
s well?
2012-09-17 Eric Botcazou
* tree-cfgcleanup. (cleanup_control_expr_graph) : Remove
code doing propagation from degenerate PHI nodes.
* tree-ssa-loop-ivcanon.c (propagate_into_all_uses): New function.
(propagate_constants_for_unroll
(node));
>
> becomes
>
> if (varpool_node *vnode = node->try_variable ())
> if (vnode->finalized)
> varpool_analyze_node (vnode);
Please avoid cascading if's like this, use the existing && idiom instead.
--
Eric Botcazou
aced_subreg" routine on rld[r].in, check
> whether the result is a hard register and use its REGNO_REG_CLASS.
OK, thanks to both. Revised version attached, OK for mainline after testing?
2012-09-18 Eric Botcazou
PR rtl-optimization/54290
* reload1.c (choose_reloa
86-64/Linux, generated code manually inspected on
PowerPC/Darwin 64-bit, applied on the mainline.
2012-09-18 Eric Botcazou
PR middle-end/54617
* expr.c (store_field): Handle a PARALLEL in more cases.
--
Eric BotcazouIndex: e
would
probably be convenient to have a shortcut for !optimize || optimize_debug.
--
Eric Botcazou
cades and trading it for
cascading if's is really a bad idea.
--
Eric Botcazou
;-) The transformation is therefore
implemented as a sub-pass of execute_update_addresses_taken for technical
reasons exposed in the patch.
Tested on x86-64/Linux, OK for the mainline?
2012-09-19 Eric Botcazou
* tree.h (DECL_NONLOCAL_FRAME): New macro.
* gimple.c
nstead.
When I implemented __builtin_bswap16, I didn't add this because I thought this
would be overkill since the RTL combiner should be able to catch the pattern.
Have you investigated on this front? But I don't have a strong opinion.
--
Eric Botcazou
right approach.
OK, but I came to the opposite conclusion when I first tried to do it in SRA
and I don't think I will change my mind in the near future. Never mind then.
--
Eric Botcazou
The dg directives need to be put in the .adb files, otherwise they are ignored
in the gnat.dg directory.
Tested on x86-64/Linux, applied on all active branches.
2012-09-20 Eric Botcazou
* gnat.dg/opt20.ads: Move dg directive to...
* gnat.dg/opt20.adb: ...here
heck_reg, tem;
My bad... fixed thusly.
2012-09-20 Eric Botcazou
* reload1.c (choose_reload_regs): Add missing #ifdef/#endif pair.
--
Eric BotcazouIndex: reload1.c
===
--- reload1.c (revision 191591)
+++ reload1.c (wo
placement generation.
OK, but you need to be able to split the FRAME structure without necessarily
splitting its aggregate fields. Is that (easily) doable with current SRA?
> Maybe you can open an enhancement bugreport for this and link
> your patch / testcase to it?
Will do.
--
Eric Botcazou
owerPC, which
is the only other mainstream architecture with a bswaphi pattern AFAIK?
--
Eric Botcazou
arm_mangle_type): Don't warn anymore that
> 4.4 has changed the `va_list mangling.
No gcc/ prefix in gcc/ChangeLog.
--
Eric Botcazou
It's the regression of gcc.c-torture/execute/multi-ix.c at -O1 on Alpha
reported by Uros and comes from a thinko in my fix for PR rtl-opt/54290.
Tested on x86-64/Linux, applied on the mainline.
2012-09-21 Eric Botcazou
PR rtl-optimization/54290
PR rtl-optimization/
es?
Is that a regression on release branches? If no, that's not worth the risk.
--
Eric Botcazou
estcase on the release branches? It doesn't use BKLmode
compares? If so, is it ever possible to use BLKmode compares on Alpha?
--
Eric Botcazou
lease branches in my opinion.
The second hunk is OK for mainline (without the now useless label).
--
Eric Botcazou
understand and we haven't had a
single bug reported for it since its inception 2 years ago, so...
--
Eric Botcazou
maybe_clean_or_replace_eh_stmt on the modified
statement. There is already a call to cleanup_tree_cfg at the end so this
should be sufficient.
Tested on x86-64/Linux, OK for the mainline?
2012-09-22 Eric Botcazou
PR tree-optimization/54669
* tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Invoke
benchmarks (with a 4.7-based compiler). Tested on x86-64/Linux.
2012-09-23 Eric Botcazou
* passes.c (init_optimization_passes): Run first EH cleanup pass early.
--
Eric BotcazouIndex: passes.c
===
--- passes.c (revision
ot;bswap32", BT_FN_UINT32_UINT32,
ATTR_CONST_NOTHROW_LEAF_LIST)
DEF_GCC_BUILTIN(BUILT_IN_BSWAP64, "bswap64", BT_FN_UINT64_UINT64,
ATTR_CONST_NOTHROW_LEAF_LIST)
The documentation indeed needs to be fixed.
--
Eric Botcazou
checked that the 4.7
compiler can still compile a big Ada application in LTO mode. Can I put this
both on mainline and 4.7 branch? This only affects Ada.
2012-09-24 Eric Botcazou
* tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
TYPE_NONALIASED_COMPONENT flag
27;t look obvious, especially in the unsigned case. The
PowerPC back-end has a splitter for bswap:HI which generates no less than 3
instructions, so I presume we're seeing its effects here.
I've CCed the other interested parties. David, Michael, Segher, any comments
about or insights into the results reported by Christophe for PowerPC?
--
Eric Botcazou
> I guess I just have to wait for approval by the right maintainer now?
Right, GCC's bureaucracy is no legend. :-)
I've CCed Richard, who approved the __builtin_bswap16 stuff back in April.
--
Eric Botcazou
> gcc/ChangeLog:
> 2012-09-21 Dehao Chen
>
> PR middle-end/54645
> * c-family/c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
> map when read in the pch.
Wrong ChangeLog file, you want gcc/c-family/ChangeLog (and remove c-family/).
--
Eric Botcazou
to restrict this to the low part though?
--
Eric Botcazou
rights here, you need a Windows maintainer (Kai).
--
Eric Botcazou
131 */
> ^^
Generally speaking, I'd avoid taking anything in libdecnumber as an example.
--
Eric Botcazou
tion_base): Likewise.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Do not mark a
statement that could throw as necessary if dead exceptions can be
deleted.
ada/
* gcc-interface/misc.c (gnat_init_options_struct): Set
opts->x_flag_delete_dea
till officially requires only an ISO C90 compiler
http://gcc.gnu.org/install/prerequisites.html
so the usage of 'long long' in libdecnumber is a bug that could be fixed at
some point. That's why using it as a precedent isn't the best thing to do.
--
Eric Botcazou
be
subtleties in C++, but I agree that in practice this should work fine.
--
Eric Botcazou
on
i586-suse-linux, applied on mainline and 4.7 branch.
2012-06-15 Eric Botcazou
PR ada/53592
* gcc-interface/gigi.h (maybe_vector_array): Make static inline.
* gcc-interface/utils.c (maybe_vector_array): Delete.
* gcc-interface/trans.c (gnat_to_gnu) : Mark
> There are several ports that currently require long long support in the
> back-end -- see need_64bit_hwint in config.gcc.
Yes, all the 64-bit ports at least, but you shouldn't need 'long long' to build
the compiler e.g. for the AVR.
--
Eric Botcazou
> Whoops, I forgot to commit that last patch. Check now.
The warning is there on the 4.7 branch now.
--
Eric Botcazou
re
about the other languages). It also adds the missing bits related to inlining
(with the annoying FIXME for LTO in can_inline_edge_p).
Bootstrapped/regtested on x86_64-suse-linux, OK for mainline?
2012-06-15 Eric Botcazou
PR middle-end/53590
* doc/invoke.texi (-fdelete-dead-
written using HOST_WIDE_INT and the like, so using some
external code that managed to escape a proper review before being merged in
order to justify an incorrect usage is IMO short-sighted, to say the least.
--
Eric Botcazou
ame obsolete as compilers matured.
Why would HOST_WIDE_INT be obsolete? That's a nice way to abstract the host
and reverting to hardcoded types like 'long long' doesn't seem a progress to
me.
--
Eric Botcazou
of UNIT in the macro makes the whole thing slightly confusing. :-)
--
Eric Botcazou
> I've applied the attached patch which is a tiny SH specific
> change of gcc.dg/stack-usage-1.c test. Tested on sh-linux
> and i686-pc-linux-gnu.
This is wrong, please remove the dg-options line and do like the other targets.
--
Eric Botcazou
> I've applied the patch below. I'll backport it release branches.
Thanks!
--
Eric Botcazou
aph isn't suitable for this, as
the RTL expander can introduce function calls that need to be accounted for.
Tested on x86_64-suse-linux.
2012-06-20 Eric Botcazou
Callgraph info support
* common.opt (-fcallgraph-info[=]): New option.
* doc/invoke.texi (Debu
t this patch is now obsolete because of the new layout
algorithm in cfgexpand.c, so the attached patch reverts it.
Bootstrapped/regtested on x86_64-suse-linux, OK for mainline and 4.7 branch?
2012-06-21 Eric Botcazou
* tree-ssa-live.c (remove_unused_scope_block_p): Remove again
This fixes the PR by making the is_fortran predicate functional on Darwin too.
Bootstrapped/regtested on Darwin by Dominique (thanks!), pre-approved by Jakub
and applied on the mainline.
2012-06-22 Eric Botcazou
PR debug/53704
* dwarf2out.c (gen_compile_unit_die): Use
SPARC, thanks. What about the Stormy16 and the picoChip? It seems
like a cleanup is possible in this area for them as well.
--
Eric Botcazou
y) and is known to work fine on IA-64/Linux, HP-UX and VMS.
In the end, it would appear that DONT_USE_BUILTIN_SETJMP was a quick trick to
solve specific issues that could very likely have been solved otherwise. We
should probably keep it for the sake of IA-64 and get rid of it for all other
architectures, documenting that it isn't to be used in normal circumstances.
--
Eric Botcazou
(8*3+8)
can be proved to be equivalent to the empty set.
--
Eric Botcazou
kend are the
> best places for these.
Both are very high-level constructs though. By the time the AST is converted
to GENERIC in the Ada compiler, it is already too lowered to make use of them.
--
Eric Botcazou
38)
FAIL: gnat.dg/old_errors.adb (test for warnings, line 40)
FAIL: gnat.dg/old_errors.adb (test for errors, line 44)
FAIL: gnat.dg/old_errors.adb (test for excess errors)
What should we do about them?
--
Eric Botcazou
> Probably suppress both, since they no longer make sense (they are testing
> an early implementation of 'Old, before 'Old was standardized in Ada 2012).
>
> I'll take care of it.
Thanks!
--
Eric Botcazou
ted as covered!
Fixed thusly, tested on x86_64-suse-linux, applied on the mainline as obvious.
This isn't a recent regression, but I took the liberty to put it on the 4.7
branch as well.
2012-06-29 Eric Botcazou
* tree-eh.c (lower_try_finally_switch): Really put the loca
The fix for PR c++/52637 slightly broke the handling of local types in Ada.
The attached patch restores correct generation of debug info for them.
Tested on i586-suse-linux, applied on mainline and 4.7 branch.
2012-07-03 Eric Botcazou
* gcc-interface/utils.c (gnat_pushdecl): Set
urce
code and essentially replicates the separation between methods and non-methods
that doesn't exist in Ada.
Tested on i586-suse-linux, applied on mainline and 4.7 branch.
2012-07-03 Eric Botcazou
* exp_disp.adb (Expand_Dispatching_Call): Propagate the convention on
the de
prefix in the
selection of a component inherited from the root type.
Tested on i586-suse-linux, applied on mainline and 4.7 branch.
2012-07-03 Eric Botcazou
* gcc-interface/utils2.c (build_simple_component_ref): Do not look
through an extension if the type contains a
The compiler crashes on the recursive call to a function with an In-Out or Out
parameter passed by copy, in Ada 2012 mode.
Tested on i586-suse-linux, applied on mainline and 4.7 branch.
2012-07-03 Eric Botcazou
* gcc-interface/trans.c (Call_to_gnu): Robustify test for function case
n the limbo list to it.
>
> This caused:
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53860
I've reverted the patch, as I can imagine that it will cause other problems.
--
Eric Botcazou
ailure) in my test.
>
> Tested on arm-linux-gnueabihf. OK for mainline?
Sure, but given that there is indeed the same pattern a few lines above, you
could as well have installed it as obvious. OK for 4.7 too if you need it.
--
Eric Botcazou
ers, but would be a better match for the representation.
In fact the latter would unbreak the m68k port (this is PR ada/48835).
--
Eric Botcazou
speaking, testing
TYPE_PACKED or DECL_PACKED to drive code generation is wrong.
> Oh, and this does not yet fix PR53970 - but I hope that I can
> remove contains_packed_reference ;)
Right, it should definitely go away.
--
Eric Botcazou
> In the past, -fstrength-reduce applied to loop strength reduction in
> loop.c. I don't think it should be re-used for a completely different
> code transformation.
Seconded.
--
Eric Botcazou
This fixes a spurious 'noreturn' function does return warning at -O0 on code
involving controlled types.
Tested on x86_64-suse-linux, applied on the mainline.
2012-07-18 Eric Botcazou
* gcc-interface/trans.c (stmt_group_may_fallthru): New function.
(gnat_to_gnu) :
This fixes a spurious 'noreturn' function does return warning at -O0 on code
involving an exception block. I overlooked this case when I implemented the
mechanism in gimple-low.c during the 4.5 development phase.
Tested on x86_64-suse-linux, OK for the mainline?
2012-07-18 Eri
3401 - 3500 of 4612 matches
Mail list logo