[PATCH] D60349: [COFF, ARM64] Fix ABI implementation of struct returns

2019-04-17 Thread Sanjin Sijaric via Phabricator via cfe-commits
ssijaric added inline comments. Comment at: lib/CodeGen/MicrosoftCXXABI.cpp:1058 + + // 1. For return types <= 16 bytes, use the C return semantics. + richard.townsend.arm wrote: > Microsoft have updated the spec since this was written, it now says to check >

[PATCH] D56463: [SEH] Pass the frame pointer from SEH finally to finally functions

2019-01-15 Thread Sanjin Sijaric via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC351302: [SEH] Pass the frame pointer from SEH finally to finally functions (authored by ssijaric, committed by ). Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56463/new/

[PATCH] D56463: [SEH] Pass the frame pointer from SEH finally to finally functions

2019-01-11 Thread Sanjin Sijaric via Phabricator via cfe-commits
ssijaric updated this revision to Diff 181337. ssijaric added a comment. Address formatting comments. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56463/new/ https://reviews.llvm.org/D56463 Files: lib/CodeGen/CGException.cpp

[PATCH] D56463: [SEH] Pass the frame pointer from SEH finally to finally functions

2019-01-08 Thread Sanjin Sijaric via Phabricator via cfe-commits
ssijaric created this revision. ssijaric added reviewers: rnk, efriedma, mstorsjo, TomTan. The following test case, compiled with -OO -target=x86_64-windows-win32, returns an incorrect value. It returns 5, when it should return 9. The problem is that the frame pointer that the first finally

[PATCH] D49770: [ARM64] [Windows] Follow MS X86_64 C++ ABI when passing structs

2018-07-26 Thread Sanjin Sijaric via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC338076: [ARM64] [Windows] Follow MS X86_64 C++ ABI when passing structs (authored by ssijaric, committed by ). Repository: rC Clang https://reviews.llvm.org/D49770 Files:

[PATCH] D49770: [ARM64] [Windows] Follow MS X86_64 C++ ABI when passing structs

2018-07-26 Thread Sanjin Sijaric via Phabricator via cfe-commits
ssijaric updated this revision to Diff 157559. ssijaric added a comment. Last change before committing to address Reid's point of using CCK_MicrosoftWin64 for Windows on both X86_64 and ARM64. Repository: rC Clang https://reviews.llvm.org/D49770 Files: include/clang/Basic/TargetInfo.h

[PATCH] D49770: [ARM64] [Windows] Follow MS X86_64 C++ ABI when passing structs

2018-07-25 Thread Sanjin Sijaric via Phabricator via cfe-commits
ssijaric added a comment. Yes, it looks like the comment for the thumb case is applicable here as well. VC++ on ARM64 passes small structs with a destructor and a default copy constructor in a register, while clang passes them on the stack. I will probably address this in a separate patch.

[PATCH] D49770: [ARM64] [Windows] Follow MS X86_64 C++ ABI when passing structs

2018-07-24 Thread Sanjin Sijaric via Phabricator via cfe-commits
ssijaric created this revision. ssijaric added reviewers: rnk, mstorsjo, TomTan, haripul. Herald added a reviewer: javed.absar. Herald added subscribers: cfe-commits, chrib, kristof.beyls. Microsoft's C++ object model for ARM64 is the same as that for X86_64. For example, small structs with