[llvm-bugs] [Bug 26879] New: [AArch64] Greedy load/store optimizer misses pairing opportunities

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Mar 8 07:36:02 PST 2016


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

            Bug ID: 26879
           Summary: [AArch64] Greedy load/store optimizer misses pairing
                    opportunities
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: AArch64
          Assignee: unassignedbugs at nondot.org
          Reporter: mcrosier at codeaurora.org
                CC: junbuml at codeaurora.org, llvm-bugs at lists.llvm.org
    Classification: Unclassified

Given the below example we only form a single stp, when two stps are possible.

define void @test(i32 %a, i32 %b, i32 %c, i32 %d, i32* %base) {
entry:
  %a1 = getelementptr inbounds i32, i32* %base, i64 0
  %b1 = getelementptr i32, i32* %a1, i64 1
  %c1 = getelementptr i32, i32* %a1, i64 2
  %d1 = getelementptr i32, i32* %a1, i64 3

  store i32 %c, i32 * %c1
  store i32 %a, i32 * %a1
  store i32 %b, i32 * %b1
  store i32 %d, i32 * %d1

  ret void
}

The current algorithm needs to be less greedy when forming pairs.

-- 
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/20160308/24e05a77/attachment.html>


More information about the llvm-bugs mailing list