| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[NFC][amdgpuarch] Correct file names in file header comments (#92294) | 2 年前 | |
[Support] Don't include VirtualFileSystem.h in CommandLine.h CommandLine.h is indirectly included in ~50% of TUs when building clang, and VirtualFileSystem.h is large. (Already remarked by jhenderson on D70769.) No behavior change. Differential Revision: https://reviews.llvm.org/D100957 | 5 年前 | |
[clang] Use StringRef::{starts,ends}_with (NFC) (#75149) This patch replaces uses of StringRef::{starts,ends}with with StringRef::{starts,ends}_with for consistency with std::{string,string_view}::{starts,ends}_with in C++20. I'm planning to deprecate and eventually remove StringRef::{starts,ends}with. | 2 年前 | |
[SystemZ][z/OS] Complete EBCDIC I/O support (#75212) This patch completes the support for EBCDIC I/O support on z/OS using the autoconversion functions. | 2 年前 | |
Fix memory leak in unit test | 2 年前 | |
[syntax] Introduce a TokenManager interface. TokenManager defines Token interfaces for the clang syntax-tree. This is the level of abstraction that the syntax-tree should use to operate on Tokens. It decouples the syntax-tree from a particular token implementation (TokenBuffer previously). This enables us to use a different underlying token implementation for the syntax Leaf node -- in clang pseudoparser, we want to produce a syntax-tree with its own pseudo::Token rather than syntax::Token. Differential Revision: https://reviews.llvm.org/D128411 | 3 年前 | |
clang-{tools,unittests}: Stop using SourceManager::getBuffer, NFC Update clang-tools-extra, clang/tools, clang/unittests to migrate from SourceManager::getBuffer, which returns an always dereferenceable MemoryBuffer*, to getBufferOrNone or getBufferOrFake, both of which return a MemoryBufferRef, depending on whether the call site was checking for validity of the buffer. No functionality change intended. Differential Revision: https://reviews.llvm.org/D89416 | 5 年前 | |
[clang] Use StringRef::{starts,ends}_with (NFC) (#75149) This patch replaces uses of StringRef::{starts,ends}with with StringRef::{starts,ends}_with for consistency with std::{string,string_view}::{starts,ends}_with in C++20. I'm planning to deprecate and eventually remove StringRef::{starts,ends}with. | 2 年前 | |
clang-format-vs : Fix Unicode formatting Use UTF-8 for communication with clang-format and convert the replacements offset/length to characters position/count. Internally VisualStudio.Text.Editor.IWpfTextView use sequence of Unicode characters encoded using UTF-16 and use characters position/count for manipulating text. Resolved "Error while running clang-format: Specified argument was out of the range of valid values. Parameter name: replaceSpan". Patch by empty2fill! Differential revision: https://reviews.llvm.org/D70633 | 6 年前 | |
[clang-format] Fix a serious bug in git clang-format -f (#102629) With the --force (or -f) option, git-clang-format wipes out input files excluded by a .clang-format-ignore file if they have unstaged changes. This patch adds a hidden clang-format option --list-ignored that lists such excluded files for git-clang-format to filter out. Fixes #102459. (cherry picked from commit 986bc3d0719af653fecb77e8cfc59f39bec148fd) | 1 年前 | |
[clang-fuzzer-dictionary] Fix build failure with libfuzzer (#99871) | 1 年前 | |
[clang] NFCI: Change returned LanguageOptions pointer to reference | 2 年前 | |
[InstallAPI] Pick up input headers by directory traversal (#94508) Match TAPI behavior and allow input headers to be resolved via a passed directory, which is expected to be a library sitting in a build directory. | 2 年前 | |
[ClangLinkerWrapper] Fix intermediate file naming for multi-arch compilation (#99325) When save-temps is enabled and the given offload-archs differ only in target features with the same arch, the intermediate postlink.bc and postopt.bc files were getting overwritten. This fix, suffixes the intermediate file names with the complete TargetID. E.g. helloworld.amdgcn-amd-amdhsa.gfx90a:xnack+.postlink.bc and helloworld.amdgcn-amd-amdhsa.gfx90a:xnack+.postopt.bc | 2 年前 | |
[Clang] Correctly forward --cuda-path to the nvlink wrapper (#100170) Summary: This was not forwarded properly as it would try to pass it to nvlink. Fixes https://github.com/llvm/llvm-project/issues/100168 (cherry picked from commit 7e1fcf5dd657d465c3fc846f56c6f9d3a4560b43) | 1 年前 | |
[HIP] add --offload-compression-level= option (#83605) Added --offload-compression-level= option to clang and -compression-level= option to clang-offload-bundler for controlling compression level. Added support of long distance matching (LDM) for llvm::zstd which is off by default. Enable it for clang-offload-bundler by default since it improves compression rate in general. Change default compression level to 3 for zstd for clang-offload-bundler since it works well for bundle entry size from 1KB to 32MB, which should cover most of the clang-offload-bundler usage. Users can still specify compression level by -compression-level= option if necessary. | 2 年前 | |
[llvm-ar][Archive] Use getDefaultTargetTriple instead of host triple for the fallback archive format. (#82888) | 2 年前 | |
[clang] Use StringRef::{starts,ends}_with (NFC) (#75149) This patch replaces uses of StringRef::{starts,ends}with with StringRef::{starts,ends}_with for consistency with std::{string,string_view}::{starts,ends}_with in C++20. I'm planning to deprecate and eventually remove StringRef::{starts,ends}with. | 2 年前 | |
[emacs] Fix Emacs library formatting (#76110) This makes it easier to ship/install these using the builtin Emacs package format (in particular, a Version is required). | 2 年前 | |
[clang-repl] Always do export_executable_symbols_for_plugins(clang-repl) It's needed to make clang-repl work in -DCLANG_PLUGIN_SUPPORT=OFF configured builds (at least on mac). See discussion on https://github.com/llvm/llvm-project/pull/89811 | 2 年前 | |
[clang-scan-deps] Don't inspect Args[0] as an option (#109050) Since a26ec542371652e1d774696e90016fd5b0b1c191, we expand the executable name to an absolute path, if it isn't already one, if found in path. This broke a couple tests in some environments; when the clang workdir resides in a path under e.g. /opt. Tests that only use a tool name like "clang-cl" would get expanded to the absolute path in the build tree. The loop for finding the last "-o" like option for clang-cl command lines would inspect all arguments, including Args[0] which is the executable name itself. As an /opt path matches Arg.starts_with("/o"), this would get detected as an object file output name in cases where there was no other explicit output argument. Thus, this fixes those tests in workdirs under e.g. /opt. (cherry picked from commit cead9044a995910306e2e64b426fcc8042d7e0ef) | 1 年前 | |
[CMake] Add support for building on illumos (#74930) illumos has an older version of the Solaris linker that does not support the GNU version script compat nor version scripts and does not support -Bsymbolic-functions. Treat illumos linker separately. The libclang/CMakeLists part lifted from NetBSD's pkgsrc. Build tested on Solaris 11.4 and OpenIndiana 2023.10. /usr/bin/ld --version ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.3260 ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1790 (illumos) | 2 年前 | |
[clang] Use portable "#!/usr/bin/env bash" shebang for tools and utils. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D110041 | 4 年前 | |
[clang] Use StringRef::operator== instead of StringRef::equals (NFC) (#91844) I'm planning to remove StringRef::equals in favor of StringRef::operator==. - StringRef::operator==/!= outnumber StringRef::equals by a factor of 24 under clang/ in terms of their usage. - The elimination of StringRef::equals brings StringRef closer to std::string_view, which has operator== but not equals. - S == "foo" is more readable than S.equals("foo"), especially for !Long.Expression.equals("str") vs Long.Expression != "str". | 2 年前 | |
Reapply "Add source file name for template instantiations in -ftime-trace" (#99757) Reverts https://github.com/llvm/llvm-project/pull/99731 Remove accidentally added temporary file. Also, fix the uninitialized read of line number. | 1 年前 | |
[include-mapping] Python fixes - Move the multiprocessing.Pool initializer to a top-level function, it was previously causing a pickle failure with my machine's python. - Change the env python to env python3 for convenience | 2 年前 | |
[libclang] Fix symbol version of getBinaryOpcode functions (#101820) #98489 resurrected an [old patch](https://reviews.llvm.org/D10833) that was adding new libclang functions. That PR got merged with old LLVM_13 symbol versions for new functions. This patch fixes this oversight. (cherry picked from commit 2bae7aeab42062e61d6f9d6458660d4a5646f7af) | 1 年前 | |
[Clang] Remove direct linking of offloading runtimes from the arch tools The tools amdgpu-arch and nvptx-arch are used to query the supported GPUs on a system to implement features like --offload-arch=native as well as generally being useful for setting up tests. However, we currently directly link these if they are availible. This patch removes this because it causes many problems on the user not having the libaries present or misconfigured at build time. Since these are built unconditionally we shoudl keep the dependencies away from clang. Fixes https://github.com/llvm/llvm-project/issues/62784 Reviewed By: ye-luo Differential Revision: https://reviews.llvm.org/D150807 | 3 年前 | |
[clang] Install scan-build-py into plain "lib" directory (#106612) Install scan-build-py modules into the plain lib directory, without LLVM_LIBDIR_SUFFIX appended, to match the path expected by intercept-build executable. This fixes the program being unable to find its modules. Using unsuffixed path makes sense here, since Python modules are not subject to multilib. This change effectively reverts 1334e129a39cb427e7b855e9a711a3e7604e50e5. The commit in question changed the path without a clear justification ("does not respect the given prefix") and the Python code was never modified to actually work with the change. Fixes #106608 (cherry picked from commit 0c4cf79defe30d43279bf4526cdf32b6c7f8a197) | 1 年前 | |
[clang] Clean up macOS version flags (#95374) The -mmacos-version-min flag is preferred over -mmacosx-version-min. This patch updates the tests and documentation to make this clear and also adds the missing logic to scan build to handle the new flag. Fixes #86376. Co-authored-by: Gabor Horvath <gaborh@apple.com> | 2 年前 | |
[clang] scan-view: Remove unused python import Python's module imp is not being used and is not available on Python 3.12 anymore. Reviewed By: tbaeder Differential Revision: https://reviews.llvm.org/D155192 | 2 年前 | |
[Clang] Introduce 'clang-nvlink-wrapper' to work around 'nvlink' (#96561) Summary: The clang-nvlink-wrapper is a utility that I removed awhile back during the transition to the new driver. This patch adds back in a new, upgraded version that does LTO + archive linking. It's not an easy choice to reintroduce something I happily deleted, but this is the only way to move forward with improving GPU support in LLVM. While NVIDIA provides a linker called 'nvlink', its main interface is very difficult to work with. It does not provide LTO, or static linking, requires all files to be named a non-standard .cubin, and rejects link jobs that other linkers would be fine with (i.e empty). I have spent a great deal of time hacking around this in the GPU libc implementation, where I deliberately avoid LTO and static linking and have about 100 lines of hacky CMake dedicated to storing these files in a format that the clang-linker-wrapper accepts to avoid this limitation. The main reason I want to re-intorudce this tool is because I am planning on creating a more standard C/C++ toolchain for GPUs to use. This will install files like the following. <install>/lib/nvptx64-nvidia-cuda/libc.a <install>/lib/nvptx64-nvidia-cuda/libc++.a <install>/lib/nvptx64-nvidia-cuda/libomp.a <install>/lib/clang/19/lib/nvptx64-nvidia-cuda/libclang_rt.builtins.a Linking in these libraries will then simply require passing -lc like is already done for non-GPU toolchains. However, this doesn't work with the currently deficient nvlink linker, so I consider this a blocking issue to massively improving the state of building GPU libraries. In the future we may be able to convince NVIDIA to port their linker to ld.lld, but for now this is the only workable solution that allows us to hack around the weird behavior of their closed-source software. This also copies some amount of logic from the clang-linker-wrapper, but not enough for it to be worthwhile to merge them I feel. In the future it may be possible to delete that handling from there entirely. | 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 4 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 年前 |