+2018-02-12 Jeff Law <law@redhat.com>
+
+ * cse.c (try_back_substitute_reg): Move any REG_ARGS_SIZE note when
+ successfully back substituting a reg.
+
2018-02-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/84037
&& (reg_mentioned_p (dest, XEXP (note, 0))
|| rtx_equal_p (src, XEXP (note, 0))))
remove_note (insn, note);
+
+ /* If INSN has a REG_ARGS_SIZE note, move it to PREV. */
+ note = find_reg_note (insn, REG_ARGS_SIZE, NULL_RTX);
+ if (note != 0)
+ {
+ remove_note (insn, note);
+ gcc_assert (!find_reg_note (prev, REG_ARGS_SIZE, NULL_RTX));
+ set_unique_reg_note (prev, REG_ARGS_SIZE, XEXP (note, 0));
+ }
}
}
}
+2018-02-12 Jeff Law <law@redhat.com>
+
+ * gcc.c-torture/compile/reg-args-size.c: New test.
+
2018-02-12 Carl Love <cel@us.ibm.com>
* gcc.target/powerpc/builtins-4-runnable.c (main): Move int128 and
--- /dev/null
+int foo;
+typedef long unsigned int size_t;
+typedef short unsigned int wchar_t;
+struct tm
+{
+ int tm_mday;
+ int tm_mon;
+ int tm_year;
+};
+size_t
+__strftime (wchar_t * s, size_t maxsize, const wchar_t * format, const struct tm *tim_p)
+{
+ size_t count = 0;
+ int len = 0;
+ size_t i, ctloclen;
+ unsigned long width;
+ {
+ if (foo)
+ {
+ {
+ wchar_t *fmt = L"%s%.*d";
+ len = swprintf (&s[count], maxsize, fmt, "-", width, 0);
+ }
+ if ((count) >= maxsize)
+ return 0;
+ }
+ else
+ {
+ len =
+ swprintf (&s[count], maxsize - count, L"%.2d/%.2d/%.2d", 42, 99, 0);
+ if ((count) >= maxsize)
+ return 0;
+
+ }
+ }
+}