Improved the interface of methods commuting operands, improved X86-FMA3 mem-folding...
[oota-llvm.git] / include / llvm / Target / TargetRegisterInfo.h
index a55815802895a430f139f0fa081b471608bd8f9f..b5daad006e1797233dce8e505ff30cf46d993586 100644 (file)
@@ -1022,6 +1022,24 @@ static inline raw_ostream &operator<<(raw_ostream &OS,
   return OS;
 }
 
+/// Helper class for printing lane masks.
+///
+/// They are currently printed out as hexadecimal numbers.
+/// Usage: OS << PrintLaneMask(Mask);
+class PrintLaneMask {
+protected:
+  LaneBitmask LaneMask;
+public:
+  PrintLaneMask(LaneBitmask LaneMask)
+    : LaneMask(LaneMask) {}
+  void print(raw_ostream&) const;
+};
+
+static inline raw_ostream &operator<<(raw_ostream &OS, const PrintLaneMask &P) {
+  P.print(OS);
+  return OS;
+}
+
 } // End llvm namespace
 
 #endif