| OLD | NEW |
| 1 //===-- llvm/InlineAsm.h - Class to represent inline asm strings-*- C++ -*-===// | 1 //===-- llvm/InlineAsm.h - Class to represent inline asm strings-*- C++ -*-===// |
| 2 // | 2 // |
| 3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
| 4 // | 4 // |
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
| 9 // | 9 // |
| 10 // This class represents the inline asm strings, which are Value*'s that are | 10 // This class represents the inline asm strings, which are Value*'s that are |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 | 81 |
| 82 const std::string &getAsmString() const { return AsmString; } | 82 const std::string &getAsmString() const { return AsmString; } |
| 83 const std::string &getConstraintString() const { return Constraints; } | 83 const std::string &getConstraintString() const { return Constraints; } |
| 84 | 84 |
| 85 /// Verify - This static method can be used by the parser to check to see if | 85 /// Verify - This static method can be used by the parser to check to see if |
| 86 /// the specified constraint string is legal for the type. This returns true | 86 /// the specified constraint string is legal for the type. This returns true |
| 87 /// if legal, false if not. | 87 /// if legal, false if not. |
| 88 /// | 88 /// |
| 89 static bool Verify(FunctionType *Ty, StringRef Constraints); | 89 static bool Verify(FunctionType *Ty, StringRef Constraints); |
| 90 | 90 |
| 91 // @LOCALMOD-START |
| 92 /// isAsmMemory - Returns true if the Instruction corresponds to |
| 93 /// ``asm("":::"memory")``, which is often used as a compiler barrier. |
| 94 /// |
| 95 bool isAsmMemory() const; |
| 96 // @LOCALMOD-END |
| 97 |
| 91 // Constraint String Parsing | 98 // Constraint String Parsing |
| 92 enum ConstraintPrefix { | 99 enum ConstraintPrefix { |
| 93 isInput, // 'x' | 100 isInput, // 'x' |
| 94 isOutput, // '=x' | 101 isOutput, // '=x' |
| 95 isClobber // '~x' | 102 isClobber // '~x' |
| 96 }; | 103 }; |
| 97 | 104 |
| 98 typedef std::vector<std::string> ConstraintCodeVector; | 105 typedef std::vector<std::string> ConstraintCodeVector; |
| 99 | 106 |
| 100 struct SubConstraintInfo { | 107 struct SubConstraintInfo { |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 293 return false; | 300 return false; |
| 294 RC = High - 1; | 301 RC = High - 1; |
| 295 return true; | 302 return true; |
| 296 } | 303 } |
| 297 | 304 |
| 298 }; | 305 }; |
| 299 | 306 |
| 300 } // End llvm namespace | 307 } // End llvm namespace |
| 301 | 308 |
| 302 #endif | 309 #endif |
| OLD | NEW |