- Feb 29, 2024
-
-
jeanPerier authored
Preliminary patch for https://github.com/llvm/llvm-project/pull/83285 to turn polymorphism on by default. Will give a few days warning for people to remove the flag from their workflow using flang-new. Also easier to revert if issues with the gfortran test suites.
-
Dominik Wójt authored
Picolibc does not provide the clock_gettime function nor the "rt" library. check_library_exists was invalidly detecting the "rt" library due to cmake issue present, when cross-compiling[1]. This resulted with "chrono.cpp" trying to link to the "rt" library and following error: unable to find library from dependent library specifier: rt [1] https://gitlab.kitware.com/cmake/cmake/-/issues/18121 -
Shih-Po Hung authored
- Make `andi` cost 1 in SK_Broadcast - Query the cost of VID_V, VRSUB_VX/VRSUB_VI which would scale with LMUL
-
Animesh Kumar authored
This patch fixes the #67002 ([OpenMP][Clang] Scan Directive not supported for Generic types). It disables the Sema checks/analysis that are run on the helper arrays which go into the implementation of the `omp scan` directive until the template instantiation happens. Grateful to @alexey-bataev for suggesting these changes.
-
SunilKuravinakop authored
Modifying clang/lib/CodeGen/CGStmtOpenMP.cpp to accept multiple `init` clauses with `interop` directive. --------- Co-authored-by: Sunil Kuravinakop
-
Craig Topper authored
Document that we don't use the double compare and swap instructions due to ABI concerns.
-
Dávid Ferenc Szabó authored
Also combine (X != 0) | (Y != 0) -> (X | Y) != 0
-
Jonas Devlieghere authored
This reverts commit 79330098 as pexpect is not available on any of the GreenDragon bots.
-
Jonas Devlieghere authored
This executed Alex' idea [1] of adding pexpect to the list of "strict test requirements" as we're planning to stop vendoring it. This will ensure all the bots have the package before we toggle the default. [1] https://github.com/llvm/llvm-project/pull/83191
-
Matt Arsenault authored
-
Yeting Kuo authored
This patch adds smin/smax/umin/umax/sadd_sat/ssub_sat/uadd_sat/usub_sat into canSplatOperand. It can help llvm fold vv instructions with one splat operand to vx instructions.
-
Maksim Panchenko authored
Add an external interface to register a branch in a function that is in disassembled state. Allows to make custom modifications to the disassembler. E.g., a pre-CFG pass can add an instruction and register a branch that will later be used during the CFG construction.
-
Maksim Panchenko authored
Move code that sorts TakenBranches right before the branches are used. We can populate TakenBranches in pre-CFG post-processing and hence have to postpone the sorting to a later point in the processing pipeline. Will add such a pass later. For now it's NFC.
-
XinWang10 authored
Extended VMX instructions and 8 bit apx extended instructions don't need W bit, they are marked as W ignored in spec. RFC: https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
-
Matt Arsenault authored
I'm not sure the f64 fma cases are correct.
-
Paul Kirth authored
In addition to being rather hard to follow, there isn't a good reason why FatLTO shouldn't just share the same code for setting module flags for (Thin)LTO. This patch simplifies the logic and makes sure we use set these flags in a consistent way, independent of FatLTO. Additionally, we now test that output in the .llvm.lto section actually matches the output from Full and Thin LTO compilation.
-
lifengxiang1025 authored
Originally, when `EnableImportMetadata` enabled, `SourceFileName` will be recorded as `thinlto_src_module`. Now `SourceFileName` will be recorded as `thinlto_src_file` and `ModuleIdentifier` will be recorded as `thinlto_src_module`.
-
Shengchen Kan authored
-
Shengchen Kan authored
-
jimingham authored
There was a think-o in a previous commit that made us only able to define 1 line commands when using command script add interactively. There was also no test for this feature, so I fixed the think-o and added a test.
-
Changpeng Fang authored
WaveSizePredicate for DS_Reaf and FLAT_Real OtherPredicates for MTBUF_Real
-
Nick Desaulniers authored
My global find+replace was overzealous and broke post submit unit tests. Link: #83345
-
Henrik G. Olsson authored
When removing only lines that are global value CHECK lines, a related CHECK-SAME line could be left dangling without a previous line to belong to. Resolves #78517
-
Uday Bondhugula authored
`isContiguousAccess` is an important affine analysis utility but is only tested very indirectly via passes like vectorization and is not exposed. Expose it and add a test pass for it that'll make it easier/feasible to write test cases. This is especially needed since the utility can be significantly enhanced in power, and we need a test pass to exercise it directly. This pass can in the future be used to test the utility of invariant accesses as well.
-
Peiming Liu authored
…fer] op).
-
Alex Langford authored
This specifically addresses the warnings: $LLVM/lldb/include/lldb/API/SBCommandReturnObject.h:119: Warning 509: Overloaded method lldb::SBCommandReturnObject::PutCString(char const *) effectively ignored, $LLVM/lldb/include/lldb/API/SBCommandReturnObject.h:119: Warning 509: as it is shadowed by lldb::SBCommandReturnObject::PutCString(char const *,int). There is exactly one declaration of SBCommandReturnObject::PutCString. The second parameter (of type `int`) has default value `-1`. Without investigating why SWIG believes there are 2 method declarations, I believe it is safe to ignore this warning. It does not appear to actually impact functionality in any way. rdar://117744660
-
Aart Bik authored
This is first step (of many) cleaning up our tests to use the new and exciting sparse_tensor.print operation instead of lengthy extraction + print ops.
-
ChiaHungDuan authored
-
jimingham authored
Change `image list -r` so that it actually shows the ref count and whether the image is in the shared cache. (#83341) The help for the `-r` option to `image list` says: -r[<width>] ( --ref-count=[<width>] ) Display the reference count if the module is still in the shared module cache. but that's not what it actually does. It unconditionally shows the use_count for all Module shared pointers, regardless of whether they are still in the shared module cache or whether they are just in the ModuleCollection and other entities are keeping them alive. That seems like a more useful behavior, but then it is also useful to know what's in the shared cache, so I changed this to: -r[<width>] ( --ref-count=[<width>] ) Display whether the module is still in the the shared module cache (Y/N), and its shared pointer use_count. So instead of just `{5}` you will see `{Y 5}` if it is in the shared cache and `{N 5}` if not. I didn't add tests for this because I'm not sure how much we want to fix shared cache behavior in the testsuite. -
Peiming Liu authored
The sparse structure buffers might not always be memrefs with rank == 1 with the presence of batch levels.
-
Fangrui Song authored
This reverts commit 2eb63982. This caused verifier error ``` Instruction does not dominate all uses! ``` for some projects using Halide. The verifier error happens inside `Halide::Internal::CodeGen_LLVM::optimize_module` and looks like a genuine SROA issue.
-
Shilei Tian authored
-
Stanislav Mekhanoshin authored
-
Jonas Devlieghere authored
The -d(ebug) option broke 5 years ago when I migrated the driver to libOption. Since then, we were never check if the option is set. We were incorrectly toggling the internal variable (m_debug_mode) based on OPT_no_use_colors instead. Given that the functionality doesn't seem particularly useful and nobody noticed it has been broken for 5 years, I'm just removing the flag.
-
Fangrui Song authored
-
Fangrui Song authored
`Driver::ClangExecutable` is derived from: * (-canonical-prefixes default): `realpath` on the executable path * (-no-canonical-prefixes) argv[0] (consult PATH if argv[0] is a word) `Dir` and `ResourceDir` are derived from `ClangExecutable`. Both variables are used to derive certain include and library paths. `InstalledDir` is a related concept used to derive certain other paths. `InstalledDir` is weird in the -canonical-prefixes mode: Clang calls `make_absolute` but does not follow symlinks (FIXME from 9ade6a9a). This causes some search and library paths to be mix-and-matched. The "Do a PATH lookup, if there are no directory components." logic makes things worse. `InstalledDir` is different when you invoke it via `PATH`: ``` % which clang /usr/bin/clang % clang -v |& grep InstalledDir InstalledDir: /usr/bin % /usr/lib/llvm-16/bin/clang -v |& grep InstalledDir InstalledDir: /usr/lib/llvm-16/bin ``` I believe `InstalledDir` was a partial solution to `-no-canonical-prefixes` and should be eventually removed. This patch removes `SetInstallDir` and relies on Driver::Driver to set `InstalledDir` to `Dir`. The behavior for regular file `clang` or `-no-canonical-prefixes` is unchanged. If a user creates a symlink to the regular file `clang` and uses the default `-canonical-prefixes`, they now consistently get search and library paths relative to the regular file `clang`, not mix-and-match paths. If a user creates a symlink to the regular file `clang` and replaces some directorys from the actual installation, they should change the symlink to a wrapper that calls the underlying clang with `-no-canonical-prefixes`.
-
Craig Topper authored
I've seen cases where the cost per use increase the number of spills. Disabling improves the codegen for #79918. I propose adding this option to allow easier experimentation.
-
Craig Topper authored
[SelectionDAG] Remove unused getIndexedStridedLoadVP/getIndexedStridedStoreVP functions. NFC (#82847) These appear to have been copied from getIndexedLoadVP/getIndexedStoreVP which in turn were copied from the non-VP versions.
-
Aart Bik authored
-
Nick Desaulniers authored
Codify that we use lower_case for readability-identifier-naming.ConstexprFunctionCase and then fix the 11 violations (rather than codify UPPER_CASE and have to fix the 170 violations).
-