summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/ms-inline-asm-return.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Bring r325915 back.Rafael Espindola2018-02-231-8/+8
| | | | | | | | | | | | | | | The tests that failed on a windows host have been fixed. Original message: Start setting dso_local for COFF. With this there are still some GVs where we don't set dso_local because setGVProperties is never called. I intend to fix that in followup commits. This is just the bare minimum to teach shouldAssumeDSOLocal what it should do for COFF. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@325940 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "Start setting dso_local for COFF."Rafael Espindola2018-02-231-8/+8
| | | | | | | | This reverts commit r325915. It will take some time to fix the failures on a windows host. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@325929 91177308-0d34-0410-b5e6-96231b3b80d8
* Start setting dso_local for COFF.Rafael Espindola2018-02-231-8/+8
| | | | | | | | | With this there are still some GVs where we don't set dso_local because setGVProperties is never called. I intend to fix that in followup commits. This is just the bare minimum to teach shouldAssumeDSOLocal what it should do for COFF. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@325915 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixups to FE tests affected by D36793Coby Tayree2017-08-241-2/+2
| | | | | | | Differential Revision: https://reviews.llvm.org/D36794 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311640 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "This patch enables the usage of constant Enum identifiers within ↵Eric Christopher2017-07-251-2/+2
| | | | | | | | Microsoft style inline assembly statements." as it is causing msan failures. This reverts commits r308985 and r308965 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@309004 91177308-0d34-0410-b5e6-96231b3b80d8
* This patch enables the usage of constant Enum identifiers within Microsoft ↵Matan Haroush2017-07-251-2/+2
| | | | | | | | | | | | style inline assembly statements. Differential Revision: https://reviews.llvm.org/D33277 https://reviews.llvm.org/D33278 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@308965 91177308-0d34-0410-b5e6-96231b3b80d8
* (clang part) Implement MASM-flavor intel syntax behavior for inline MS asm ↵Yunzhong Gao2016-09-021-5/+5
| | | | | | | | | | | | | | | | block. Clang tests for verifying the following syntaxes: 1. 0xNN and NNh are accepted as valid hexadecimal numbers, but 0xNNh is not. 0xNN and NNh may come with optional U or L suffix. 2. NNb is accepted as a valid binary (base-2) number, but 0bNN is not. NNb may come with optional U or L suffix. Differential Revision: https://reviews.llvm.org/D22112 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@280556 91177308-0d34-0410-b5e6-96231b3b80d8
* Update Clang tests to handle explicitly typed load changes in LLVM.David Blaikie2015-02-271-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230795 91177308-0d34-0410-b5e6-96231b3b80d8
* Require an x86 target for ms-inline-asm-return.cpp instead of XFAILReid Kleckner2014-09-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@217272 91177308-0d34-0410-b5e6-96231b3b80d8
* Mark ms-inline-asm as xfail on ARMRenato Golin2014-09-051-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@217241 91177308-0d34-0410-b5e6-96231b3b80d8
* Add triple to ms-inline-asm-return.cpp testReid Kleckner2014-09-041-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@217192 91177308-0d34-0410-b5e6-96231b3b80d8
* MS inline asm: Allow __asm blocks to set a return valueReid Kleckner2014-09-041-0/+99
If control falls off the end of a function after an __asm block, MSVC assumes that the inline assembly filled the EAX and possibly EDX registers with an appropriate return value. This functionality is used in inline functions returning 64-bit integers in system headers, so we need some amount of compatibility. This is implemented in Clang by adding extra output constraints to every inline asm block, and storing the resulting output registers into the return value slot. If we see an asm block somewhere in the function body, we emit a normal epilogue instead of marking the end of the function with a return type unreachable. Normal returns in functions not using this functionality will overwrite the return value slot, and in most cases LLVM should be able to eliminate the dead stores. Fixes PR17201. Reviewed By: majnemer Differential Revision: http://reviews.llvm.org/D5177 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@217187 91177308-0d34-0410-b5e6-96231b3b80d8