[llvm-bugs] [Bug 26510] New: Incorrect attribute inference w/operand bundles

via llvm-bugs llvm-bugs at lists.llvm.org
Sat Feb 6 15:55:49 PST 2016


https://llvm.org/bugs/show_bug.cgi?id=26510

            Bug ID: 26510
           Summary: Incorrect attribute inference w/operand bundles
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Scalar Optimizations
          Assignee: unassignedbugs at nondot.org
          Reporter: listmail at philipreames.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

With the example below, running this through O3 causes @test to be marked
readnone and the loads/stores to be deleted by other optimization passes as a
result.  Tracing through print-after-all, it's clearly FunctionAttrs which is
doing the problematic transform, but I can not reproduce this standalone. 
Worryingly, it looks like a different value is being returned from AA when run
through O3 or not (but with AA passes added).  

declare void @foo() readnone

define i8* @test(i8* %p) {
  %a = alloca i8*, align 8
  store i8* %p, i8** %a, align 8
  call void @foo() ["abc" (i8** %a)]
  %reload = load i8*, i8** %a, align 8
  ret i8* %reload
}

("abc" is a unknown deopt bundle type which could potentially write to the
specified address.)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160206/0f98b591/attachment.html>


More information about the llvm-bugs mailing list