Chad Rosier
1ef5d51ade
Add a front-end test case for r176036.
...
llvm-svn: 176038
2013-02-25 19:13:23 +00:00
Bill Wendling
e1c4a1babd
Update to use references to attribute groups instead of listing the attributes on the call/invoke instructions.
...
llvm-svn: 175878
2013-02-22 09:10:20 +00:00
Chad Rosier
7ef6fd3402
[ms-inline asm] Remove this test while I investigate why eax isn't being clobbered.
...
llvm-svn: 175637
2013-02-20 17:39:31 +00:00
Chad Rosier
77d56be3f0
Add test case for r175312.
...
llvm-svn: 175313
2013-02-15 21:58:41 +00:00
Chad Rosier
5bdd8ed74d
[ms-inline asm] Add test case for r175083.
...
llvm-svn: 175084
2013-02-13 21:34:54 +00:00
Chad Rosier
8356d091bf
[ms-inline-asm] Test cases to ensure the AsmRewrite list is sorted (r175021).
...
Part of rdar://13202662
llvm-svn: 175022
2013-02-13 01:06:08 +00:00
Chad Rosier
3ea602cd30
[ms-inline-asm] Add test cases for the align/emit directives.
...
Part of rdar://13200215
llvm-svn: 175009
2013-02-12 21:34:14 +00:00
Chad Rosier
868d668e78
[ms-inline asm] Update test case now that we are correctly parsing __emit directives.
...
llvm-svn: 175000
2013-02-12 19:42:57 +00:00
Chad Rosier
e348d2724a
Typo.
...
llvm-svn: 174995
2013-02-12 19:15:05 +00:00
Chad Rosier
e90add40a9
[ms-inline asm] Add a few test cases for the parsing of hexidecimal integers.
...
llvm-svn: 174989
2013-02-12 18:45:21 +00:00
Chad Rosier
e3aac2c864
[ms-inline asm] Remove the -fenable-experimental-ms-inline-asm flag. MS-style
...
inline assembly can be enable with -fasm-blocks or -fms-extensions alone.
llvm-svn: 173186
2013-01-22 19:38:32 +00:00
Chad Rosier
e343bc83f0
[ms-inline asm] Updates and test case for r172743.
...
Part of rdar://12576868
llvm-svn: 172744
2013-01-17 19:22:48 +00:00
Chad Rosier
97b5895029
[ms-inline asm] Add test case for r172121.
...
Part of rdar://12991541
llvm-svn: 172122
2013-01-10 22:11:28 +00:00
Chad Rosier
d35ae732ac
[ms-inline asm] Add a test case for the offset operator where the operand is a
...
global variable.
llvm-svn: 171919
2013-01-08 23:51:48 +00:00
Chad Rosier
8f980ef08c
Test case for r171784.
...
llvm-svn: 171785
2013-01-07 20:34:40 +00:00
Chad Rosier
c8e56e8931
[driver, ms-inline asm] MS-Style inline assembly is controlled by the
...
-fasm-blocks flag, not the -fms-extensions flag.
rdar://12808010
llvm-svn: 169422
2012-12-05 21:08:21 +00:00
Chad Rosier
ed92815cb0
[ms-inline asm] Add more tests.
...
llvm-svn: 169411
2012-12-05 19:52:05 +00:00
Chad Rosier
0473d5429c
[ms-inline asm] Test case for r166790.
...
llvm-svn: 166791
2012-10-26 18:04:45 +00:00
Chad Rosier
77c8aca06a
[ms-inline asm] Add a test case for r166723 and r166724.
...
llvm-svn: 166725
2012-10-25 21:52:03 +00:00
Chad Rosier
602d09d0aa
[ms-inline asm] Test case for r166632.
...
llvm-svn: 166633
2012-10-24 22:22:12 +00:00
Chad Rosier
340c1ca0f3
[ms-inline asm] Add test cases for r166451.
...
llvm-svn: 166600
2012-10-24 17:48:01 +00:00
Chad Rosier
42146d9a06
[ms-inline asm] Add test cases for r166592. The test cases only works if the
...
source operand is a register.
llvm-svn: 166594
2012-10-24 17:23:06 +00:00
Chad Rosier
03c181b021
[ms-inline asm] Update the triple to test r166523.
...
llvm-svn: 166524
2012-10-23 23:32:21 +00:00
Chad Rosier
b8097dec8f
[ms-inline asm] Update for r166433.
...
llvm-svn: 166489
2012-10-23 17:44:40 +00:00
Eli Friedman
01e4d5937a
Testcase change for r166440.
...
llvm-svn: 166441
2012-10-22 20:50:45 +00:00
Chad Rosier
f7000f8c5b
[ms-inline asm] Test case for r166433.
...
llvm-svn: 166434
2012-10-22 19:43:17 +00:00
Chad Rosier
03c20e83b8
[ms-inline asm] Update test case for r166357.
...
llvm-svn: 166358
2012-10-20 00:47:32 +00:00
Chad Rosier
4e11eec116
[ms-inline asm] Test case for r166349 and r166352.
...
llvm-svn: 166353
2012-10-19 23:16:17 +00:00
Chad Rosier
81bf0e81e0
[ms-inline asm] Update testcase for r166316.
...
llvm-svn: 166317
2012-10-19 20:57:37 +00:00
Chad Rosier
14e0bb54a5
[ms-inline asm] Revert accidental commit. Sorry for the churn.
...
llvm-svn: 166312
2012-10-19 20:38:09 +00:00
Chad Rosier
46d8fc9d6b
[ms-inline asm] Set the SemaCallback in the TargetAsmParser.
...
llvm-svn: 166310
2012-10-19 20:36:37 +00:00
Chad Rosier
0eea516789
[ms-inline asm] Remove accidental commit.
...
llvm-svn: 166193
2012-10-18 17:51:43 +00:00
Chad Rosier
ce2bcbf8c0
[ms-inline asm] Move most of the AsmParsing logic in clang back into the MC
...
layer. Use the new ParseMSInlineAsm() API and add an implementation of the
MCAsmParserSemaCallback interface.
llvm-svn: 166184
2012-10-18 15:49:40 +00:00
Chad Rosier
4a0054f383
[ms-inline asm] Rework the front-end to use the API introduced in r165946.
...
-The front-end now builds a single assembly string and feeds it to the
AsmParser. The front-end iterates on a per statement basis by calling the
ParseStatement() function. Please note, the calling of ParseStatement() and
and any notion of MCAsmParsedOperands will be sunk into the MC layer in the
near future. I plan to expose more basic APIs such as getClobbers, etc.
-The enumeration of the AsmString expressions have been reworked to use SMLocs
rather than assembly Pieces, which were being parsed in the front-end.
-The test case, t8(), was modified due to r129223. I'll have to find a way to
work around things such as these.
Sorry for the large commit, but breaking this in multiple smaller commits proved
too irritating.
llvm-svn: 165957
2012-10-15 19:56:10 +00:00
Chad Rosier
941faac455
[ms-inline asm] Remove a bunch of parsing code from the front-end, which will be
...
reimplemented in the AsmParser where it belongs.
llvm-svn: 165825
2012-10-12 21:37:00 +00:00
Chad Rosier
dc12c45058
[ms-inline asm] Remove a bunch of parsing code from the front-end, which will be
...
reimplemented in the AsmParser where it belongs.
llvm-svn: 165752
2012-10-11 21:44:41 +00:00
Chad Rosier
e66f42634f
[ms-inline asm] Lookup the IdentifierInfo using the Idents table and remove the
...
now unused static helper function.
The test case needs to be remove temporarily until I can better filter memory
operands that aren't actual variable reference.
llvm-svn: 165751
2012-10-11 21:28:29 +00:00
Chad Rosier
3fd3330a62
Test case for r165275.
...
llvm-svn: 165276
2012-10-04 23:59:54 +00:00
Chad Rosier
bea1fa1ac3
Update test case for r165174.
...
llvm-svn: 165175
2012-10-03 22:18:51 +00:00
Chad Rosier
7768299b98
[ms-inline asm] Fixup test case to be valid ms-style asm. Fix whitespace.
...
llvm-svn: 165045
2012-10-02 20:55:30 +00:00
NAKAMURA Takumi
6bbfd1aeca
clang/test/CodeGen/ms-inline-asm.c: It requires x86 codegen. Reported by Joey Gouly.
...
llvm-svn: 164775
2012-09-27 14:55:08 +00:00
Chad Rosier
b261a50b40
[ms-inline asm] Handle the enumeration of input and output expressions in a
...
more robust way to address a few FIXMEs.
The initial implementation, r163342, built the IR asm string and then tried to
patch things on the fly without enough context. Specifically, it didn't skip
mnemonics nor did it track with assembly instruction an expression was related
to. The new implementation patches the operands and then builds the final
IR string.
llvm-svn: 163756
2012-09-13 00:06:55 +00:00
Chad Rosier
24f3a14026
Whitespace.
...
llvm-svn: 163751
2012-09-12 23:03:48 +00:00
Chad Rosier
e4e6424255
Fix test case for Release builds.
...
llvm-svn: 163737
2012-09-12 20:13:11 +00:00
Chad Rosier
fb901cac60
[ms-inline asm] Add a test case.
...
llvm-svn: 163731
2012-09-12 18:34:34 +00:00
Chad Rosier
bb8795e100
[ms-inline asm] Test case for r163729.
...
llvm-svn: 163730
2012-09-12 18:25:06 +00:00
Chad Rosier
57cd91f683
[ms-inline asm] If we have a single asm operand that maps to multiple
...
MCOperands then iterate over all of then when computing clobbers, inputs and
outputs.
On x86 the 1-to-many mapping is a memory operand that includes a BaseReg(reg),
MemScale(imm), MemIndexReg(reg), an Expr(MCExpr or imm) and a MemSegReg(reg).
Invalid register (Op.getReg() == 0) are not considered when computing clobber.
llvm-svn: 163728
2012-09-12 18:14:25 +00:00
Chad Rosier
bd7fdadb90
[ms-inline asm] Add $$ before numeric constants in the IR.
...
llvm-svn: 163581
2012-09-11 00:51:28 +00:00
Chad Rosier
46b0a0adbe
[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.
llvm-svn: 163345
2012-09-06 19:56:25 +00:00
Chad Rosier
c05d2c908d
[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.
llvm-svn: 163342
2012-09-06 19:35:00 +00:00