ARM cost model: Address computation in vector mem ops not free
[oota-llvm.git] / include / llvm / Analysis / TargetTransformInfo.h
index 681b838bc734d0dcb87dc803d0af4ea8627f63fe..e1331a16b3bc15ff4bc905cb37cb94b9d3550385 100644 (file)
@@ -314,6 +314,12 @@ public:
   /// split during legalization. Zero is returned when the answer is unknown.
   virtual unsigned getNumberOfParts(Type *Tp) const;
 
+  /// \returns The cost of the address computation. For most targets this can be
+  /// merged into the instruction indexing mode. Some targets might want to
+  /// distinguish between address computation for memory operations on vector
+  /// types and scalar types. Such targets should override this function.
+  virtual unsigned getAddressComputationCost(Type *Ty) const;
+
   /// @}
 
   /// Analysis group identification.