Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 255867 Details for
Bug 346445
[4.5/graphite] 90_all_gcc-4.5-graphite-ICE.patch causes segfaults
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
90_all_gcc-4.5-graphite-ICE.patch
90_all_gcc-4.5-graphite-ICE.patch (text/plain), 2.10 KB, created by
Ryan Hill (RETIRED)
on 2010-11-29 19:32:28 UTC
(
hide
)
Description:
90_all_gcc-4.5-graphite-ICE.patch
Filename:
MIME Type:
Creator:
Ryan Hill (RETIRED)
Created:
2010-11-29 19:32:28 UTC
Size:
2.10 KB
patch
obsolete
>Fixed in 4.5.2. > >https://bugs.gentoo.org/345861 >https://bugs.gentoo.org/346445 >http://gcc.gnu.org/PR45314 >http://gcc.gnu.org/PR46651 > >--- a/gcc/graphite-sese-to-poly.c >+++ b/gcc/graphite-sese-to-poly.c >@@ -2231,58 +2231,15 @@ rewrite_phi_out_of_ssa (gimple_stmt_iterator *psi) > for (i = 0; i < gimple_phi_num_args (phi); i++) > { > tree arg = gimple_phi_arg_def (phi, i); >+ edge e = gimple_phi_arg_edge (phi, i); > >- /* Try to avoid the insertion on edges as much as possible: this >- would avoid the insertion of code on loop latch edges, making >- the pattern matching of the vectorizer happy, or it would >- avoid the insertion of useless basic blocks. Note that it is >- incorrect to insert out of SSA copies close by their >- definition when they are more than two loop levels apart: >- for example, starting from a double nested loop >- >- | a = ... >- | loop_1 >- | loop_2 >- | b = phi (a, c) >- | c = ... >- | end_2 >- | end_1 >- >- the following transform is incorrect >- >- | a = ... >- | Red[0] = a >- | loop_1 >- | loop_2 >- | b = Red[0] >- | c = ... >- | Red[0] = c >- | end_2 >- | end_1 >- >- whereas inserting the copy on the incoming edge is correct >- >- | a = ... >- | loop_1 >- | Red[0] = a >- | loop_2 >- | b = Red[0] >- | c = ... >- | Red[0] = c >- | end_2 >- | end_1 >- */ >+ /* Avoid the insertion of code in the loop latch to please the >+ pattern matching of the vectorizer. */ > if (TREE_CODE (arg) == SSA_NAME >- && is_gimple_reg (arg) >- && gimple_bb (SSA_NAME_DEF_STMT (arg)) >- && (flow_bb_inside_loop_p (bb->loop_father, >- gimple_bb (SSA_NAME_DEF_STMT (arg))) >- || flow_bb_inside_loop_p (loop_outer (bb->loop_father), >- gimple_bb (SSA_NAME_DEF_STMT (arg))))) >- insert_out_of_ssa_copy (zero_dim_array, arg); >+ && e->src == bb->loop_father->latch) >+ insert_out_of_ssa_copy (zero_dim_array, arg); > else >- insert_out_of_ssa_copy_on_edge (gimple_phi_arg_edge (phi, i), >- zero_dim_array, arg); >+ insert_out_of_ssa_copy_on_edge (e, zero_dim_array, arg); > } > > var = force_gimple_operand (zero_dim_array, &stmts, true, NULL_TREE);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 346445
:
255325
| 255867