summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaStmtAsm.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* [ms-inline asm] Use the new GetMCInstOperandNum() interface in the front-end.Chad Rosier2012-09-031-3/+20
| | | | llvm-svn: 163126
* Removed unused argument.Chad Rosier2012-09-031-3/+2
| | | | llvm-svn: 163105
* [ms-inline asm] Update for the MatchInstruction API change in r163101.Chad Rosier2012-09-031-5/+7
| | | | llvm-svn: 163102
* Revert r162424 now that the scoping issue has been fixed in r162444.Chad Rosier2012-08-281-2/+2
| | | | llvm-svn: 162797
* Tidy up.Chad Rosier2012-08-281-1/+1
| | | | llvm-svn: 162786
* [ms-inline asm] Add constraints to MSAsmStmt. We don't currently computeChad Rosier2012-08-281-8/+23
| | | | | | | the constraints, so in the interim we speculatively assume a 'r' constraint. This is expected to work for most cases on x86. llvm-svn: 162784
* [ms-inline asm] As part of a larger refactoring, rename AsmStmt to GCCAsmStmt.Chad Rosier2012-08-251-13/+13
| | | | | | No functional change intended. llvm-svn: 162632
* [ms-inline asm] Change the -fenable-experimental-ms-inline-asm option from a Chad Rosier2012-08-241-2/+0
| | | | | | | | | CodeGen option to a LangOpt option. In turn, hoist the guard into the parser so that we avoid the new (and fairly unstable) Sema/AST/CodeGen logic. This should restore the behavior of clang to that prior to r158325. <rdar://problem/12163681> llvm-svn: 162602
* Remove unnecessary calls to c_str.Benjamin Kramer2012-08-241-3/+3
| | | | llvm-svn: 162590
* [ms-inline asm] Generate the Input/Output expressions using Chad Rosier2012-08-241-7/+14
| | | | | | Sema::ActOnIdExpression(). llvm-svn: 162564
* Fix 80-column violation.Chad Rosier2012-08-241-1/+2
| | | | llvm-svn: 162560
* [ms-inline asm] Add the basic APIs for Exprs to the MSAsmStmt AST. Next we needChad Rosier2012-08-241-4/+16
| | | | | | generate the Input/Output expressions using Sema::ActOnIdExpression(). llvm-svn: 162509
* Now that ASTMultiPtr is nothing more than a array reference, make it a ↵Benjamin Kramer2012-08-231-3/+3
| | | | | | | | MutableArrayRef. This required changing all get() calls to data() and using the simpler constructors. llvm-svn: 162501
* [ms-inline asm] Rename a few induction variables to avoid confusion and silenceChad Rosier2012-08-231-7/+7
| | | | | | a gcc warning. llvm-svn: 162444
* Don't recycle loop variables (to keep GCC happy).Matt Beaumont-Gay2012-08-231-2/+2
| | | | llvm-svn: 162424
* Fix 80-column violation.Chad Rosier2012-08-231-1/+3
| | | | llvm-svn: 162416
* [ms-inline asm] Compute the inputs and outputs. No test case (yet) as thisChad Rosier2012-08-221-1/+28
| | | | | | requires codegen support. llvm-svn: 162410
* [ms-inline asm] Refactor code so that we can begin computing the Inputs/Outputs.Chad Rosier2012-08-221-11/+19
| | | | | | No functional change intended. llvm-svn: 162403
* [ms-inline asm] Add comments.Chad Rosier2012-08-221-1/+3
| | | | llvm-svn: 162396
* [ms-inline asm] Add comments.Chad Rosier2012-08-221-1/+6
| | | | llvm-svn: 162394
* [ms-inline asm] Add helper function. No functional change intended.Chad Rosier2012-08-221-2/+7
| | | | llvm-svn: 162393
* [ms-inline asm] Simplify logic. No functional change intended.Chad Rosier2012-08-221-7/+2
| | | | llvm-svn: 162392
* [ms-inline asm] Compute the token range for each instruction within the asm.Chad Rosier2012-08-221-4/+9
| | | | | | | Eventually, we'll need a way of mapping tokens (and their IdentifierInfo*) to the operands computed by buildMSAsmPieces(). llvm-svn: 162388
* [ms-inline asm] Simplify logic. No functional change intended.Chad Rosier2012-08-221-5/+11
| | | | llvm-svn: 162385
* [ms-inline asm] Start sending non-simple inline asms to the AsmParser.Chad Rosier2012-08-221-15/+27
| | | | | | | The parser still can't handle all cases, so fall back to emitting a simple MSAsmStmt if we get into trouble. llvm-svn: 162382
* [ms-inline asm] Remove the patchMSAsmStrings function. After some discussionChad Rosier2012-08-211-134/+17
| | | | | | | between Bob, Jim, Eric and I, we've decided to take a slightly different approach. llvm-svn: 162327
* [ms-inline asm] Have buildMSAsmString build a vector of unmodified AsmStrings.Chad Rosier2012-08-211-7/+35
| | | | | | | | | | Add a new static function, buildMSAsmPieces, that will break these strings down into mnemonic and operands. Upon a match failure, the idea is to use the ErrorInfo from MatchInstructionImpl to inspect the mnemonic/operand and decide a course of action. Unfortunately, there's no easy way to test this at the moment. llvm-svn: 162321
* [ms-inline asm] Do not report a Parser error when matching inline assembly.Chad Rosier2012-08-211-1/+2
| | | | llvm-svn: 162307
* [ms-inline asm] Expose the ErrorInfo from the MatchInstructionImpl. In general,Chad Rosier2012-08-211-1/+3
| | | | | | this is the index of the operand that failed to match. llvm-svn: 162296
* [ms-inline asm] Append identifier for better debugging.Chad Rosier2012-08-211-0/+1
| | | | llvm-svn: 162289
* [ms-inline asm] Remove this test case and the associated special case code.Chad Rosier2012-08-211-6/+0
| | | | llvm-svn: 162288
* [ms-inline asm] Remove old cruft now that MS-style asms their own code path.Chad Rosier2012-08-201-4/+4
| | | | llvm-svn: 162210
* [ms-inline asm] Update comment.Chad Rosier2012-08-171-1/+1
| | | | llvm-svn: 162134
* [ms-inline asm] Extract AsmStmt handling into a separate file, so as to notChad Rosier2012-08-171-0/+635
pollute SemaStmt with extraneous asm handling logic. llvm-svn: 162132
OpenPOWER on IntegriCloud