[llvm] [AArch64] Add CodeGen support for FEAT_CPA (PR #105669)

Jessica Clarke via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 22 10:13:55 PDT 2024


================
@@ -434,6 +434,11 @@ class TargetMachine {
       function_ref<void(std::unique_ptr<Module> MPart)> ModuleCallback) {
     return false;
   }
+
+  /// True if target has some particular form of dealing with pointer arithmetic
+  /// semantics. False if pointer arithmetic should not be preserved for passes
+  /// such as instruction selection, and can fallback to regular arithmetic.
+  virtual bool shouldPreservePtrArith(const Function &F) const { return false; }
----------------
jrtc27 wrote:

Though getting the instruction in getMemBasePlusOffset isn't doable, and we really do need that interface to do the right thing whatever you throw at it. We add new `c<N>` types for capabilities that make it easy to know what you want to do, but CPA doesn't really fit in with that as they're still integers.

https://github.com/llvm/llvm-project/pull/105669


More information about the llvm-commits mailing list