aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2021-09-16 13:31:31 +0300
committerMartin Storsjö <martin@martin.st>2021-09-17 21:39:25 +0300
commitd13d9da1fbe1a750f9c4fc3f4da31c9d16a530d3 (patch)
tree9b9155e8e4ac7df309eb0ca18392b5a348e27636 /llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
parent338f21a4bd6b43d9a2eb00929d24cefeb0ccf581 (diff)
downloadllvm-d13d9da1fbe1a750f9c4fc3f4da31c9d16a530d3.zip
llvm-d13d9da1fbe1a750f9c4fc3f4da31c9d16a530d3.tar.gz
llvm-d13d9da1fbe1a750f9c4fc3f4da31c9d16a530d3.tar.bz2
[clang] [ARM] Don't set the strict alignment flag for armv7 on Windows
Windows on armv7 is as alignment tolerant as Linux. The alignment considerations in the Windows on ARM ABI are documented at https://docs.microsoft.com/en-us/cpp/build/overview-of-arm-abi-conventions?view=msvc-160#alignment. The document doesn't explicitly say in which state the OS configures the SCTLR.A register (and it's not accessible from user space to inspect), but in practice, unaligned loads/stores do work and seem to be as fast as aligned loads and stores. (Unaligned strd also does seem to work, contrary to Linux, but significantly slower, as they're handled by the kernel - exactly as the document describes.) Differential Revision: https://reviews.llvm.org/D109960
Diffstat (limited to 'llvm/lib/Analysis/ModuleSummaryAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions