- Apr 18, 2023
-
-
Anton Korobeynikov authored
Add MSP430 to the list of available targets, implement MSP430 ABI, add support for debugging targets with 16-bit address size. The update is intended for use with MSPDebug, a GDB server implementation for MSP430. Reviewed By: bulbazord, DavidSpickett Differential Revision: https://reviews.llvm.org/D146965
-
Yitzhak Mandelbaum authored
Adjusts the matchers in the optional model to avoid dependency on internal implementation details of libc++'s `std::optional`. In the process, factors out the code to check the name of these types so that it's shared throughout. Differential Revision: https://reviews.llvm.org/D148377
-
Yitzhak Mandelbaum authored
This patch refines the matching of the relevant optional types to anchor on the global namespace. Previously, we could match anything with the right name (e.g. `base::Optional`) even if nested within other namespaces. This over matching resulted in an assertion violation when _different_ `base::Optional` was encountered nested inside another namespace. Fixes issue #57036. Differential Revision: https://reviews.llvm.org/D148344
-
Markus Mützel authored
Function arguments or return values that are complex floating point values aren't correctly lowered for Windows x86 32-bit and 64-bit targets. See: https://github.com/llvm/llvm-project/issues/61976 Add targets that are specific for these platforms and OS. With thanks to @mstorsjo for pointing out the fix. Reviewed By: vzakhari Differential Revision: https://reviews.llvm.org/D147768
-
Han Zhu authored
V2: Fix cmake error when -DLLVM_APPEND_VC_REV=OFF Clang may be built in an environment where Git is not available. In our case, Clang is part of a larger monorepo which is not Git-based, and GenerateVersionFromVCS was not able to get source info. Provide options to pass in repo and revision info from cmake. ``` cmake \ -DCLANG_VC_REPOSITORY=abc://repo.url.com \ -DCLANG_VC_REVISION=abcd1234 \ ... ``` This would allow us to prepare the source info beforehand and pass it to the clang binary. Differential Revision: https://reviews.llvm.org/D148262
-
Snehasish Kumar authored
When no --profiled-binary flag is provided we can print out the build ids of the modules in the profile. This can help the user fetch the correct binary from e.g. remote object store. Reviewed By: tejohnson Differential Revision: https://reviews.llvm.org/D148301
-
Siva Chandra Reddy authored
Differential Revision: https://reviews.llvm.org/D148454
-
Peiming Liu authored
Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D147670
-
Alexandros Lamprineas authored
Optionally enabled just like integer and floating point arguments. Differential Revision: https://reviews.llvm.org/D145374
-
Caslyn Tonelli authored
`dieOnError` in fuchsia.cpp takes the syscall name, status code, and relevant size parameter to describe what failed, the reason, and size context. Several different Fuchsia syscalls can fail underlying Scudo's map operation and gets hidden if using `dieOnMapUnmapError`. The reason for this change is to provide an error status code and more helpful information to debug failures.
-
Nikolas Klauser authored
Reviewed By: #libc, Mordante Spies: Mordante, libcxx-commits Differential Revision: https://reviews.llvm.org/D148466
-
John-Earnshaw authored
Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D148538
-
Eduard Zingerman authored
`BPF.td` is used to generate (among other things) `MCSubtargetInfo` setup function for BPF target. Specifically, the `BPFGenSubtargetInfo.inc` file: enum { ALU32 = 0, ... }; ... extern const llvm::SubtargetSubTypeKV BPFSubTypeKV[] = { { "generic", { { { 0x0ULL, ... } } }, ... }, { "probe", { { { 0x0ULL, ... } } }, ... }, { "v1", { { { 0x0ULL, ... } } }, ... }, { "v2", { { { 0x0ULL, ... } } }, ... }, { "v3", { { { 0x1ULL, ... } } }, ... }, }; ... static inline MCSubtargetInfo *createBPFMCSubtargetInfoImpl(...) { return new BPFGenMCSubtargetInfo(..., BPFSubTypeKV, ...); } The `SubtargetSubTypeKV` is defined in `MCSubtargetInfo.h` as: /// Used to provide key value pairs for feature and CPU bit flags. struct SubtargetSubTypeKV { const char *Key; ///< K-V key string FeatureBitArray Implies; ///< K-V bit mask FeatureBitArray TuneImplies; ///< K-V bit mask const MCSchedModel *SchedModel; ... } The first bit array specifies features enabled by default for a specific CPU. This commit makes sure that this information is communicated to `tablegen` and correct `BPFSubTypeKV` table is generated. This allows tools like `objdump` to detect available features when `--mcpu` flag is specified. Differential Revision: https://reviews.llvm.org/D148037 -
Zequan Wu authored
This fixes two problems: 1. When crossing compiling for windows on linux, source file path in debug info is concatenated with directory by host native separator ('/'). For windows local build, they are concatenated by '\'. This causes non-determinism bug. The solution here is to let `LangOptions.UseTargetPathSeparator` to control if we should use host native separator or not. 2. Objectfile path in CodeView also uses host native separator when generated. It's fixed by changing the path separator in `/Fo` to '\' if the path is not an absolute path when adding the `-object-file-name=` flag. Reviewed By: hans Differential Revision: https://reviews.llvm.org/D147256 -
Fangrui Song authored
Fix https://github.com/llvm/llvm-project/issues/56554 ``` #include "1.h" #include "2.h" int foo(); ``` Suppose that 1.h ends with a template function. When parsing the function, the `ParseFunctionDefinition` call after the TimeTraceScope object may consume a `r_brace` token and lex the end of file (1.h), resulting in an ExitFile event in SemaPPCallbacks::FileChanged. This event will call `llvm::timeTraceProfilerEnd();`, which incorrectly ends "ParseTemplate" instead of "Source" (1.h). Once 2.h has been fully parsed, the destructor of 1.h's TimeTraceScope object will end "Source" (1.h). This behavior erroneously extends the end of "Source" (1.h), which makes "Source" (2.h) appear to be nested inside "Source" (1.h). This bug is difficult to fix correctly in an elegant way, and we have two options: either end "ParseTemplate" when ending "Source" (1.h), or delay the ExitFile event. However, both approaches require complex code. For now, we can remove the "ParseTemplate" TimeTraceScope. This can be re-added if properly repaired. Reviewed By: anton-afanasyev Differential Revision: https://reviews.llvm.org/D148410
-
Peiming Liu authored
Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D147553
-
Thurston Dang authored
Reverting 364884e0 because it appears the sanitizers are not yet ready to be stressed out (build failures starting from https://lab.llvm.org/buildbot/#/builders/37/builds/21483).
-
Joseph Huber authored
The NVIDIA compilation path requires some special options. This is mostly because compilation is dependent on having a valid CUDA toolchain. We don't actually need the CUDA toolchain to create the exported `libcgpu.a` library because it's pure LLVM-IR. However, for some language features we need the PTX version to be set. This is normally set by checking the CUDA version, but without one installed it will fail to build. We instead choose a minimum set of features on the desired target, inferred from https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#release-notes and the PTX refernece for functions like `nanosleep`. Reviewed By: tianshilei1992 Differential Revision: https://reviews.llvm.org/D148532
-
Han Zhu authored
Clang may be built in an environment where Git is not available. In our case, Clang is part of a larger monorepo which is not Git-based, and GenerateVersionFromVCS was not able to get source info. Provide options to pass in repo and revision info from cmake. ``` cmake \ -DCLANG_VC_REPOSITORY=abc://repo.url.com \ -DCLANG_VC_REVISION=abcd1234 \ ... ``` This would allow us to prepare the source info beforehand and pass it to the clang binary. Differential Revision: https://reviews.llvm.org/D148262
-
OCHyams authored
Prefix the variable with 'f' to match other 'f' options.
-
Lang Hames authored
This patch switches LLJIT's default JIT linker for ELF/x86-64 from RuntimeDyld to JITLink. Most clients should not be affected, but if you were explicitly accessing the old RTDyldObjectLinkingLayer (e.g. to install JITEventListeners) you will need to either force use of RuntimeDyld (following the example in llvm/examples/OrcV2Examples/LLJITWithCustomObjectLinkingLayer), or switch to using JITLink plugins instead.
-
Peiming Liu authored
Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D147550
-
NAKAMURA Takumi authored
-
David Green authored
This adds v4f16 and v8f16 lowering for fp16 vector compares. It splits the getActionDefinitionsBuilder of G_FCMP from G_ICMP, as they are quite different operations, and adds fp16 vector lowering. Differential Revision: https://reviews.llvm.org/D147947
-
V Donaldson authored
Update descriptor generation to correctly set the `type` field for REAL(3) and COMPLEX(3) objects.
-
- Apr 17, 2023
-
-
Siva Chandra Reddy authored
Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D148452
-
aabhinavg authored
Differential Revision: https://reviews.llvm.org/D148535
-
Siva Chandra Reddy authored
It is currently used only by math tests so moving it to test/src/math keeps it closer to where it is used. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D148497
-
David Spickett authored
distutils is deprecated and shutil.which is the suggested replacement for this function. https://peps.python.org/pep-0632/#migration-advice https://docs.python.org/3/library/shutil.html#shutil.which which was added in 3.3 (https://docs.python.org/3/library/shutil.html#shutil.which) and LLVM requires at least 3.6 (https://llvm.org/docs/GettingStarted.html#software). There is one small differnce here that shutil.which ignores the PATH when given a path argument. However in this case I think that's actually the behaviour we want. Reviewed By: zequanwu Differential Revision: https://reviews.llvm.org/D148529
-
Jay Foad authored
On GFX9+, SMEM instructions have an _SGPR_IMM form which is strictly more powerful than the _SGPR form. It simplifies codegen if we always select the _SGPR_IMM form with an immediate offset of 0 instead of the _SGPR form. Note that this patch just makes minimal changes to the selection patterns to prove the concept. Further simplifications are possible to reduced the number of selection patterns. On GFX9 the _SGPR form of the Real instruction is still required for assembly/disassembly but on GFX10+ it can be removed completely. Differential Revision: https://reviews.llvm.org/D147334
-
Florian Hahn authored
Reduced test case for #58811.
-
aabhinavg authored
Added minor update inside the `frem`. Fix : #61653 Differential Revision: https://reviews.llvm.org/D146900
-
Valentin Clement authored
This reverts commit 7960993e.
-
David Spickett authored
distutils is deprecated and shutil.which is the suggested replacement for this function. https://peps.python.org/pep-0632/#migration-advice https://docs.python.org/3/library/shutil.html#shutil.which which was added in 3.3 (https://docs.python.org/3/library/shutil.html#shutil.which) and LLVM requires at least 3.6 (https://llvm.org/docs/GettingStarted.html#software). Reviewed By: #libc, philnik Differential Revision: https://reviews.llvm.org/D148527
-
David Green authored
These instructions take the absolute of two values and perform a FCMGE/FCMGT between them. This patch adds some basic patterns for them. Differential Revision: https://reviews.llvm.org/D147945
-
Kadir Cetinkaya authored
Instead of passing in a tooling::CompileCommand into system include extraction, pass a limited set, whose elements are used as keys. Also fix the issue around accepting `-isysroot=/foo` which isn't a valid argument (or the directory should be `=/foo` not `/foo`). Fixes https://github.com/clangd/clangd/issues/1404 Fixes https://github.com/clangd/clangd/issues/1403 This should also unblock https://reviews.llvm.org/D138546 Differential Revision: https://reviews.llvm.org/D146941
-
Saleem Abdulrasool authored
We would not ensure that the error is consumed in the case that logging is disabled. Ensure that we properly drop the error on the floor or we would re-trigger the checked failure. Differential Revision: https://reviews.llvm.org/D147669 Reviewed By: sgraenitz
-
Valentin Clement authored
Use the assembly format with custom parser/printer for specific clauses instead of a full custom parser/printer. Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D148391
-
Martin Storsjö authored
Don't cast the pointers to long, as that's not large enough for pointers on 64 bit Windows. Differential Revision: https://reviews.llvm.org/D147640
-