[all-commits] [llvm/llvm-project] a09bec: [libc] Move the definitions of the standard IO str...
Joseph Huber via All-commits
all-commits at lists.llvm.org
Thu Jun 15 05:07:03 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a09bec6459331e7f949c2ed3df6102de52d25f5d
https://github.com/llvm/llvm-project/commit/a09bec6459331e7f949c2ed3df6102de52d25f5d
Author: Joseph Huber <jhuber6 at vols.utk.edu>
Date: 2023-06-15 (Thu, 15 Jun 2023)
Changed paths:
M libc/src/__support/File/gpu/file.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/stdio/stderr.cpp
M libc/src/stdio/stdin.cpp
M libc/src/stdio/stdout.cpp
Log Message:
-----------
[libc] Move the definitions of the standard IO streams to the platform
This patch moves the definitions of the standard IO streams to the
platform file definition. This is necessary because previously we had a
level of indirection where the stream's `FILE *` was initialized based
on the pointer to the internal `__llvm_libc` version. This cannot be
resolved ahead of time by the linker because the address will not be
known until runtime. This caused the previous implementation to emit a
global constructor to initialize the pointer to the actual `FILE *`. By
moving these definitions so that we can bind their address to the
original file type we can avoid this global constructor.
This file keeps the entrypoints, but makes them empty files only
containing an external reference. This is so they still appear as
entrypoints and get emitted as declarations in the generated headers.
Reviewed By: lntue, sivachandra
Differential Revision: https://reviews.llvm.org/D152983
Commit: e96bec9cd8e14ee2174490c0ce09cedfcd6be79e
https://github.com/llvm/llvm-project/commit/e96bec9cd8e14ee2174490c0ce09cedfcd6be79e
Author: Joseph Huber <jhuber6 at vols.utk.edu>
Date: 2023-06-15 (Thu, 15 Jun 2023)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/amdgpu-openmp-toolchain.c
Log Message:
-----------
[OpenMP] Correctly diagnose conflicting target identifierers for AMDGPU
There are static checks on the target identifiers allowed in a single
TU. Previously theses checks were only applied to HIP even though they
should be the same for OpenMP targeting AMDGPU. Simply enable these
checks for OpenMP.
Reviewed By: JonChesterfield, yaxunl
Differential Revision: https://reviews.llvm.org/D152965
Compare: https://github.com/llvm/llvm-project/compare/4e4bd29061de...e96bec9cd8e1
More information about the All-commits
mailing list