[PATCH] [ARM64] Enable alignment control option in front-end for ARM64 - LLVM.
Kevin Qin
kevinqindev at gmail.com
Wed Apr 23 03:07:53 PDT 2014
Hi t.p.northover,
This is the modification in LLVM part.
http://reviews.llvm.org/D3467
Files:
lib/Target/ARM64/ARM64ISelLowering.cpp
Index: lib/Target/ARM64/ARM64ISelLowering.cpp
===================================================================
--- lib/Target/ARM64/ARM64ISelLowering.cpp
+++ lib/Target/ARM64/ARM64ISelLowering.cpp
@@ -45,9 +45,20 @@
cl::desc("Generate ARM64 tail calls (TEMPORARY OPTION)."),
cl::init(true));
-static cl::opt<bool>
-StrictAlign("arm64-strict-align", cl::Hidden,
- cl::desc("Disallow all unaligned memory accesses"));
+enum AlignMode {
+ StrictAlign,
+ NoStrictAlign
+};
+
+static cl::opt<AlignMode>
+Align(cl::desc("Load/store alignment support"),
+ cl::Hidden, cl::init(NoStrictAlign),
+ cl::values(
+ clEnumValN(StrictAlign, "arm64-strict-align",
+ "Disallow all unaligned memory accesses"),
+ clEnumValN(NoStrictAlign, "arm64-no-strict-align",
+ "Allow unaligned memory accesses"),
+ clEnumValEnd));
// Place holder until extr generation is tested fully.
static cl::opt<bool>
@@ -372,7 +383,7 @@
setDivIsWellDefined(true);
- RequireStrictAlign = StrictAlign;
+ RequireStrictAlign = (Align == StrictAlign);
setHasExtractBitsInsn(true);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D3467.8768.patch
Type: text/x-patch
Size: 1198 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140423/8ee2db2b/attachment.bin>
More information about the llvm-commits
mailing list