[PATCH] D100225: [Clang][AArch64] Coerce integer return values through an undef vector

2021-04-09 Thread Andrew Savonichev via Phabricator via cfe-commits
asavonic created this revision. Herald added subscribers: danielkiss, kristof.beyls. asavonic requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. If target ABI requires coercion to a larger type, higher bits of the resulting value are supposed

[PATCH] D100225: [Clang][AArch64] Coerce integer return values through an undef vector

2021-04-11 Thread Andrew Savonichev via Phabricator via cfe-commits
asavonic added a comment. In D100225#2681809 , @rjmccall wrote: > Why does the ABI "require" this to be returned as an i64 if some of the bits > are undefined? AArch64 ABI requires return values (of composite types) to be rounded up to 64 bits (see `AA

[PATCH] D100225: [Clang][AArch64] Coerce integer return values through an undef vector

2021-04-11 Thread Andrew Savonichev via Phabricator via cfe-commits
asavonic added a comment. So we can just remove this rounding from `classifyReturnType`? Thanks a lot John! I will upload this change as a separate review. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100225/new/ https://reviews.llvm.org/D100225

[PATCH] D100591: [Clang][AArch64] Disable rounding of return values for AArch64

2021-04-15 Thread Andrew Savonichev via Phabricator via cfe-commits
asavonic created this revision. asavonic added reviewers: rjmccall, dmgreen, t.p.northover, ostannard, sdesmalen, momchil.velikov, SjoerdMeijer. Herald added subscribers: mstorsjo, danielkiss, kristof.beyls. asavonic requested review of this revision. Herald added a project: clang. Herald added a

[PATCH] D100591: [Clang][AArch64] Disable rounding of return values for AArch64

2021-04-15 Thread Andrew Savonichev via Phabricator via cfe-commits
asavonic added inline comments. Comment at: clang/test/CodeGen/arm64-arguments.c:53 -// CHECK: define{{.*}} i64 @f12() +// CHECK: define{{.*}} i24 @f11_packed() +struct s11_packed { char c; short s } __attribute__((packed)); I'm not sure if `i24` here is a prob

[PATCH] D100591: [Clang][AArch64] Disable rounding of return values for AArch64

2021-04-15 Thread Andrew Savonichev via Phabricator via cfe-commits
asavonic added a comment. In D100591#2692599 , @rjmccall wrote: > I think the right thing to do here is to recognize generally that we're > emitting a mandatory tail call, and so suppress *all* the normal > transformations on the return value. I assume

[PATCH] D100591: [Clang][AArch64] Disable rounding of return values for AArch64

2021-04-22 Thread Andrew Savonichev via Phabricator via cfe-commits
asavonic added a comment. Ping. Please let me know if the patch is acceptable for AArch64, or something else should be done to avoid overhead from rounding of return values. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100591/new/ https://reviews

[PATCH] D109315: [clang] Check unsupported types in expressions

2021-10-15 Thread Andrew Savonichev via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG3dbcea8b957a: Reland [clang] Check unsupported types in expressions (authored by asavonic). Repository: rG LLVM Github Monorepo CHANGES SINCE LAS

[PATCH] D98895: [X86][clang] Disable long double type for -mno-x87 option

2021-10-22 Thread Andrew Savonichev via Phabricator via cfe-commits
asavonic updated this revision to Diff 381538. asavonic retitled this revision from "[X86][Draft] Disable long double type for -mno-x87 option" to "[X86][clang] Disable long double type for -mno-x87 option". asavonic edited the summary of this revision. asavonic added a comment. Herald added a rev

[PATCH] D109315: [clang] Check unsupported types in expressions

2021-09-06 Thread Andrew Savonichev via Phabricator via cfe-commits
asavonic created this revision. asavonic added reviewers: erichkeane, Fznamznon. asavonic requested review of this revision. Herald added a reviewer: jdoerfert. Herald added subscribers: cfe-commits, sstefan1. Herald added a project: clang. The patch adds diagnostics for cases like: float F3 =

[PATCH] D98895: [X86][Draft] Disable long double type for -mno-x87 option

2021-09-06 Thread Andrew Savonichev via Phabricator via cfe-commits
asavonic added a comment. Thanks @erichkeane. SPIR-V diagnostics seem to work fine. There are a few cases that are not handled, so I submitted D109315 to review them separately. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://review

[PATCH] D109315: [clang] Check unsupported types in expressions

2021-09-06 Thread Andrew Savonichev via Phabricator via cfe-commits
asavonic added inline comments. Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:10687 def err_device_unsupported_type -: Error<"%0 requires %select{|%2 bit size}1 %3 type support, but device " -"'%4' does not support it">; +: Error<"%select{|%1 b

[PATCH] D109315: [clang] Check unsupported types in expressions

2021-09-09 Thread Andrew Savonichev via Phabricator via cfe-commits
asavonic updated this revision to Diff 371693. asavonic added a comment. - Reworded the diagnostic. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D109315/new/ https://reviews.llvm.org/D109315 Files: clang/include/clang/Basic/DiagnosticSemaKinds.t

[PATCH] D109315: [clang] Check unsupported types in expressions

2021-09-10 Thread Andrew Savonichev via Phabricator via cfe-commits
asavonic updated this revision to Diff 371912. asavonic added a comment. Rebased Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D109315/new/ https://reviews.llvm.org/D109315 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td clang/include/c

[PATCH] D109315: [clang] Check unsupported types in expressions

2021-09-13 Thread Andrew Savonichev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGec6c847179fd: [clang] Check unsupported types in expressions (authored by asavonic). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D109315/new/ https://revie

<    1   2