[Bug tree-optimization/17616] Micro-optimize tree_code_class

2004-11-16 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-11-16 17:48 --- Subject: Re: Micro-optimize tree_code_class Hi Steven, > How about making the classes bitmasks? Yes, I came across this idea. There are a lot of predicates that can simply use bitmasks. Kazu Hir

[Bug tree-optimization/18519] [4.0 Regression] ICE: Segmentation fault with optimization

2004-11-16 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-11-16 17:08 --- The binary search converges between 2004-10-27 17:40GMT and 2004-10-27 17:50GMT, so this patch is likely to have caused the segfault. 2004-10-27 Daniel Berlin <[EMAIL PROTECTED]> Fix P

[Bug tree-optimization/18519] [4.0 Regression] ICE: Segmentation fault with optimization

2004-11-16 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-11-16 15:06 --- Reduced a little more: /* ./cc1 -O1 pr18519.c */ int baz (int *); void foo (int *uc) { int *invalidp

[Bug tree-optimization/18487] New: Warnings for pure and const functions that are not actually pure or const

2004-11-14 Thread kazu at cs dot umass dot edu
Severity: enhancement Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kazu at cs dot umass dot edu CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18487

[Bug tree-optimization/18478] [4.0 Regression] ICE with -funroll-loops

2004-11-14 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-11-14 17:30 --- *** Bug 18475 has been marked as a duplicate of this bug. *** -- What|Removed |Added Bug 18478

[Bug tree-optimization/18475] [4.0 Regression] ICE Segmentation fault in tree_verify_flow_info with -funswitch-loops

2004-11-14 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-11-14 17:30 --- The underlying problem is the same as that of PR 18478. Basically, SWITCH_EXPR is incorrectly duplicated when a basic block is duplicated. *** This bug has been marked as a duplicate of 18478

[Bug tree-optimization/18475] [4.0 Regression] ICE Segmentation fault in tree_verify_flow_info with -funswitch-loops

2004-11-14 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-11-14 17:26 --- See PR 18478 for patch. -- What|Removed |Added Keywords

[Bug tree-optimization/18478] [4.0 Regression] ICE with -funroll-loops

2004-11-14 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-11-14 15:47 --- I am doing a binary search right now, but it's probably Jeff's patch that causes this bug. With his patch, GCC shares some CASE_LABEL_EXPR within one SWITCH_EXPR. When a basic block is copied, I d

[Bug tree-optimization/18478] New: ICE with -funroll-loops

2004-11-14 Thread kazu at cs dot umass dot edu
ED Keywords: ice-on-valid-code Severity: critical Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kazu at cs dot umass dot edu CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i6

[Bug tree-optimization/18472] TREE_OPERAND (t, 1) is referenced for t being GOTO_EXPR

2004-11-13 Thread kazu at cs dot umass dot edu
-- What|Removed |Added CC||dpatel at apple dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18472

[Bug tree-optimization/18472] New: TREE_OPERAND (t, 1) is referenced for t being GOTO_EXPR

2004-11-13 Thread kazu at cs dot umass dot edu
t gnu dot org ReportedBy: kazu at cs dot umass dot edu CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18472

[Bug tree-optimization/15524] [4.0 Regression] jump threading on trees is slow with switch statements with large # of cases

2004-11-03 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-11-03 16:51 --- Jeff, Oops, you're right! Kazu Hirata -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15524

[Bug tree-optimization/15524] [4.0 Regression] jump threading on trees is slow with switch statements with large # of cases

2004-11-03 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-11-03 16:33 --- Richard, My patches to expand_case does not change its asymptotic behavior. Jeff, You might want to use SBITMAP instead of BITMAP in your patch to expand_case because the bitmap you construct will be dense

[Bug tree-optimization/15524] [4.0 Regression] jump threading on trees is slow with switch statements with large # of cases

2004-11-01 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-11-01 19:34 --- Subject: Re: [4.0 Regression] jump threading on trees is slow with switch statements with large # of cases Hi Steven, > OK, then can you see if this hack helps...? + /* Step 4: Update the case la

[Bug rtl-optimization/18146] New: if-conversion is not performed for some reason

2004-10-25 Thread kazu at cs dot umass dot edu
ReportedBy: kazu at cs dot umass dot edu CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18146

[Bug tree-optimization/17966] a quadratic behavior in thread_jumps

2004-10-23 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-23 20:48 --- OK. Now mainline is a lot faster than 3.3 on this testcase. 3.3 takes more than 20 seconds mainlines takes less than 3 seconds Thanks Andrew! -- What|Removed |Added

[Bug tree-optimization/17966] a quadratic behavior in thread_jumps

2004-10-21 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-21 18:18 --- The quadratic behavior of thread_jumps has been solved, but still mainline is slower than 3.3 on this testcase. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17966

[Bug middle-end/18041] New: OR of two single-bit bitfields is inefficient

2004-10-17 Thread kazu at cs dot umass dot edu
NCONFIRMED Keywords: missed-optimization Severity: enhancement Priority: P2 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kazu at cs dot umass dot edu CC: gcc-bugs at gcc dot gnu dot org GCC target triple

[Bug middle-end/18040] ICE in for_each_index, at tree-ssa-loop-im.c:178

2004-10-17 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-17 13:06 --- Confirmed. -- What|Removed |Added Status|UNCONFIRMED |NEW

[Bug middle-end/18038] New: addition in a multibit bitfield is inefficient

2004-10-16 Thread kazu at cs dot umass dot edu
Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kazu at cs dot umass dot edu CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18038

[Bug middle-end/18029] an xor of a single bit bitfield is inefficient

2004-10-16 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-16 15:49 --- A patch here: http://gcc.gnu.org/ml/gcc-patches/2004-10/msg01333.html -- What|Removed |Added

[Bug middle-end/18030] OR is inefficient in 2-bit bitfield

2004-10-16 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-16 15:49 --- A patch here: http://gcc.gnu.org/ml/gcc-patches/2004-10/msg01333.html -- What|Removed |Added

[Bug tree-optimization/18031] New: OR of a bitfield and a constant is not optimized at tree level

2004-10-15 Thread kazu at cs dot umass dot edu
gnu dot org ReportedBy: kazu at cs dot umass dot edu CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18031

[Bug middle-end/18008] [4.0 Regression] Duplicate mask on bitfield insertion

2004-10-15 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-16 03:50 --- >From IRC: kazu: Looks like PR 18008 only has a single AND with -march=pentiumpro, but two ANDs with -march=i386 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18008

[Bug middle-end/18008] [4.0 Regression] Duplicate mask on bitfield insertion

2004-10-15 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-16 03:46 --- All the interesting events happen in store_field. When store_field expands "() (unsigned char) v", it generates an AND with 3 because () is an anonymous type of two-bit integer. When it e

[Bug middle-end/18030] New: OR is inefficient in 2-bit bitfield

2004-10-15 Thread kazu at cs dot umass dot edu
words: missed-optimization Severity: enhancement Priority: P2 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kazu at cs dot umass dot edu CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: i686-pc-lin

[Bug middle-end/18029] an xor of a single bit bitfield is inefficient

2004-10-15 Thread kazu at cs dot umass dot edu
-- What|Removed |Added Summary|a twiddleing of a |an xor of a single bit ||bitfield is inefficient http://gcc.gnu

[Bug middle-end/18029] New: a twiddleing of a

2004-10-15 Thread kazu at cs dot umass dot edu
gnu dot org ReportedBy: kazu at cs dot umass dot edu CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18029

[Bug middle-end/18008] [4.0 Regression] Duplicate mask on bitfield insertion

2004-10-15 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-15 21:18 --- This is a regression from 3.3.3, which does not generate two consecutive andl. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18008

[Bug middle-end/18008] [4.0 Regression] Duplicate mask on bitfield insertion

2004-10-15 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-15 16:55 --- There are at least two strange things. 1. We emit two ands in the first place. 2. The combiner does not seem to be working. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18008

[Bug middle-end/18008] [4.0 Regression] Duplicate mask on bitfield insertion

2004-10-15 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-15 16:42 --- No, I don't think this is a duplicate of mine. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18008

[Bug tree-optimization/17966] a quadratic behavior in thread_jumps

2004-10-13 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-13 15:38 --- Andrew, Your algorithm would still present a quadratic behavior in the following situation. bb0<- a block with COND_EXPR only | \ | \ | bb1 <- a block with COND_EXP

[Bug tree-optimization/17966] a quadratic behavior in thread_jumps

2004-10-13 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-13 14:24 --- Andrew, Regarding your patch, if we have exactly one basic block immediately preceding EXIT_BLOCK_PTR, and that block happens to be a forwarder block, your algorithm terminates without doing any further work

[Bug tree-optimization/17966] a quadratic behavior in thread_jumps

2004-10-13 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-13 13:29 --- I should note that I used -O2 when I came up with "44%" in the initial description of this bug. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17966

[Bug tree-optimization/17966] a quadratic behavior in thread_jumps

2004-10-13 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-13 12:35 --- Andrew, I did it in the hard way. :-) void foo (int a) { int b; goto b1; b4: return; b3: if (a) { b = a; return; } else goto b4; b2: if (a) { b = a; return; } else goto b3; b1: if (a) { b = a

[Bug tree-optimization/17966] a quadratic behavior in thread_jumps

2004-10-13 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-13 12:11 --- In this particular testcase, going through BBs in backwards does help by cutting down the running time by about half, but I wonder if we can create an identical testcase except that the order of BBs are

[Bug middle-end/17895] [4.0 Regression] tree CFG cleanup is slow

2004-10-12 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-13 03:20 --- tree_redirect_edge_and_branch needs O(n) time to redirect an edge of a SWITCH_EXPR in the worst case, where n is the number of case labels in a SWITHC_EXPR. Therefore, redirecting O(n) edges costs O(n^2) in

[Bug tree-optimization/17966] New: a quadratic behavior in thread_jumps

2004-10-12 Thread kazu at cs dot umass dot edu
c behavior in thread_jumps Product: gcc Version: 4.0.0 Status: UNCONFIRMED Keywords: compile-time-hog Severity: enhancement Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ka

[Bug rtl-optimization/17931] [4.0 Regression] andl and testb are not combined

2004-10-12 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-12 14:11 --- A patch posted at: http://gcc.gnu.org/ml/gcc-patches/2004-10/msg00986.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17931

[Bug rtl-optimization/17935] New: Two consecutive movzbl are generated

2004-10-11 Thread kazu at cs dot umass dot edu
iority: P2 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kazu at cs dot umass dot edu CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17935

[Bug rtl-optimization/17931] [4.0 Regression] andl and testb are not combined

2004-10-11 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-11 15:32 --- I'll be testing a patch shortly. -- What|Removed |Added AssignedTo|unassigned a

[Bug rtl-optimization/17931] [4.0 Regression] andl and testb are not combined

2004-10-11 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-11 14:47 --- The combiner does try to combine andl and testb, but the suggested combined insn is rejected by combine_validate_cost. The cost of "andl $1, %eax" is 4. The cost of "testb %al, %al" i

[Bug rtl-optimization/17931] andl and testb are not combined

2004-10-11 Thread kazu at cs dot umass dot edu
--- Additional Comments From kazu at cs dot umass dot edu 2004-10-11 13:54 --- Actually, we don't need "movl $1, %eax" at the end, either. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17931

[Bug rtl-optimization/17931] New: andl and testb are not combined

2004-10-11 Thread kazu at cs dot umass dot edu
NFIRMED Keywords: missed-optimization Severity: enhancement Priority: P2 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kazu at cs dot umass dot edu CC: gcc-bugs at gcc dot gnu dot org GCC target

<    1   2   3   4