+2010-11-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/46491
+ Backport from mainline
+
+ 2010-05-14 Jan Hubicka <jh@suse.cz>
+ * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
+
2010-11-12 Olivier Hainque <hainque@adacore.com>
* config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite
for (i = 0; i < gimple_asm_nclobbers (stmt); i++)
{
tree op = gimple_asm_clobber_op (stmt, i);
- if (simple_cst_equal(TREE_VALUE (op), memory_identifier_string) == 1)
+ if (strcmp (TREE_STRING_POINTER (TREE_VALUE (op)), "memory") == 0)
{
if (dump_file)
fprintf (dump_file, " memory asm clobber is not const/pure");
+2010-11-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/46491
+ * gcc.target/i386/pr46491.c: New test.
+
2010-11-13 Tobias Burnus <burnus@net-b.de>
PR fortran/45742
--- /dev/null
+/* PR tree-optimization/46491 */
+/* { dg-do run } */
+/* { dg-options "-O2" } */
+
+extern void abort (void);
+
+__attribute__((noinline)) int
+foo (int *p)
+{
+ int r;
+ asm ("movl $6, (%1)\n\txorl %0, %0" : "=r" (r) : "r" (p) : "memory");
+ return r;
+}
+
+int
+main (void)
+{
+ int p = 8;
+ if ((foo (&p) ? : p) != 6)
+ abort ();
+ return 0;
+}