jhuber6 added inline comments.
================ Comment at: clang/lib/CodeGen/CodeGenModule.cpp:6845-6846 + llvm::MD5::MD5Result Result; + for (const auto &Arg : PreprocessorOpts.Macros) + Hash.update(Arg.first); + Hash.final(Result); ---------------- yaxunl wrote: > jhuber6 wrote: > > yaxunl wrote: > > > Are these options always the same for device and host compilation? > > > > > > If not, this may not work since host and device compilation will have > > > different names for the same variable. > > This should only be definitions passed to the front-end via `-D`. There's a > > handful of these that the Clang driver will pass in, e.g. > > `-D__GCC_HAVE_DWARF2_CFI_ASM=1`, but as far as I know it's consistent > > between host and device compilations. > Can we add a comment here saying that this requires that device offloading > toolchain does not add preprocessor arguments to clang? This is a hidden > requirement. Yeah, it's a bit of a hidden requirement. Most toolchains add specific macros via the regular macro builder so this has worked for the configurations I've tested. I'll add a comment for it so it's at least mentioned more explicitly. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D125904/new/ https://reviews.llvm.org/D125904 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits