" to make use of cmpxchg flow-based information"),
cl::init(true));
+static cl::opt<bool> AArch64InterleavedAccessOpt(
+ "aarch64-interleaved-access-opt",
+ cl::desc("Optimize interleaved memory accesses in the AArch64 backend"),
+ cl::init(false), cl::Hidden);
+
static cl::opt<bool>
EnableEarlyIfConversion("aarch64-enable-early-ifcvt", cl::Hidden,
cl::desc("Run early if-conversion"),
if (TM->getOptLevel() != CodeGenOpt::None && EnableAtomicTidy)
addPass(createCFGSimplificationPass());
+ if (TM->getOptLevel() != CodeGenOpt::None && AArch64InterleavedAccessOpt)
+ addPass(createAArch64InterleavedAccessPass());
+
TargetPassConfig::addIRPasses();
if (TM->getOptLevel() == CodeGenOpt::Aggressive && EnableGEPOpt) {