Hello,
>> + if (reg_mentioned_p (reg, insn) && !DEBUG_INSN_P (insn))
>
> It probably makes sense to test for !DEBUG_INSN_P first, since it's much
> cheaper.
Thanks, will commit the following to fix that:
* modulo-sched.c (doloop_register_get): Check !DEBUG_INSN_P
first.
Inde
I'm checking this in to fix build with --enable-gather-detailed-mem-stats.
Jason
commit 091ac850cf8830722c9bae83232f0d95ccd45b2a
Author: Jason Merrill
Date: Wed May 11 21:36:09 2011 -0400
* tree.c (type_hash_canon): Use struct tree_type_non_common.
diff --git a/gcc/tree.c b/gcc/tree
On Wed, May 11, 2011 at 4:01 PM, Eric Botcazou wrote:
> No gcc/ prefix in the ChangeLog file of the gcc/ directory. See other
> entries.
Fixed. Sorry about that.
--
Paul Pluzhnikov
> 2011-04-04 Satoru Takabayashi
> Paul Pluzhnikov
>
> * gcc/doc/install.texi (Configuration): Document
> --with-linker-hash-style.
> * gcc/gcc.c (init_spec): Handle LINKER_HASH_STYLE.
> * gcc/config.in: Add LINKER_HASH_STYLE.
> * gcc/configure.ac: Add --
The first lines of commit_one_edge_insertion read:
void
commit_one_edge_insertion (edge e)
{
rtx before = NULL_RTX, after = NULL_RTX, insns, tmp, last;
basic_block bb = NULL;
/* Pull the insns off the edge now since the edge might go away. */
insns = e->insns.r;
e->insns.r = NULL_RTX;
Hi,
I committed this small tweak to two recent testcases of mine.
Paolo.
//
2011-05-11 Paolo Carlini
* testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc: Use
dg-require-cmath.
* testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc: Likewise.
In
The attached patch fixes three issues:
a) If fork() is not supported, CMDSTAT is -2 (as required by the
standard) - and everything is executed synchronously. However,
set_cmdstat will abort if the cmdstat value is not 0.
b) The cmdstat value should be set to an error if system returns an
er
>
> This removes the mode param from the generic type merging machinery
> and simplifies code accordingly.
>
> Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk.
Hi,
looks the cleanup series makes a progress, now I get 459s for Mozilla WPA (it
was 540 last time I tried).
Out
After using function flow_loops_find in cfgloop.c, it is needed to use
free_dominance_info to clear structure which have beend added by the
use of calculate_dominance_info.
I have added a comment precising this.
My contributor number is 634276.
ChangeLog:
2011-05-11 Pierre Vittet
This adds a simulated conditional execution option to the RX backend.
The RX can do a short conditional forward branch faster than a regular
conditional branch (1 byte, 1 cycle!), as long as it's only branching
across one or two insns. This patch encourages this behavior via the
condexec support,
We want to allow a constexpr friend function that takes the current
class, so we need to defer checking the literality of parameter types
until any classes involved are complete. I broke the changes into a few
different commits:
1) Only set DECL_DECLARED_CONSTEXPR_P in one place in grokdeclar
Here we just needed to handle CONSTRUCTOR in value_dependent_expression_p.
It is also the case that a lot of crashes have been happening because
build_non_dependent_expr calls null_ptr_cst_p, which wants to try to get
a constant value for any expression. That's not actually necessary for
sema
The Go frontend incorrectly rejects calling new with a function type.
That was a holdover from a long time ago, before function types were
essentially pointers. This patch removes the unnecessary check.
Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu.
Committed to mainline.
Ian
dif
On Wednesday 11 May 2011 15:20:38 Tobias Burnus wrote:
> As the PR shows, in the function the gfc_expr can be such that
> expr->value.function.esym points to the correct specific function but
> the generic expr->symtree->n.sym does not exist (expr->symtree == NULL).
> However, also the opposite can
Attached patch applied.
2011-05-11 François Dumont
* include/ext/pb_ds/detail/resize_policy/
hash_load_check_resize_trigger_imp.hpp (assert_valid): Replace
_GLIBCXX_DEBUG_ASSERT calls with PB_DS_DEBUG_VERIFY.
* include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp,
This patch to the Go frontend fixes a compiler crash for code like
for i, v := range append(a, b...) {
}
The problem is that for a case like this there are multiple pointers to
the call expression, which interacts poorly with lowering in which the
call expression is replaced. This
On Thu, May 5, 2011 at 2:20 AM, Jakub Jelinek wrote:
> Hi!
>
> My typed DWARF stack changes apparently broke ia64-hpux and H.J.'s out of
> tree x32 target. There are several issues:
> 1) for SUBREG mem_loc_descriptor's 3rd argument was wrong, found by code
> inspection
> 2) CONST/SYMBOL_REF/LAB
The comment for pointer_map_traverse says:
/* Pass each pointer in PMAP to the function in FN, together with the pointer
to the value and the fixed parameter DATA. If FN returns false, the
iteration stops. */
However, the code in tree-cfg:edge_to_cases_cleanup does:
static bool
edge_to
Occasionally, gcc passes a barrier instead of a label. This
accomodates such an event. Applies to 4.6 and trunk, and needed on
both to build newlib. Ok?
* config/rx/rx.c (rx_align_for_label): Don't test for
LABEL_NUSES on a barrier.
Index: gcc/config/rx/rx.c
==
On May 8, 2011, Revital Eres wrote:
> +if (reg_mentioned_p (reg, insn) && !DEBUG_INSN_P (insn))
It probably makes sense to test for !DEBUG_INSN_P first, since it's much
cheaper.
--
Alexandre Oliva, freedom fighterhttp://FSFLA.org/~lxoliva/
You must be the change you wish to see in the
On 05/11/2011 10:07 AM, Hari Sandanagobalane wrote:
Hello,
I discussed this problem with Vlad in
http://gcc.gnu.org/ml/gcc/2011-05/msg00131.html. I propose the
following patch to fix it. Okay to commit?
Revised the ChangeLog.
Thanks
Hari
ChangeLog:
* ira.c (clarify_prohibited_class_
Hi!
My http://gcc.gnu.org/ml/gcc-patches/2010-03/msg01379.html
debug info optimization (meant primarily for x86_64) as the following
testcase shows unfortunately breaks on powerpc64-linux and can in theory
everywhere where lowpart_subreg of some REG accepted by
use_narrower_mode_test isn't valid a
Denis Chertykov schrieb:
2011/5/2 Georg-Johann Lay :
This is a fix for an optimization flaw when a long value is composed
from byte values.
For -fsplit-wide-types (which is still default for avr) the code is
worse than with -fno-split-wide-types. The code for the test case is
better in either
2011/5/11 Richard Guenther :
> The most important thing is to get predicate types sane - that affects
> tcc_comparison codes and the TRUTH_* codes. After that, the TRUTH_*
> codes are redundant with the BIT_* ones which already are always
> validly typed. As fold already converts some TRUTH_* to
Hello!
Attached patch cleans legitimize_tls_address and corresponding
expanders to call gen_tls_dynamic_gnu2_{32,64} directly in case of
TARGET_GNU2_TLS target. The patch also changes unique REG_EQUIV note
to __tls_get_addr call to UNSPEC (the same approach MIPS does) instead
of some strange neste
On Thu, Mar 10, 2011 at 8:23 PM, Nathan Froyd wrote:
> Move CASE_CHAIN into a local operand for CASE_LABEL_EXPR. Nothing to
> see here.
>
> -Nathan
>
> gcc/
> * tree.def (CASE_LABEL_EXPR): Add an operand.
> * tree.h (CASE_CHAIN): Use TREE_OPERAND instead of TREE_CHAIN.
>
This cause
On Wed, 11 May 2011, Julian Brown wrote:
> non-saturating variants where appropriate). Other functionality is
> provided by support functions in libgcc (type conversions,
> comparisons, and so on). Although more efficient versions of some of
> these could be implemented inline, it seems to me they
This typo prevents a load of canonical type merging and thus very
likely causes PR48964.
I'm currently checking if it fixes LTO profiledbootstrap and will commit
if it does (and also if it doesn't - it's quite an obvious bug).
Richard.
2011-05-11 Richard Guenther
PR middle-end/48964
> gcc/ada/
> * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
> call build_function_type_vec or build_varargs_function_type_vec
> instead.
build_function_type_array or build_varargs_function_type_array.
> (create_subprog_type): Likewise.
Here it's bu
We don't need to initialize stack_check_probe_note in all cases now, but only
if the mechanism is the generic one.
Tested on i586-suse-linux, applied on the mainline as obvious.
2011-05-11 Eric Botcazou
* function.c (expand_function_start): Initialize stack_check_probe_note
> * ira.c (clarify_prohibited_class_mode_regs): Prevent the
> function from accessing beyond the end of REGNO_REG_CLASS array by
> stopping the loop early.
Just fine (the ChangeLog only of course, the patch is Vlad's), thanks.
--
Eric Botcazou
Julian Brown writes:
> Tested with cross to ARM Linux. OK to apply?
Just out of interest, are you able to test the patch on MIPS as well?
I was wondering whether the fixed-point results there change after the
target-independent parts of the patch. (I think MIPS is still the only
port with in-tre
On 05/10/11 12:36, Joseph S. Myers wrote:
thanks for the review. I've addressed these issues, but will wait for
arm-specific review before reposting (I presume you want the chance to check the
non-mechanical opt-machinery changes)
nathan
--
Nathan Sidwell
This fixes parts of PR15256 - optimization of manual bitfield
manipulation on the tree level. The patch extends the
previous forwprop patch for this and adds two additional
patterns we can easily match.
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk.
Richard.
2011-05-11
Hello,
I discussed this problem with Vlad in
http://gcc.gnu.org/ml/gcc/2011-05/msg00131.html. I propose the following
patch to fix it. Okay to commit?
Revised the ChangeLog.
Thanks
Hari
ChangeLog:
* ira.c (clarify_prohibited_class_mode_regs): Prevent the
function from accessing beyo
On Mon, May 9, 2011 at 8:15 AM, Richard Guenther wrote:
>
> This makes gimple_types_compatible_p private to gimple.c again,
> removing the need to call it from lto-symtab.c as we now merge
> types early (and thus we can resort to the middle-end types_compatible_p
> function).
>
> Bootstrapped on x
On Tue, May 10, 2011 at 8:41 AM, Richard Guenther wrote:
>
> This is the second half of splitting TYPE_CANONICAL handling away
> from the rest of the machinery. The following patch introduces
> a simplified, non-SCC based hashing for TYPE_CANONICAL - it
> still hashes things it shouldn't, but the
> * ira.c (clarify_prohibited_class_mode_regs): It was running
> beyond the end of REGNO_REG_CLASS array. Fixed.
This isn't a valid ChangeLog entry. It must not state the "why" (it was
running beyond the end of REGNO_REG_CLASS array), only the "what". So you
need to describe how you're
This streamlines the now separate hashing and comparing functions
for canonical and regular type matching. It should significantly
shrink the canonical tables (doing more merging) and reduce
the number of hash collisions in the regular tables.
Boostrap & regtest pending on x86_64-unknown-linux-g
As the PR shows, in the function the gfc_expr can be such that
expr->value.function.esym points to the correct specific function but
the generic expr->symtree->n.sym does not exist (expr->symtree == NULL).
However, also the opposite can happen that only expr->symtree is set and
neither esym nor
Hello,
I discussed this problem with Vlad in
http://gcc.gnu.org/ml/gcc/2011-05/msg00131.html. I propose the following
patch to fix it. Okay to commit?
Thanks
Hari
ChangeLog:
* ira.c (clarify_prohibited_class_mode_regs): It was running
beyond the end of REGNO_REG_CLASS array. Fixed.
This removes the mode param from the generic type merging machinery
and simplifies code accordingly.
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk.
Richard.
2011-05-11 Richard Guenther
* gimple.c (gimple_type_hash_1): Merge with ...
(gimple_type_hash)
Hi!
Richard's changes to gimplify C++ unit at a time apparently broke
OpenMP 3.0 support in C++, if a variable is implicitly firstprivate
in some task region and needs copy ctor or dtor instantiated, the
copy ctor or dtor might not be instantiated.
In 4.4 when the gimplifier noticed an implicitly
This fixes the tree inliner which fails to remap the type of
MEM_REFs. That downstream causes issues when LTO re-computes
TYPE_CANONICAL and fails during stmt verification.
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk.
I'm considering this also for 4.6 as it is latent t
On Wed, May 11, 2011 at 2:15 PM, Jakub Jelinek wrote:
> Hi!
>
> The first testcase below ICEs, because generate_loops_for_partition
> removes phis and stmts in the get_loop_body_in_dom_order order of bbs
> and within within the bbs starting with phi nodes and then from beginning to
> end of the bb
Hi!
The first testcase below ICEs, because generate_loops_for_partition
removes phis and stmts in the get_loop_body_in_dom_order order of bbs
and within within the bbs starting with phi nodes and then from beginning to
end of the bb.
While looking at it, I've noticed that stmts_from_loop and all
> Honza,
>
> This patch seems to have introduced approximately 150 new G++
> testsuite failures on AIX. The errors all are verify_cgraph_node ICEs
> related to thunks.
>
> The all have a similar pattern:
Hmm, thanks. It seems that visibility needs even more tweaking.
I am currently on a trip ti
Hello All,
I just merged the trunk rev 173647 into MELT branch 173652:
2011-05-11 Basile Starynkevitch
MELT branch merged with trunk rev 173647 using svnmerge
That was quite a massive merge. The previous time trunk was merged into MELT
branch was
2011-03-14 Basile Starynkevitch
This patch moves some option settings from process_options to
finish_options, making them avoid global state in the process, in
preparation for moving parts of the target option override hook to be
called from finish_options as well. (The idea is to minimize the amount
of code in process_optio
On Tue, 10 May 2011, Richard Guenther wrote:
> And I now get
>
> FAIL: gcc.target/i386/pr45903.c scan-assembler-not shr[qdl]
>
> because the optimization Jakub put in place relies on operations
> carried out in smaller modes.
>
> That's of course a conflict of interest. I'm going to sit on thi
On Tue, 10 May 2011, Bernd Schmidt wrote:
> The scheduler knows that insns with different COND_EXEC conditions don't
> conflict and can be scheduled independently. Unfortunately, sched-deps.c
> does not try to keep the conditions valid as it progresses. For example,
>
> [B0] A0 = [A1]
> B0
On Wed, 11 May 2011, Bernd Schmidt wrote:
> On 05/10/2011 06:51 PM, Joseph S. Myers wrote:
> > On Tue, 10 May 2011, Bernd Schmidt wrote:
> >
> >> Binutils and uClibc already contain C6X patches; unfortunately there
> >> isn't an open-source sim.
> >
> > The newlib support is also upstream.
> >
On 05/10/2011 06:51 PM, Joseph S. Myers wrote:
> On Tue, 10 May 2011, Bernd Schmidt wrote:
>
>> Binutils and uClibc already contain C6X patches; unfortunately there
>> isn't an open-source sim.
>
> The newlib support is also upstream.
>
>> I've also run c6x tests, which look fairly clean on the
On Wed, May 11, 2011 at 12:03 PM, Kai Tietz wrote:
> 2011/5/11 Eric Botcazou :
>>> this patch converts TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR
>>> expressions on gimplification to their binary form.
>>
>> What is it for? This will redirect the compilation stream from proven paths
>> to
On Wed, May 11, 2011 at 11:35 AM, Kai Tietz wrote:
> For more detail what happens and why this conditional handling is necessary:
>
> The sample code is:
>
> int
> foo (int a, int b)
> {
> return (a ? b != 3 : 0);
> }
>
> leads for variant without condition boolifying of arms to:
>
> ;; Function
On 05/11/2011 10:04 AM, Richard Sandiford wrote:
> Neat! It'll be interesting to see how easy it would be to convert
> recog and in-tree delayed-branch targets to use this form instead of
> SEQUENCEs. It'd certainly be a big step towards keeping the CFG
> around during and after md-reorg. I migh
2011/5/11 Eric Botcazou :
>> this patch converts TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR
>> expressions on gimplification to their binary form.
>
> What is it for? This will redirect the compilation stream from proven paths
> to
> others so there must be a good reason to do it. What's
2011/5/11 Richard Guenther :
> On Tue, May 10, 2011 at 9:26 PM, Kai Tietz wrote:
>> 2011/5/10 Kai Tietz :
>>> 2011/5/10 Richard Guenther :
On Tue, May 10, 2011 at 5:30 PM, Paolo Bonzini wrote:
> On 05/10/2011 05:23 PM, Richard Guenther wrote:
>>
>> I suppose you have testcases fo
> this patch converts TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR
> expressions on gimplification to their binary form.
What is it for? This will redirect the compilation stream from proven paths to
others so there must be a good reason to do it. What's the effect on the code?
--
Eric B
For more detail what happens and why this conditional handling is necessary:
The sample code is:
int
foo (int a, int b)
{
return (a ? b != 3 : 0);
}
leads for variant without condition boolifying of arms to:
;; Function foo (foo)
foo (int a, int b)
{
int D.1991;
int D.1990;
int D.1989;
Hello,
> please clarify that, e.g., instruction scheduled on cycle AMOUNT will move
> to cycle zero.
OK, done.
> shouldn't normalized_time be used here instead of SCHED_TIME (u)?
SCHED_TIME (u) is been set to normalized_time just before
using it.
Thanks,
Revital
Hello,
> please clarify that, e.g., instruction scheduled on cycle AMOUNT will move
> to cycle zero.
OK, done.
> shouldn't normalized_time be used here instead of SCHED_TIME (u)?
SCHED_TIME (u) is been set to normalized_time just before
using it.
Thanks,
Revital
2011/5/11 Richard Guenther :
> On Wed, May 11, 2011 at 11:00 AM, Kai Tietz wrote:
>> Hi,
>>
>> By investigating the conditional expression handling I found some
>> causes, why TRUTH operations AND, ANDIF, OR, XOR, and ORIF are
>> appearing withing conditional folding during gimplification.
>> The
2011/5/11 Richard Guenther :
> On Tue, May 10, 2011 at 9:26 PM, Kai Tietz wrote:
>> 2011/5/10 Kai Tietz :
>>> 2011/5/10 Richard Guenther :
On Tue, May 10, 2011 at 5:30 PM, Paolo Bonzini wrote:
> On 05/10/2011 05:23 PM, Richard Guenther wrote:
>>
>> I suppose you have testcases fo
On Wed, May 11, 2011 at 11:00 AM, Kai Tietz wrote:
> Hi,
>
> By investigating the conditional expression handling I found some
> causes, why TRUTH operations AND, ANDIF, OR, XOR, and ORIF are
> appearing withing conditional folding during gimplification.
> The reason for this can be that the truth
On Tue, May 10, 2011 at 7:50 PM, Nathan Froyd wrote:
> On Tue, May 10, 2011 at 02:28:06PM -0300, Diego Novillo wrote:
>> On Tue, May 10, 2011 at 13:15, Nathan Froyd wrote:
>> > Other types can of course be shrunk, but the memory savings from doing
>> > so will be negligible
>>
>> Have you done an
Hi,
By investigating the conditional expression handling I found some
causes, why TRUTH operations AND, ANDIF, OR, XOR, and ORIF are
appearing withing conditional folding during gimplification.
The reason for this can be that the truth expression is simply used as
result of an assignment or return
On Tue, May 10, 2011 at 9:26 PM, Kai Tietz wrote:
> 2011/5/10 Kai Tietz :
>> 2011/5/10 Richard Guenther :
>>> On Tue, May 10, 2011 at 5:30 PM, Paolo Bonzini wrote:
On 05/10/2011 05:23 PM, Richard Guenther wrote:
>
> I suppose you have testcases for all the cases you looked at, please
On Tue, May 10, 2011 at 9:01 PM, Diego Novillo wrote:
> On Fri, Mar 11, 2011 at 10:19, Richard Guenther
> wrote:
>> On Fri, Mar 11, 2011 at 5:23 AM, Nathan Froyd
>> wrote:
>>> Move CASE_CHAIN into a local operand for CASE_LABEL_EXPR. Nothing to
>>> see here.
>>
>> I wonder if there isn't a bet
On Tue, 10 May 2011, Steven Bosscher wrote:
> On Tue, May 10, 2011 at 1:25 PM, Richard Guenther wrote:
> > The generated code is
> > the same though, and still contains too many masking operations.
>
> The lowering you're planning -- does that mean lowering all bitfield
> ops for all targets? Yo
Bernd Schmidt writes:
> Because of this problem, I've chosen a different model for this patch.
> Before calling the final sched_ebb pass, the port must split jump insns
> (or anything that should have delay slots) into two separate insns, a
> real insn and a shadow. As an example,
>
> (jump_insn
71 matches
Mail list logo