diff options
| author | Reid Kleckner <reid@kleckner.net> | 2014-08-01 20:21:24 +0000 |
|---|---|---|
| committer | Reid Kleckner <reid@kleckner.net> | 2014-08-01 20:21:24 +0000 |
| commit | 5b37c181291210bedfbb7a6af5d51229f3652ef0 (patch) | |
| tree | 6815b7ab9469f59dbe577dad26d82e0f4fe7c785 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
| parent | 455768e2af7ef774b40510a82d034a78a4504639 (diff) | |
| download | llvm-5b37c181291210bedfbb7a6af5d51229f3652ef0.zip llvm-5b37c181291210bedfbb7a6af5d51229f3652ef0.tar.gz llvm-5b37c181291210bedfbb7a6af5d51229f3652ef0.tar.bz2 | |
MS inline asm: Use memory constraints for functions instead of registers
This is consistent with how we parse them in a standalone .s file, and
inline assembly shouldn't differ.
This fixes errors about requiring more registers than available in
cases like this:
void f();
void __declspec(naked) g() {
__asm pusha
__asm call f
__asm popa
__asm ret
}
There are no registers available to pass the address of 'f' into the asm
blob. The asm should now directly call 'f'.
Tests will land in Clang shortly.
llvm-svn: 214550
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
