Re: [PATCH, SMS 2/3] Skip DEBUG_INSNs while recognizing doloop

2011-05-11 Thread Revital Eres
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

Re: [PATCH] split tree_type, a.k.a. "tuplifying types"

2011-05-11 Thread Jason Merrill
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

Re: [patch] make default linker --hash-style configurable option

2011-05-11 Thread Paul Pluzhnikov
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

Re: [patch] make default linker --hash-style configurable option

2011-05-11 Thread Eric Botcazou
> 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 --

Remove always-true test in commit_one_edge_insertion

2011-05-11 Thread Eric Botcazou
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;

[v3] Tweak to testcases

2011-05-11 Thread Paolo Carlini
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

[Patch, Fortran] PR 48961 - Fix EXECUTE_COMMAND_LINE w/ wait=.false. for non-fork systems

2011-05-11 Thread Tobias Burnus
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

Re: [PATCH][4/n] Cleanup LTO type merging

2011-05-11 Thread Jan Hubicka
> > 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

[PATCH] comment precising need to use free_dominance_info

2011-05-11 Thread piervit
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

[rx] simulated conditional exec

2011-05-11 Thread DJ Delorie
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,

C++ PATCH for c++/48948 (rejecting constexpr friend that takes the current class)

2011-05-11 Thread Jason Merrill
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

C++ PATCH for c++/48745 (ICE with list-initialization in SFINAE context)

2011-05-11 Thread Jason Merrill
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

Go patch committed: Permit calling new with a function type

2011-05-11 Thread Ian Lance Taylor
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

Re: [Patch, Fortran] PR 48889 - fix 4.6/4.7 regression: ICE in generics' resolution

2011-05-11 Thread Mikael Morin
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

Re: pb_ds debug mode patch

2011-05-11 Thread François Dumont
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,

Go patch committed: Don't crash ranging over call to builtin function

2011-05-11 Thread Ian Lance Taylor
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

Re: [PATCH] Fix up typed DWARF stack support for POINTERS_EXTEND_UNSIGNED targets (PR debug/48853)

2011-05-11 Thread H.J. Lu
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

[PATCH] fix PR middle-end/48965, CASE_CHAIN fallout

2011-05-11 Thread Nathan Froyd
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

[4.6,trunk,rx] avoid LABEL_NUSES on barriers

2011-05-11 Thread DJ Delorie
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 ==

Re: [PATCH, SMS 2/3] Skip DEBUG_INSNs while recognizing doloop

2011-05-11 Thread Alexandre Oliva
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

Re: [Patch, IRA] Fix a function accessing beyond end-of-array

2011-05-11 Thread Vladimir Makarov
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_

[PATCH] Fix ICE in use_narrower_mode (PR debug/48967)

2011-05-11 Thread Jakub Jelinek
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

Re: [Patch,AVR]: Fix PR27663

2011-05-11 Thread Georg-Johann Lay
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

Re: [patch gimplifier]: Boolify more strict conditional expressions and transform simple form to binary

2011-05-11 Thread Kai Tietz
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

[PATCH, i386]: Cleanup TARGET_GNU2_TLS usage

2011-05-11 Thread Uros Bizjak
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

Re: [PATCH 12/18] make CASE_LABEL_EXPR not abuse TREE_CHAIN

2011-05-11 Thread H.J. Lu
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

Re: [PATCH, ARM] ISO/IEC TR 18037 fixed-point support

2011-05-11 Thread Joseph S. Myers
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

[PATCH] Fix PR48964

2011-05-11 Thread Richard Guenther
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

Re: [PATCH] don't use build_function_type in the Ada FE

2011-05-11 Thread Eric Botcazou
> 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

Fix minor oversight in stack checking patch series

2011-05-11 Thread Eric Botcazou
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

Re: [Patch, IRA] Fix a function accessing beyond end-of-array

2011-05-11 Thread Eric Botcazou
> * 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

Re: [PATCH, ARM] ISO/IEC TR 18037 fixed-point support

2011-05-11 Thread Richard Sandiford
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

Re: [ARM] TLS Descriptor support

2011-05-11 Thread Nathan Sidwell
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

[PATCH] Fix parts of PR15256

2011-05-11 Thread Richard Guenther
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

[Patch, IRA] Fix a function accessing beyond end-of-array

2011-05-11 Thread Hari Sandanagobalane
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

Re: [PATCH][1/n] LTO type merging cleanup

2011-05-11 Thread H.J. Lu
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

