Handle 'X' constraint in asm's better.
[oota-llvm.git] / include / llvm / Target / TargetLowering.h
index 003892ef04b273ea6935b65bc70bd8e927b547cc..40b45529da68e214f1f3f23da7c689db41d18f9b 100644 (file)
@@ -1006,6 +1006,11 @@ public:
     getRegForInlineAsmConstraint(const std::string &Constraint,
                                  MVT::ValueType VT) const;
   
+  /// LowerXConstraint - try to replace an X constraint, which matches anything,
+  /// with another that has more specific requirements based on the type of the
+  /// corresponding operand.
+  virtual void lowerXConstraint(MVT::ValueType ConstraintVT, 
+                                std::string&) const;
   
   /// LowerAsmOperandForConstraint - Lower the specified operand into the Ops
   /// vector.  If it is invalid, don't add anything to Ops.