- Jul 01, 2022
-
-
Jonas Devlieghere authored
This reverts commit 2f207439 because it triggers an assertion when building an LLDB test program: Assertion failed: (InstantiatingSpecializations.empty() && "failed to clean up an InstantiatingTemplate?"), function ~Sema, file /Users/buildslave/jenkins/workspace/lldb-cmake/llvm-project/clang/lib/Sema/Sema.cpp, line 458. More details in https://reviews.llvm.org/D126907.
-
Craig Topper authored
We don't need to pass the 3 VTs separately, we already have a list available to us.
-
Fangrui Song authored
GNU objdump disassembles all unknown instructions by default. Match this user friendly behavior with the cpu value `future`. Differential Revision: https://reviews.llvm.org/D127824
-
Fangrui Song authored
GNU objdump disassembles all unknown instructions by default. Match this user friendly behavior with the target feature "all" (D128029) designed for disassemblers. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D128030
-
Craig Topper authored
I think the VT pased in will always be XLen.
-
Katherine Rasmussen authored
Add a semantics test for the intrinsic function `get_team`. Differential Revision: https://reviews.llvm.org/D128370
-
Javed Absar authored
This fixes Bug https://github.com/llvm/llvm-project/issues/53492 and uses InlineHistory to track recursive inlining. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D127072
-
Benoit Jacob authored
Differential Revision: https://reviews.llvm.org/D128925
-
Aaron Ballman authored
This reverts commit 329fae71. This should fix failing test bots like: https://lab.llvm.org/buildbot/#/builders/91/builds/11328
-
Fangrui Song authored
This is used by disassemblers: `llvm-mc -disassemble -mattr=` and `llvm-objdump --mattr=`. The main use case is for llvm-objdump to disassemble all known instructions (D128030). In user-facing tools, "all" is intentionally not supported in producers: integrated assembler (`.arch_extension all`), clang -march (`-march=armv9.3a+all`). Due to the code structure, `llvm-mc -mattr=+all` `llc -mattr=+all` are not rejected (they are internal tool). Add `llvm/test/CodeGen/AArch64/mattr-all.ll` to catch behavior changes. AArch64SysReg::SysReg::haveFeatures: check `FeatureAll` to print `AArch64SysReg::SysReg::AltName` for some system registers (e.g. `ERRIDR_EL1, RNDR`). AArch64.td: add `AssemblerPredicateWithAll` to additionally test `FeatureAll`. Change all `AssemblerPredicate` (except `UseNegativeImmediates`) to `AssemblerPredicateWithAll`. utils/TableGen/{DecoderEmitter,SubtargetFeatureInfo}.cpp: support arbitrarily nested all_of, any_of, and not. Note: A predicate supports... -
Martin Sebor authored
Correct a logic bug in the memrchr enhancement added in D123629 that makes it ineffective in a subset of cases. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D128856
-
Fangrui Song authored
Update D120104 to add FeatureFuseAdrpAdd to Processor#TuneFeatures instead of Processor#Features, similar to FeatureFuseAES, and matching Tune*. This enables FeatureFuseAdrpAdd for `clang -mcpu=xxx -mtune=generic` even if xxx does not set FeatureFuseAdrpAdd. Reviewed By: alexander-shaposhnikov, peter.smith Differential Revision: https://reviews.llvm.org/D128787
-
Vaibhav Yenamandra authored
Create an interface for writing SARIF documents from within clang: The primary intent of this change is to introduce the interface clang::SarifDocumentWriter, which allows incrementally adding diagnostic data to a JSON backed document. The proposed interface is not yet connected to the compiler internals, which will be covered in future work. As such this change will not change the input/output interface of clang. This change also introduces the clang::FullSourceRange type that is modeled after clang::SourceRange + clang::FullSourceLoc, this is useful for packaging a pair of clang::SourceLocation objects with their corresponding SourceManagers. Previous discussions: RFC for this change: https://lists.llvm.org/pipermail/cfe-dev/2021-March/067907.html https://lists.llvm.org/pipermail/cfe-dev/2021-July/068480.html SARIF Standard (2.1.0): https://docs.oasis-open.org/sarif/sarif/v2.1.0/os/sarif-v2.1.0-os.html Differential Revision: https://reviews.llvm.org/D109701
-
Matthew Voss authored
Fixes this error: /var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/ llvm-project/llvm/tools/llvm-reduce/TestRunner.cpp:20:7: error: field 'TM' will be initialized after field 'ToolName' [-Werror,-Wreorder-ctor] TM(std::move(TM)), ToolName(ToolName) { ^~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~ Program(std::move(Program)) TM(std::move(TM)) 1 error generated. https://lab.llvm.org/buildbot/\#/builders/77/builds/19154 -
Daniel Thornburgh authored
This option allows printing all sources used by an object file. Reviewed By: dblaikie, jhenderson Differential Revision: https://reviews.llvm.org/D87656
-
Kai Nacke authored
clang (like gcc) has the `-mtune=` command line option. This option adds the `"tune-cpu"` attribute to a function. The intended functionality is that the scheduling model of that cpu is used. E.g. `-mtune=z15 -march=z14` generates only instructions supported on z14 but uses the scheduling model of z15 for it. This PR adds the infrastructure to support this. Reviewed By: uweigand Differential Revision: https://reviews.llvm.org/D128910
-
Christopher Bate authored
For the conversion to nvgpu `mma.sync` and `ldmatrix` pathways, the code was missing support for the `i4` data type. While fixing this, another bug was discoverd that caused the number of ldmatrix tiles calculated for certain operand types and configurations to be incorrect. This change fixes both issues and adds additional tests. Differential Revision: https://reviews.llvm.org/D128074
-
Jonas Devlieghere authored
TestObjCXXBridgedPO is broken on macOS Ventura (but not on macOS Monterey). I took a look but it doesn't seem trivial. I'm XFAILing the test until Adrian, who wrote the test, can take a look. rdar://96224141
-
jeff authored
Differential Revision: https://reviews.llvm.org/D128681
-
Valentin Clement authored
The check to see if the arguments for the MIN/MAX intrinsics were of CHARACTER type was not handling assumed length characters. In this case, the FIR type is "!fir.ref<!fir.char<1,?>>". This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D128922 Co-authored-by:
Peter Steinfeld <psteinfeld@nvidia.com>
-
Sam Estep authored
Many of our tests are currently written using `TEST_F` where the test fixture class doesn't have any `SetUp` or `TearDown` methods, and just one helper method. In those cases, this patch deletes the class and pulls its method out into a standalone function, using `TEST` instead of `TEST_F`. There are still a few test files leftover in `clang/unittests/Analysis/FlowSensitive/` that use `TEST_F`: - `DataflowAnalysisContextTest.cpp` because the class contains a `Context` field which is used - `DataflowEnvironmentTest.cpp` because the class contains an `Environment` field which is used - `SolverTest.cpp` because the class contains a `Vals` field which is used - `TypeErasedDataflowAnalysisTest.cpp` because there are several different classes which all share the same method name Reviewed By: ymandel, sgatev Differential Revision: https://reviews.llvm.org/D128924
-
Craig Topper authored
Similar for a subtract with a constant left hand side. (sra (add (shl X, 32), C1<<32), 32) is the canonical IR from InstCombine for (sext (add (trunc X to i32), 32) to i32). For RISCV, we should lower this as addiw which means turning it into (sext_inreg (add X, C1)). There is an existing DAG combine to convert back to (sext (add (trunc X to i32), 32) to i32), but it requires isTruncateFree to return true and for i32 to be a legal type as it used sign_extend and truncate nodes. So that doesn't work for RISCV. If the outer sra happens be used by a shl by constant, it will be folded and the shift amount of the sra will be changed before we can do our own DAG combine. This requires us to match the more general pattern and restore the shl. I had wanted to do this as a separate (add (shl X, 32), C1<<32) -> (shl (add X, C1), 32) combine, but that hit an infinite loop for some values of C1. Reviewed By: asb Differential Revision: https://reviews.llvm.org/D128869
-
Craig Topper authored
The sext_inreg can often be folded into an earlier instruction by using a W instruction. The sext_inreg also works better with our ABI. This is one of the steps to improving the generated code for this https://godbolt.org/z/hssn6sPco Reviewed By: asb Differential Revision: https://reviews.llvm.org/D128843
-
Craig Topper authored
-
- Jun 30, 2022
-
-
Jonas Devlieghere authored
Fixes error: missing '#include "llvm/IR/FMF.h"'; 'FastMathFlags' must be defined before it is used in llvm/include/llvm/IR/NoFolder.h.
-
Matthew Voss authored
Adds support for reading and writing LTO bitcode files. - Emit a summary if the original bitcode file had a summary - Use split LTO units if the original bitcode file used them. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D127168
-
Peixin Qiao authored
As Fortran 2018 16.9.163, the reshape is the only intrinsic which requires the shape argument to be rank-one integer array and the SIZE of it to be one constant expression. The current expression lowering converts the shape expression with slice in intrinsic into one box value with the box element type of unknown extent. However, the genReshape requires the box element type to be constant size. So, convert the box value into one with box element type of sequence of 1 x constant. This corner case is found in cam4 in SPEC 2017 https://github.com/llvm/llvm-project/issues/56140. Reviewed By: Jean Perier Differential Revision: https://reviews.llvm.org/D128597
-
David Green authored
-
Piotr Sobczak authored
gfx11 introduces new WMMA (Wave Matrix Multiply-accumulate) instructions. Reviewed By: arsenm, #amdgpu Differential Revision: https://reviews.llvm.org/D128756
-
Valentin Clement authored
-
Sam McCall authored
-
Nikolas Klauser authored
Reviewed By: ldionne, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D128906
-
Nikolas Klauser authored
Reviewed By: ldionne, #libc Spies: cfe-commits, llvm-commits, libcxx-commits Differential Revision: https://reviews.llvm.org/D127313
-
Tue Ly authored
-
Pavel Labath authored
D128285 only changed the stable (v1) layout, so the matching change in D128694 broke the formatting of the unstable strings. This fixes that, and ensures compatibility with all older layouts as well.
-
Nikita Popov authored
Migrate all binops to use FoldXYZ rather than CreateXYZ APIs, which are compatible with InstSimplifyFolder and fallible constant folding. Rather than continuing to add one method for every single operator, add a generic FoldBinOp (plus variants for nowrap, exact and fmf operators), which we would need anyway for CreateBinaryOp. This change is not NFC because IRBuilder with InstSimplifyFolder may perform more folding. However, this patch changes SCEVExpander to not use the folder in InsertBinOp to minimize practical impact and keep this change as close to NFC as possible.
-
Muhammad Omair Javaid authored
PDB/func-symbols.test was orignally written for 32bit x86, keeping in mind cdecl and stdcall calling conventions which does name mangling for example like adding "_" underscore before function name. This is only x86 specific but purpose of pointers.test is NOT to test calling convention. I have made a minor change to make this test pass on Windows/Arm.
-
Chen Zheng authored
-
Muhammad Omair Javaid authored
TestCommandScript.py fails on Arm/Windows due following issues: https://llvm.org/pr56288 https://llvm.org/pr56292 LLDB fails to skip prologue and also step over library function or nodebug functions fails due to PDB/DWARF mismatch. This patch replace function breakpoint with line breakpoint so that we can expect LLDB to stop on desired line. Also replace dwarf with PDB debug info for this test only.
-
Erich Keane authored
This is a continuation of D119544. Based on @rsmith 's feed back showing me https://eel.is/c++draft/temp#friend-9, We should properly handle friend functions now. Differential Revision: https://reviews.llvm.org/D126907
-