- Sep 01, 2022
-
-
Simon Pilgrim authored
Account for double-pumping on early AVX1/AVX2 targets
-
- Aug 31, 2022
-
-
Peixin Qiao authored
As Fortran 2018 18.2.3.5, the intrinsic c_funloc(x) gets the C address of argument x. It returns the scalar of type C_FUNPTR. As defined in iso_c_binding in flang/module/__fortran_builtins.f90, C_FUNPTR is the derived type with only one component of integer 64. This follows the implementation of https://reviews.llvm.org/D129659. The argument is lowered as ProcBox and the address is generated using fir.box_addr. Reviewed By: jeanPerier, clementval Differential Revision: https://reviews.llvm.org/D132273
-
Florian Hahn authored
Add extra FMA tests with missing or partial fast-math flags.
-
Daniel Bertalan authored
This flag instructs dyld to make the segment read-only after fixups have been performed. I'm not sure why this flag is needed, as on macOS 13 beta at least, __DATA_CONST is read-only even without this flag; but ld64 sets it as well. Differential Revision: https://reviews.llvm.org/D133010
-
Simon Pilgrim authored
We feed the result from the first extractShiftForRotate call into the second, and that result might no longer be a shift op (usually due to constant folding). NOTE: We REALLY need to stop creating nodes on the fly inside extractShiftForRotate! Fixes Issue #57474
-
Jon Chesterfield authored
-
Jez Ng authored
No significant perf diff, as expected. base diff difference (95% CI) sys_time 1.722 ± 0.030 1.727 ± 0.027 [ -0.6% .. +1.2%] user_time 5.081 ± 0.032 5.087 ± 0.030 [ -0.2% .. +0.4%] wall_time 6.008 ± 0.056 6.029 ± 0.053 [ -0.1% .. +0.8%] samples 25 37 Reviewed By: #lld-macho, oontvoo, thakis, BertalanD Differential Revision: https://reviews.llvm.org/D133014 -
Siva Chandra Reddy authored
Reviewed By: gchatelet Differential Revision: https://reviews.llvm.org/D133004
-
Aaron Ballman authored
https://reviews.llvm.org/D131255 (82afc9b1) began warning about conversion causing data loss for a single-bit bit-field. However, after landing the changes, there were reports about significant false positives from some code bases. This alters the approach taken in that patch by introducing a new warning group (-Wsingle-bit-bitfield-constant-conversion) which is grouped under -Wbitfield-constant-conversion to allow users to selectively disable the single-bit warning without losing the other constant conversion warnings. Differential Revision: https://reviews.llvm.org/D132851
-
Florian Hahn authored
Test case mentioned in the discussion for D115261.
-
Aaron Ballman authored
While discussing diagnostic format strings with a GSoC mentee, it became clear there was some confusion regarding how to use them. Specifically, the documentation for %select caused confunsion because it was using %select{}2 and talking about how the integer value must be in the range [0..2], which made it seem like the positional argument was actually specifying the range of acceptable values. I clarified several of the examples similarly, moved some documentation to a more appropriate place, and added some additional information to the %s modifier to point out that %plural exists. -
Hassnaa Hamdi authored
Differential Revision: https://reviews.llvm.org/D132573 skip custom-lowering for v1f64 to be expanded instead, because it has only one lane Differential Revision: https://reviews.llvm.org/D132959
-
Florian Hahn authored
It looks like the vector loops in the modified test cases unintentionally never get executed. Update the exit condition to ensure it does to avoid them getting optimized away in upcoming changes.
-
Nikita Popov authored
-
Nikita Popov authored
Zero-input phi nodes are accepted by the verifier and bitcode reader, but currently rejected by the IR parser. Allow them there as well. Because phi nodes must have one entry for each predecessor, such phis can only occur in blocks without predecessors, aka unreachable code. Usually, when removing the last predecessor from a block, we also remove phi nodes in it. However, this is not possible for invalidation reasons sometimes, which is why we ended up allowing zero-entry phis at some point in the past. See 9eb2c011, D92247 and PR48296 for context. I've dropped the verifier unit test, because this is now covered by the regular IR test. This fixes at least part of https://github.com/llvm/llvm-project/issues/57446. Differential Revision: https://reviews.llvm.org/D133000
-
Alvin Wong authored
This also modifies llvm-readobj to be more future-proof when printing the guard FIDs table by calculating the entry size correctly according to MS docs. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D132924
-
Alvin Wong authored
Print flags as documented in MS docs. https://docs.microsoft.com/en-us/windows/win32/debug/pe-format#load-configuration-layout https://docs.microsoft.com/en-us/windows/win32/secbp/pe-metadata EH_CONTINUATION_TABLE_PRESENT is not mentioned in the docs but is instead taken from Windows SDK headers. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D132823
-
Martin Storsjö authored
This fixes the following warning: In file included from ../tools/clang/lib/Tooling/Transformer/Transformer.cpp:9: ../tools/clang/include/clang/Tooling/Transformer/Transformer.h: In instantiation of ‘llvm::Error clang::tooling::detail::populateMetadata(const clang::transformer::RewriteRuleWith<MetadataT>&, size_t, const clang::ast_matchers::MatchFinder::MatchResult&, clang::tooling::TransformerResult<T>&) [with T = void; size_t = long unsigned int]’: ../tools/clang/include/clang/Tooling/Transformer/Transformer.h:179:34: required from ‘void clang::tooling::detail::WithMetadataImpl<T>::onMatchImpl(const clang::ast_matchers::MatchFinder::MatchResult&) [with T = void]’ ../tools/clang/include/clang/Tooling/Transformer/Transformer.h:156:8: required from here ../tools/clang/include/clang/Tooling/Transformer/Transformer.h:120:25: warning: parameter ‘SelectedCase’ set but not used [-Wunused-but-set-parameter] 120 | size_t SelectedCase, | ~~~~~~~^~~~~~~~~~~~ The issue is fixed in GCC 10 and later, but this silences the noisy warning in older versions. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85827 for more details about the bug. Differential Revision: https://reviews.llvm.org/D132920 -
Hassnaa Hamdi authored
change vscale_range<2,0> to vscale_range<1,0> for 64/128-bit vectors of fadda tests
-
Benjamin Kramer authored
[bazel] Drop ConversionPassDetail, it shouldn't be needed after 67d0d7ac
-
Valentin Clement authored
Apply lower bounds before call to the ubound runtime function. This is similary done in genLBound. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D133001
-
Simon Pilgrim authored
[DAG] visitFreeze - account for operand depth when calling isGuaranteedNotToBeUndefOrPoison (PR57402) We were calling isGuaranteedNotToBeUndefOrPoison on operands (with Depth = 0), but wasn't accounting for the fact that a later isGuaranteedNotToBeUndefOrPoison assertion will call from the new node (with Depth = 0 as well) - which will then recursively call isGuaranteedNotToBeUndefOrPoison for its operands with Depth = 1 Fixes #57402
-
Mikhail Goncharov authored
some build systems treat those headers as identical, causing a warning
-
David Green authored
-
Michele Scuttari authored
The patch introduces the required changes to update the pass declarations and definitions to use the new autogenerated files and allow dropping the old infrastructure. Reviewed By: mehdi_amini, rriddle Differential Review: https://reviews.llvm.org/D132838
-
Wei Yi Tee authored
Previously, the transfer function `void transfer(const Stmt *, ...)` overriden by users is restricted to apply only on `CFGStmt`s and its contained `Stmt`. By using a transfer function (`void transfer(const CFGElement *, ...)`) that takes a `CFGElement` as input, this patch extends user-defined analysis to all kinds of `CFGElement`. For example, users can now handle `CFGInitializer`s where `CXXCtorInitializer` AST nodes are contained. Reviewed By: gribozavr2, sgatev Differential Revision: https://reviews.llvm.org/D131614
-
Simon Pilgrim authored
This improves static initialization of the cost tables and significantly speeds up MSVC compile time.
-
Nikita Popov authored
This simplifies the code and fixes handling of catchswitch, in which case we have no insertion point for the freeze. Originally part of D129660.
-
corona10 authored
Fix modernize-use-emplace to support alias cases Reviewed By: njames93 Differential Revision: https://reviews.llvm.org/D132640
-
Nikita Popov authored
Otherwise cmake will insert a semicolon if flags are already set. Differential Revision: https://reviews.llvm.org/D131490
-
Nikita Popov authored
This simplifies the code and fixes handling for the callbr case, where the instruction needs to be inserted in the normal destination, rather than after the terminator. Originally part of D129660.
-
Ying Yi authored
Reviewed By: probinson Differential Revision: https://reviews.llvm.org/D132950
-
Nikita Popov authored
Transforms occasionally want to insert an instruction directly after the definition point of a value. This involves quite a few different edge cases, e.g. for phi nodes the next insertion point is not the next instruction, and for invokes and callbrs its not even in the same block. Additionally, the insertion point may not exist at all if catchswitch is involved. This adds a general Instruction::getInsertionPointAfterDef() API to implement the necessary logic. For now it is used in two places where this should be mostly NFC. I will follow up with additional uses where this fixes specific bugs in the existing implementations. Differential Revision: https://reviews.llvm.org/D129660
-
Adrian Kuegel authored
Use .empty() check instead of size() check.
-
Daniel Bertalan authored
This section stores 32-bit `__TEXT` segment offsets of initializer functions, and is used instead of `__mod_init_func` when chained fixups are enabled. Storing the offsets lets us avoid emitting fixups for the initializers. Differential Revision: https://reviews.llvm.org/D132947
-
Kadir Cetinkaya authored
This reverts commit a5ab6507.
-
Kadir Cetinkaya authored
This was showing up in our internal crash collector. I have no idea how to test it out though, open for suggestions if there are easy paths but otherwise I'd move forward with the patch. Differential Revision: https://reviews.llvm.org/D132918
-
Nikita Popov authored
-
Aleksandr Bezzubikov authored
Replace result type std::pair<bool, bool> of lowerBuiltin with a nice and convenient Optional<bool>. Reviewed By: iliya-diyachkov, MaskRay Differential Revision: https://reviews.llvm.org/D132802
-
gonglingqin authored
Differential Revision: https://reviews.llvm.org/D132847
-