re PR tree-optimization/63841 (Incorrect strlen optimization after complete unroll)
2014-11-13 Teresa Johnson <tejohnson@google.com> gcc: PR tree-optimization/63841 * tree-ssa-strlen.c (strlen_optimize_stmt): Ignore clobbers. 2014-11-13 Teresa Johnson <tejohnson@google.com> gcc/testsuite: PR tree-optimization/63841 * g++.dg/tree-ssa/pr63841.C: Remove prints, use abort. From-SVN: r217537
This commit is contained in:
parent
ca3d99a632
commit
5004bd0026
|
@ -1,3 +1,8 @@
|
|||
2014-11-13 Teresa Johnson <tejohnson@google.com>
|
||||
|
||||
PR tree-optimization/63841
|
||||
* tree-ssa-strlen.c (strlen_optimize_stmt): Ignore clobbers.
|
||||
|
||||
2014-11-14 Bin Cheng <bin.cheng@arm.com>
|
||||
|
||||
* timevar.def (TV_SCHED_FUSION): New time var.
|
||||
|
@ -103,6 +108,11 @@
|
|||
* ipa-profile.c: Likewise.
|
||||
* tree-ssa-loop-ivcanon.c: Fix typo in comments and debugging dumps.
|
||||
|
||||
2014-11-13 Teresa Johnson <tejohnson@google.com>
|
||||
|
||||
PR tree-optimization/63841
|
||||
* tree-ssa-strlen.c (strlen_optimize_stmt): Ignore clobbers.
|
||||
|
||||
2014-11-13 Teresa Johnson <tejohnson@google.com>
|
||||
|
||||
PR tree-optimization/63841
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2014-11-13 Teresa Johnson <tejohnson@google.com>
|
||||
|
||||
PR tree-optimization/63841
|
||||
* g++.dg/tree-ssa/pr63841.C: Remove prints, use abort.
|
||||
|
||||
2014-11-14 Bin Cheng <bin.cheng@arm.com>
|
||||
|
||||
* gcc.target/arm/ldrd-strd-pair-1.c: New test.
|
||||
|
@ -8,6 +13,11 @@
|
|||
PR debug/63581
|
||||
* g++.dg/tree-prof/pr63581.C: New test.
|
||||
|
||||
2014-11-13 Teresa Johnson <tejohnson@google.com>
|
||||
|
||||
PR tree-optimization/63841
|
||||
* g++.dg/tree-ssa/pr63841.C: Remove prints, use abort.
|
||||
|
||||
2014-11-13 Teresa Johnson <tejohnson@google.com>
|
||||
|
||||
PR tree-optimization/63841
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
/* { dg-do run } */
|
||||
/* { dg-options "-O2" } */
|
||||
|
||||
#include <cstdio>
|
||||
#include <string>
|
||||
|
||||
std::string __attribute__ ((noinline)) comp_test_write() {
|
||||
|
@ -29,10 +28,8 @@ std::string __attribute__ ((noinline)) comp_test_write_good() {
|
|||
|
||||
int main() {
|
||||
std::string good = comp_test_write_good();
|
||||
printf("expected: %hx\n", *(short*)good.c_str());
|
||||
|
||||
std::string bad = comp_test_write();
|
||||
printf("got: %hx\n", *(short*)bad.c_str());
|
||||
|
||||
return good != bad;
|
||||
if (good != bad)
|
||||
__builtin_abort ();
|
||||
}
|
||||
|
|
|
@ -1934,7 +1934,7 @@ strlen_optimize_stmt (gimple_stmt_iterator *gsi)
|
|||
break;
|
||||
}
|
||||
}
|
||||
else if (is_gimple_assign (stmt))
|
||||
else if (is_gimple_assign (stmt) && !gimple_clobber_p (stmt))
|
||||
{
|
||||
tree lhs = gimple_assign_lhs (stmt);
|
||||
|
||||
|
|
Loading…
Reference in New Issue