Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Re-check in clang support gun asm goto after fixing tests. | Jennifer Yu | 2019-06-03 | 1 | -5/+5 |
| | | | | llvm-svn: 362410 | ||||
* | Revert "clang support gnu asm goto." | Erich Keane | 2019-05-30 | 1 | -5/+5 |
| | | | | | | | | | | | This reverts commit 954ec09aed4f2be04bb5f4e10dbb4ea8bd19ef9a. Reverting due to test failures as requested by Jennifer Yu. Conflicts: clang/test/CodeGen/asm-goto.c llvm-svn: 362106 | ||||
* | clang support gnu asm goto. | Jennifer Yu | 2019-05-30 | 1 | -5/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Syntax: asm [volatile] goto ( AssemblerTemplate : : InputOperands : Clobbers : GotoLabels) https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html New llvm IR is "callbr" for inline asm goto instead "call" for inline asm For: asm goto("testl %0, %0; jne %l1;" :: "r"(cond)::label_true, loop); IR: callbr void asm sideeffect "testl $0, $0; jne ${1:l};", "r,X,X,~{dirflag},~{fpsr},~{flags}"(i32 %0, i8* blockaddress(@foo, %label_true), i8* blockaddress(@foo, %loop)) #1 to label %asm.fallthrough [label %label_true, label %loop], !srcloc !3 asm.fallthrough: Compiler need to generate: 1> a dummy constarint 'X' for each label. 2> an unique fallthrough label for each asm goto stmt " asm.fallthrough%number". Diagnostic 1> duplicate asm operand name are used in output, input and label. 2> goto out of scope. llvm-svn: 362045 | ||||
* | [x86] Force mixes asm syntax test to check for x86 | Renato Golin | 2016-04-21 | 1 | -0/+1 |
| | | | | llvm-svn: 266993 | ||||
* | Correctly parse GCC-style asm line following MS-style asm line. | Denis Zobnin | 2016-04-21 | 1 | -0/+28 |
Quit parsing MS-style inline assembly if the following statement has GCC style. Enables compilation of code like void f() { __asm mov ebx, ecx __asm__("movl %ecx, %edx"); } Differential Revision: http://reviews.llvm.org/D18652 llvm-svn: 266976 |