This is an archive of the discontinued LLVM Phabricator instance.

[clang] avoid assert due to device treated long double as double
AbandonedPublic

Authored by cchen on May 26 2022, 12:04 PM.

Details

Summary

Clang is currently not able to build tests in Kokkos with hip backend and it is due to the type comparison in clang::CodeGen::CodeGenModule::EmitGlobalVarDefinition (https://reviews.llvm.org/D123649).

Diff Detail

Event Timeline

cchen created this revision.May 26 2022, 12:04 PM
Herald added a project: Restricted Project. · View Herald TranscriptMay 26 2022, 12:04 PM
cchen requested review of this revision.May 26 2022, 12:04 PM
Herald added a project: Restricted Project. · View Herald Transcript
cchen edited the summary of this revision. (Show Details)May 26 2022, 12:11 PM
cchen added inline comments.May 26 2022, 12:26 PM
clang/lib/CodeGen/CodeGenModule.cpp
4654

I only added the LangOpts that I'm familiar with but I believe there's more to add to the list.

This doesn't make sense to me. If clang and LLVM disagree about the layout of a type, you are going to run into trouble. If you haven't yet, it's a matter of time.

Looking at AMDGPUTargetInfo::setAuxTarget, maybe LongDoubleFormat is somehow inconsistent with LongDoubleWidth/LongDoubleAlign?

cchen abandoned this revision.Jun 28 2022, 12:28 AM