- Feb 03, 2024
-
-
Qizhi Hu authored
Try to fix [issue](https://github.com/llvm/llvm-project/issues/68490 ) and some extented problem. Root cause of current issue is that error handling in instantiation of function parameter with default initialization on sizeof or align expression. When instance an out-of-line template member function, depth of `TemplateTypeParmDecl` in default initialization doesn't change while depth of other template parameter does and this will lead to some template parameter uninstanced. Also, sometime it will leader to wrong instantiation when it uses the template parameter of the template class. Fix it by add template args of context. This will make MultiLevelTemplateArgumentList::getNumLevels matching the depth of template parameter. Testcase with some static_assert demonstrates the template parameter has been instanced correctly. But, the default initialization of lambda expression compiles failed when only checking if the member function is out-of-line. We should check the `PrimaryFunctionTemplateDecl` of the funtion if it's out-of-line. Co-authored-by:
huqizhi <836744285@qq.com>
-
Danny Mösch authored
-
Alexandros Lamprineas authored
This allows making changes in parseArchExtension to make their way in the command line as well, not only in target attributes.
-
Michael Klemm authored
This PR implements two missing intrinsics from F2023: ACOSD and ASIND. The implementation breaks them down to the existing ACOS and ASIN implementation.
-
Guillaume Chatelet authored
-
Brandon Wu authored
-
Brandon Wu authored
llvm IR supports struct as function input, so RISCV tuple type can just use struct of homogeneous scalable vector instead of flatten them.
-
paperchalice authored
The legacy version print machine functions to a string stream, then output the module and string in `doFinalization`. This patch break `MIRPrintingPass` into two parts `PrintMIRPreparePass` and `PrintMIRPass`. `PrintMIRPreparePass` output the original IR in yaml string, `PrintMIRPass` just print the machine function, so we can avoid the `doFinalization`.
-
joyhou-hw authored
attribute ((aligned)) should be 4 for -miamcu. relate: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66818
-
Younan Zhang authored
This is yet another one-line patch to fix crashes on constraint substitution. ```cpp template <class, class> struct formatter; template <class, class> struct basic_format_context {}; template <typename CharType> concept has_format_function = format(basic_format_context<CharType, CharType>()); template <typename ValueType, typename CharType> requires has_format_function<CharType> struct formatter<ValueType, CharType> { template <typename OutputIt> CharType format(basic_format_context<OutputIt, CharType>); }; ``` In this case, we would build up a `RecoveryExpr` for a call within a constraint expression due to the absence of viable functions. The heuristic algorithm attempted to find such a function inside of a ClassTemplatePartialSpecialization, from which we started to substitute its requires-expression, and it succeeded with a FunctionTemplate such that 1) It has only one parameter... -
Congcong Cai authored
This PR add support in wasm asm type checker to implement checker of `table.grow` Fixes: #79966.
-
Craig Topper authored
EVL1 will be i32 and not get type legalized to i64 so we need to manually promote it to XLenVT.
-
Shafik Yaghmour authored
We should diagnose a const qualified member operator new but we fail to do so and this leads to crash during debug info generation. The fix is to diagnose this as ill-formed in the front-end. Fixes: https://github.com/llvm/llvm-project/issues/79748
-
yubingex007-a11y authored
-
Philip Reames authored
Without this change, the included test cases crash the compiler. I believe this is fallout from the homogenous scalable struct work from a while back; I think we just forgot to update this case. Likely to fix https://github.com/llvm/llvm-project/issues/80463.
-
Valentin Clement (バレンタイン クレメン) authored
hlfir.declare introduce some boxes that can be later optimized away. The OpenACC lowering is currently setting some attributes on FIR operations to track declare variables. When the boxes are optimized away these attributes are lost. This patch propagate OpenACC attributes from box_addr op to the defining op of the folding result.
-
Valentin Clement (バレンタイン クレメン) authored
Add information in the operation's description about which operands must be accessed with special getters for device_type support.
-
Yijia Gu authored
-
Martin Storsjö authored
Currently, when doing e.g. "ninja check-openmp", the check-openmp target only depends on the target "omp", which builds the library. Thus by doing that, the separate import library "libomp.lib", which is generated directly from a def file, never gets created, unless one does a separate invocation first, that builds all targets. To fix this, make the "omp" target depend on the target for the separate import library, whenever that is created/used.
-
Schrodinger ZHU Yifan authored
-
Craig Topper authored
I wrote FeaturesStdExt instead of FeatureStdExt in a previous patch.
-
cor3ntin authored
Fix a crash caused by incorrect assumptions Reported here https://github.com/llvm/llvm-project/pull/72644#discussion_r1469525524
-
Jakub Kuderski authored
* Use APFloat conversion function to avoid losing information by converting to `double`. This would be the case with large types like `f80` or `f128`. * Check for potential information loss. This is intended for small floating point types that may have values not present in larger ones (e.g., f8m2e5fnuz and f16). * Support folding vector constants.
-
Florian Mayer authored
-
Usama Hameed authored
Remove hardcoded string from test rdar://120498671
-
Jon Roelofs authored
-
Harald van Dijk authored
The traditional promotion is known to generate wrong code. Fixes #73805.
-
Arthur Eubanks authored
This is always PreservedAnalyses. Perhaps in the past there was the idea to make some types of passes return more invalidation information, but that hasn't happened. Requires splitting out some analysis classes into a header so PassManagerInternal.h can see the definition of PreservedAnalyses.
-
Nikolas Klauser authored
`__is_nothrow_convertible` has been used by libstdc++ previously as an identifier.
-
LLVM GN Syncbot authored
-
Nico Weber authored
-
Nico Weber authored
sync_source_lists_from_cmake.py checks that every unittest in CMake also exists in the GN build. 7b08b436 added SPRIVTests, but the GN build doesn't include the SPIRV target. So add a dummy target for this to placate the check. See also VETests in the gn build, which has the same setup.
-
Carlos Galvez authored
…ationFileExtensions Deprecated since clang-tidy 17. Use the corresponding global options instead. Fixes #61947 --------- Co-authored-by:Carlos Gálvez <carlos.galvez@zenseact.com>
-
Kirill Stoimenov authored
Broke sanitizer bots: https://lab.llvm.org/buildbot/#/builders/5/builds/40641 This reverts commit 67eee4a0.
-
Alexander Yermolovich authored
This stemps from conversatin in: https://github.com/llvm/llvm-project/pull/77457#discussion_r1457889792. Right now Abbrev code for abbrev is combination of DIE TAG and other attributes. In the future it will be changed to be an index. Since DenseSet does not preserve an order, added a sort based on abbrev code. Once change to index is made, it will print out abbrevs in the order they are stored.
-
Tom Stellard authored
This reverts commit bc06cd5c. This caused the job to fail for PRs which still had an older version of code-format-helper.py in their tree.
-
David Blaikie authored
Reverted due to an internally discovered lld crash due to the underlying StringMap changes, which turned out to be an existing lld bug that got tickled by the StringMap changes. That's addressed in dee8786f so let's have another go with this change. Original commit message: lldb was rehashing the string 3 times (once to determine which StringMap to use, once to query the StringMap, once to insert) on insertion (twice on successful lookup). This patch allows the lldb to benefit from hash improvements in LLVM (from djbHash to xxh3). Though further changes would be needed to cache this value to disk - we shouldn't rely on the StringMap::hash remaining the same in the future/this value should not be serialized to disk. If we want cache this value StringMap should take a hashing template parameter to allow for a fixed hash to be requested. This reverts commit 5bc1adff. Effectively reapplying the original 2e197602.
-
David Blaikie authored
Reverted due to an internally discovered lld crash, which turned out to be an existing lld bug that got tickled by this changes. That's addressed in dee8786f so let's have another go with this change. Original commit message: Useful for lldb's const string pool, using the hash to determine which string map to lock and query/insert. Derived from https://reviews.llvm.org/D122974 by Luboš Luňák This reverts commit f976719f. Effectively reapplying 67c631d2.
-
Peiming Liu authored
-
Craig Topper authored
Fixes an infinite loop. Test copied from the non-rv64-legal-i32 test.
-