diff options
author | Sanjay Patel <spatel@rotateright.com> | 2015-02-03 18:54:00 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2015-02-03 18:54:00 +0000 |
commit | b7d562878440cedcca1cefa2ba445092f2f7753e (patch) | |
tree | 980ae9df231ed1a1d3ca2fc0bbbe654ef0bf9342 /clang/lib/Analysis/ThreadSafety.cpp | |
parent | 2e18729bcef90939b7d0be61a1503d64d5cae471 (diff) | |
download | llvm-b7d562878440cedcca1cefa2ba445092f2f7753e.zip llvm-b7d562878440cedcca1cefa2ba445092f2f7753e.tar.gz llvm-b7d562878440cedcca1cefa2ba445092f2f7753e.tar.bz2 |
Merge consecutive 16-byte loads into one 32-byte load (PR22329)
This patch detects consecutive vector loads using the existing
EltsFromConsecutiveLoads() logic. This fixes:
http://llvm.org/bugs/show_bug.cgi?id=22329
This patch effectively reverts the tablegen additions of D6492 /
http://reviews.llvm.org/rL224344 ...which in hindsight were a horrible hack.
The test cases that were added with that patch are simply modified to load
from varying offsets of a base pointer. These loads did not match the existing
tablegen patterns.
A happy side effect of doing this optimization earlier is that we can now fold
the load into a math op where possible; this is shown in some of the updated
checks in the test file.
Differential Revision: http://reviews.llvm.org/D7303
llvm-svn: 228006
Diffstat (limited to 'clang/lib/Analysis/ThreadSafety.cpp')
0 files changed, 0 insertions, 0 deletions