Re: [PATCH][3/n] LTO type merging cleanup

2011-05-11 Thread H.J. Lu
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

Re: [Patch, IRA] Fix a function accessing beyond end-of-array

2011-05-11 Thread Eric Botcazou
> * 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

[PATCH][6/n] LTO type merging cleanup

2011-05-11 Thread Richard Guenther
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

[Patch, Fortran] PR 48889 - fix 4.6/4.7 regression: ICE in generics' resolution

2011-05-11 Thread Tobias Burnus
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

[Patch, IRA] Fix a function accessing beyond end-of-array

2011-05-11 Thread Hari Sandanagobalane
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.

[PATCH][4/n] Cleanup LTO type merging

2011-05-11 Thread Richard Guenther
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)

[C++ PATCH] Attempt to find implicitly determined firstprivate class type vars during genericization (PR c++/48869)

2011-05-11 Thread Jakub Jelinek
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

[PATCH] Fix PR48953

2011-05-11 Thread Richard Guenther
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

Re: [PATCH] Fix debug stmt handling in -ftree-loop-distribution (PR debug/48159)

2011-05-11 Thread Richard Guenther
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

[PATCH] Fix debug stmt handling in -ftree-loop-distribution (PR debug/48159)

2011-05-11 Thread Jakub Jelinek
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

Re: Cgraph thunk reorg

2011-05-11 Thread Jan Hubicka
> 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

[MELT] merged trunk into MELT branch.

2011-05-11 Thread Basile Starynkevitch
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

Move some option settings to finish_options

2011-05-11 Thread Joseph S. Myers
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

Re: [PATCH] Fix tree parts of PR18041

2011-05-11 Thread Richard Guenther
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

Re: C6X port 5/11: Track predication conditions more accurately

2011-05-11 Thread Alexander Monakov
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

Re: The TI C6X port

2011-05-11 Thread Joseph S. Myers
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. > >

Re: The TI C6X port

2011-05-11 Thread Bernd Schmidt
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

Re: [patch gimplifier]: Boolify more strict conditional expressions and transform simple form to binary

2011-05-11 Thread Richard Guenther
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

Re: [patch gimplifier]: Boolify more strict conditional expressions and transform simple form to binary

2011-05-11 Thread Richard Guenther
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

Re: C6X port 4/11: Backtracking scheduler

2011-05-11 Thread Bernd Schmidt
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

Re: [patch gimplifier]: Boolify more strict conditional expressions and transform simple form to binary

2011-05-11 Thread Kai Tietz
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

Re: [patch gimplifier]: Boolify more strict conditional expressions and transform simple form to binary

2011-05-11 Thread Kai Tietz
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

Re: [patch gimplifier]: Boolify more strict conditional expressions and transform simple form to binary

2011-05-11 Thread 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 the effect on the code? -- Eric B

Re: [patch gimplifier]: Boolify more strict conditional expressions and transform simple form to binary

2011-05-11 Thread Kai Tietz
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;

Re: [PATCH, SMS 1/3] Support closing_branch_deps (second try)

2011-05-11 Thread Revital Eres
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

Re: [PATCH, SMS 1/3] Support closing_branch_deps (second try)

2011-05-11 Thread Revital Eres
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

Re: [patch gimplifier]: Boolify more strict conditional expressions and transform simple form to binary

2011-05-11 Thread Kai Tietz
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

Re: [patch gimplifier]: Boolify more strict conditional expressions and transform simple form to binary

2011-05-11 Thread Kai Tietz
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

Re: [patch gimplifier]: Boolify more strict conditional expressions and transform simple form to binary

2011-05-11 Thread 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 reason for this can be that the truth

Re: [PATCH] split tree_type, a.k.a. "tuplifying types"

2011-05-11 Thread Richard Guenther
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

Re: [patch gimplifier]: Boolify more strict conditional expressions and transform simple form to binary

2011-05-11 Thread Kai Tietz
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

Re: [patch gimplifier]: Boolify more strict conditional expressions and transform simple form to binary

2011-05-11 Thread 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 for all the cases you looked at, please

Re: [PATCH 12/18] make CASE_LABEL_EXPR not abuse TREE_CHAIN

2011-05-11 Thread Richard Guenther
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

Re: [PATCH] Fix tree parts of PR18041

2011-05-11 Thread Richard Guenther
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

Re: C6X port 4/11: Backtracking scheduler

2011-05-11 Thread Richard Sandiford
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