http://llvm.org/bugs/show_bug.cgi?id=15340
Benjamin Kramer <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Benjamin Kramer <[email protected]> --- With r175995 the cmov is gone: define void @foo(i32* %x, i32* %y) #0 { entry: %cmp5 = icmp eq i32* %x, null br i1 %cmp5, label %while.end, label %while.body while.body: ; preds = %entry, %while.body %x.addr.06 = phi i32* [ %call, %while.body ], [ %x, %entry ] %call = tail call i32* @f(i32* %x.addr.06) #2 %cmp7 = icmp eq i32* %call, null %not.cmp1 = icmp eq i32* %call, %y %cmp = or i1 %cmp7, %not.cmp1 br i1 %cmp, label %while.end, label %while.body while.end: ; preds = %while.body, %entry ret void } declare i32* @f(i32*) #1 define void @bar(i32* %x, i32* %y) #0 { entry: %cmp.old = icmp eq i32* %x, null br i1 %cmp.old, label %while.end, label %while.body while.body: ; preds = %entry, %while.body %x.addr.0 = phi i32* [ %call, %while.body ], [ %x, %entry ] %call = tail call i32* @f(i32* %x.addr.0) #2 %cmp1 = icmp ne i32* %call, %y %cmp = icmp ne i32* %call, null %or.cond = and i1 %cmp1, %cmp br i1 %or.cond, label %while.body, label %while.end while.end: ; preds = %while.body, %entry ret void } -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ LLVMbugs mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs
