diff options
author | Chad Rosier <mcrosier@apple.com> | 2012-10-30 19:11:54 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2012-10-30 19:11:54 +0000 |
commit | 9e1274fb4825e3e68f4bff2d32ab742932caa9f0 (patch) | |
tree | 923aa1c2cf3a64a457fcab1b5a5192d7bea6b25d /llvm/lib/CodeGen/MachineVerifier.cpp | |
parent | 8e50aba5f9734f7a083b6425b46cbc008e9ef0d0 (diff) | |
download | bcm5719-llvm-9e1274fb4825e3e68f4bff2d32ab742932caa9f0.tar.gz bcm5719-llvm-9e1274fb4825e3e68f4bff2d32ab742932caa9f0.zip |
[inline asm] Implement mayLoad and mayStore for inline assembly. In general,
the MachineInstr MayLoad/MayLoad flags are based on the tablegen implementation.
For inline assembly, however, we need to compute these based on the constraints.
Revert r166929 as this is no longer needed, but leave the test case in place.
rdar://12033048 and PR13504
llvm-svn: 167040
Diffstat (limited to 'llvm/lib/CodeGen/MachineVerifier.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachineVerifier.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/MachineVerifier.cpp b/llvm/lib/CodeGen/MachineVerifier.cpp index dca68da2f3e..69a3ae84ec9 100644 --- a/llvm/lib/CodeGen/MachineVerifier.cpp +++ b/llvm/lib/CodeGen/MachineVerifier.cpp @@ -707,8 +707,9 @@ void MachineVerifier::verifyInlineAsm(const MachineInstr *MI) { report("Asm string must be an external symbol", MI); if (!MI->getOperand(1).isImm()) report("Asm flags must be an immediate", MI); - // Allowed flags are Extra_HasSideEffects = 1, and Extra_IsAlignStack = 2. - if (!isUInt<2>(MI->getOperand(1).getImm())) + // Allowed flags are Extra_HasSideEffects = 1, Extra_IsAlignStack = 2, + // Extra_AsmDialect = 4, Extra_MayLoad = 8, and Extra_MayStore = 16. + if (!isUInt<5>(MI->getOperand(1).getImm())) report("Unknown asm flags", &MI->getOperand(1), 1); assert(InlineAsm::MIOp_FirstOperand == 2 && "Asm format changed"); |