+2018-09-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/87200
+ * tree-ssa-sccvn.c (vn_nary_build_or_lookup_1): Valueize a
+ simplify result.
+
2018-09-03 Martin Liska <mliska@suse.cz>
PR tree-optimization/87201
2018-09-03 Richard Biener <rguenther@suse.de>
+ PR tree-optimization/87200
+ * gcc.dg/torture/pr87200.c: New testcase.
+
+2018-09-03 Richard Biener <rguenther@suse.de>
+
PR tree-optimization/87197
* gcc.dg/torture/pr87197.c: New testcase.
--- /dev/null
+/* { dg-do compile } */
+
+unsigned long long int ry;
+
+int
+gl (void)
+{
+ long long int my = 0;
+ unsigned long long int *oi = (unsigned long long int *) &my;
+ int s9;
+
+ s9 = !!gl () ? ry : 0;
+ if (s9 != 0)
+ oi = &ry;
+ else
+ {
+ my = ry;
+ *oi += my;
+ }
+
+ return *oi;
+}
+
gimple *new_stmt = NULL;
if (res
&& gimple_simplified_result_is_gimple_val (res_op))
- /* The expression is already available. */
- result = res_op->ops[0];
+ {
+ /* The expression is already available. */
+ result = res_op->ops[0];
+ /* Valueize it, simplification returns sth in AVAIL only. */
+ if (TREE_CODE (result) == SSA_NAME)
+ result = SSA_VAL (result);
+ }
else
{
tree val = vn_lookup_simplify_result (res_op);