GCC Bugzilla – Attachment 8511 Details for
Bug 20725
[tcb] FRE does not remove a fully redundant load.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
frefixes.diff
frefixes.diff (text/x-patch), 1.90 KB, created by
Daniel Berlin
on 2005-04-02 14:32:29 UTC
(
hide
)
Description:
frefixes.diff
Filename:
MIME Type:
Creator:
Daniel Berlin
Created:
2005-04-02 14:32:29 UTC
Size:
1.90 KB
patch
obsolete
>Index: tree-ssa-pre.c >=================================================================== >RCS file: /cvs/gcc/gcc/gcc/tree-ssa-pre.c,v >retrieving revision 2.36.2.16 >diff -u -p -r2.36.2.16 tree-ssa-pre.c >--- tree-ssa-pre.c 1 Apr 2005 17:10:33 -0000 2.36.2.16 >+++ tree-ssa-pre.c 2 Apr 2005 14:31:35 -0000 >@@ -1777,13 +1777,11 @@ add_to_sets (tree var, tree expr, vuse_o > /* Given a unary or binary expression EXPR, create and return a new > expression with the same structure as EXPR but with its operands > replaced with the value handles of each of the operands of EXPR. >- Insert EXPR's operands into the EXP_GEN set for BLOCK. >- >- VUSES represent the virtual use operands associated with EXPR (if >- any). They are used when computing the hash value for EXPR. */ >+ Insert EXPR's operands into the EXP_GEN set for BLOCK. */ > > static inline tree >-create_value_expr_from (tree expr, basic_block block, vuse_optype vuses) >+create_value_expr_from (tree expr, basic_block block) >+ > { > int i; > enum tree_code code = TREE_CODE (expr); >@@ -1822,8 +1820,15 @@ create_value_expr_from (tree expr, basic > return NULL; > } > >+ /* Recursively value-numberize reference ops */ >+ if (TREE_CODE_CLASS (TREE_CODE (op)) == tcc_reference) >+ { >+ tree tempop = create_value_expr_from (op, block); >+ op = tempop ? tempop : op; >+ } >+ > /* Create a value handle for OP and add it to VEXPR. */ >- val = vn_lookup_or_add (op, vuses); >+ val = vn_lookup_or_add (op, NULL); > > if (!is_undefined_value (op)) > value_insert_into_set (EXP_GEN (block), op); >@@ -1939,7 +1944,7 @@ compute_avail (void) > create a duplicate expression with the operands > replaced with the value handles of the original > RHS. */ >- tree newt = create_value_expr_from (rhs, block, vuses); >+ tree newt = create_value_expr_from (rhs, block); > if (newt) > { > add_to_sets (lhs, newt, vuses, TMP_GEN (block),
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 20725
: 8511