History log of /external/clang/lib/Sema/SemaStmtAsm.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c69164917460ff717fd0b02649a3d7b0c5096088 06-Sep-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Output empty asm statements for the directives we don't
handle. Otherwise, the AsmParser will explode if we try to generate an
object files.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
acc22b6b5a8ba501f896fb0d00afdff5c5a3f090 06-Sep-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] The IR representation of inline assembly enumerates the input
and output expressions much like that in GNU-style inline assembly. Output
expressions are first. Do this for MS-style inline asms.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
8cdd8a9f19146582aeadae3fe38ae21ffbe3deeb 05-Sep-2012 Chad Rosier <mcrosier@apple.com> Update for r163187.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163188 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
21a37047e56d717c7979fa653c9f30aae468608d 04-Sep-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] The MCInstrDesc only tracks register definitions. For now,
assume that if the 1st operands is an expression and the instruction mayStore,
then it is a memory definition.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
d5eb585a02d6905b5e6f83fd03a90d583a39ac82 04-Sep-2012 Chad Rosier <mcrosier@apple.com> Fix 80-column violation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163142 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
1b497f26ab7861b22383b22f35cf799c0b312c9b 03-Sep-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Use the new GetMCInstOperandNum() interface in the front-end.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163126 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
7065c52fc53ec3106a97b7c8d373df431f3bd4f3 03-Sep-2012 Chad Rosier <mcrosier@apple.com> Removed unused argument.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
be5c3fbec3a430bab2524e9315f58f64815bfeaf 03-Sep-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Update for the MatchInstruction API change in r163101.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
b706d9027cd8bbbaffa8b359a501cba52ace4c09 29-Aug-2012 Chad Rosier <mcrosier@apple.com> Revert r162424 now that the scoping issue has been fixed in r162444.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
4112a4c001c0ffe83962e5c6755c8b3e0d74b74c 28-Aug-2012 Chad Rosier <mcrosier@apple.com> Tidy up.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
89fb6d7eba51c7864ec544e07accd23b24057122 28-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add constraints to MSAsmStmt. We don't currently compute
the constraints, so in the interim we speculatively assume a 'r' constraint.
This is expected to work for most cases on x86.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162784 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
df5faf5e7ae6823d0af0b801c4ac26d47f2cee97 25-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] As part of a larger refactoring, rename AsmStmt to GCCAsmStmt.
No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
56d7f2348a182002563700db2158da0c6fc115a5 24-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Change the -fenable-experimental-ms-inline-asm option from a
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>


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
32f3acc0103055b1ef171fa94d1ee6d1deb0223e 24-Aug-2012 Benjamin Kramer <benny.kra@googlemail.com> Remove unnecessary calls to c_str.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
1016bdf939fd4a7b65793904610a7e647ec9d89f 24-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Generate the Input/Output expressions using
Sema::ActOnIdExpression().

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
8a30e7735a5c2b8b105734fc9b131cc43c56d765 24-Aug-2012 Chad Rosier <mcrosier@apple.com> Fix 80-column violation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
633abb0ea01d37ab9c8e4ce1ee9e48894a12dfca 24-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add the basic APIs for Exprs to the MSAsmStmt AST. Next we need
generate the Input/Output expressions using Sema::ActOnIdExpression().

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
5354e77e60e82828c7c2361f5c688c2667ab59cc 24-Aug-2012 Benjamin Kramer <benny.kra@googlemail.com> Now that ASTMultiPtr is nothing more than a array reference, make it a MutableArrayRef.

This required changing all get() calls to data() and using the simpler constructors.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
25bd2986db1c7b8ced84fe835f5465007de47892 23-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Rename a few induction variables to avoid confusion and silence
a gcc warning.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162444 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
2d5a1de741c94f15461b06cd09a65081c7ce3d70 23-Aug-2012 Matt Beaumont-Gay <matthewbg@google.com> Don't recycle loop variables (to keep GCC happy).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162424 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
60ce584e35503af623e14eeab8fd81df9f215dcd 23-Aug-2012 Chad Rosier <mcrosier@apple.com> Fix 80-column violation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162416 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
6e97be719edb4e3b9ac15353e79c60406b3dc429 23-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Compute the inputs and outputs. No test case (yet) as this
requires codegen support.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
fd5e56e35404cb44130b17546b6b5c1b33709d23 23-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Refactor code so that we can begin computing the Inputs/Outputs.
No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
682ad162f144ff8e8e5303d30bc48b6a6a41d0d6 22-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add comments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
358ab765f36f70d0744ede7dc35ce74c0911e77d 22-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add comments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
f0fbd776df77bc4b8b3e6ff3542b2e9117b2b905 22-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add helper function. No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162393 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
e78460f4335766b55c3da6a43fcd072671076458 22-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Simplify logic. No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162392 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
9072a026a111726022b4f1c7f0a925d642ae8991 22-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Compute the token range for each instruction within the asm.
Eventually, we'll need a way of mapping tokens (and their IdentifierInfo*) to
the operands computed by buildMSAsmPieces().


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
153f8ecb5169347e41a0734ee1698498d88b96c5 22-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Simplify logic. No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
2735df2eb16acfb92b8cd24e163e3a74a7a4d950 22-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Start sending non-simple inline asms to the AsmParser.

The parser still can't handle all cases, so fall back to emitting a simple
MSAsmStmt if we get into trouble.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
98ac608c79fb46e73715121018f0659fb3bbe3e8 22-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Remove the patchMSAsmStrings function. After some discussion
between Bob, Jim, Eric and I, we've decided to take a slightly different
approach.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162327 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
38c71d38e1b2a5f71c086b9c2efa9e8e69fa1bb5 21-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Have buildMSAsmString build a vector of unmodified AsmStrings.
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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
51a6b3f58b0dbbc51a77b8f4a509720954406ceb 21-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Do not report a Parser error when matching inline assembly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162307 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
83591b6d3f20ee84f4abe1c2574e90736aa84b11 21-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Expose the ErrorInfo from the MatchInstructionImpl. In general,
this is the index of the operand that failed to match.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162296 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
33a71f31af401100c8f267627ec40465029acff9 21-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Append identifier for better debugging.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
7fcde17284f5b18b18d858bbbc81898f58f3c296 21-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Remove this test case and the associated special case code.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
df4ee102aa909e2f40c294701bfeffac63e8d29b 20-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Remove old cruft now that MS-style asms their own code path.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
3d45a7739bae1e9c53c94ebb38c4339bd8ec0ca6 17-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Update comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp
4b5e48d39eb94ee12f3d89df60525053d8b0275e 17-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Extract AsmStmt handling into a separate file, so as to not
pollute SemaStmt with extraneous asm handling logic.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/SemaStmtAsm.cpp