- Oct 04, 2021
-
-
Roman Lebedev authored
-
Roman Lebedev authored
-
David Spickett authored
Since https://reviews.llvm.org/D109452 symbol-table.test has been failing on our Arm32 bots. https://lab.llvm.org/buildbot/#/builders/171/builds/4201 This is because in that change an implicit widening cast of the alignment from 32 bit to 64 bit was removed and the format string expects a 64 bit number.
-
Louis Dionne authored
-
David Goldman authored
- Support enums in C and ObjC as their AST representations differ slightly. - Add support for typedef'ed enums. Differential Revision: https://reviews.llvm.org/D110954
-
Alexey Bataev authored
by Raul Penacoba. The size of kmp_depend_info and the number of dependencies are computed multiplying the iterator sizes, which not right. Now size is computed as: itersize1*numclausedeps1 + itersize2*numclausedeps2 + ... + itersizeN*numclausedepsN where itersizeX is the size of the iterator and numclausedepsX the number of dependencies in that depend clause. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D111045
-
Wang, Pengfei authored
-
David Green authored
-
Bjorn Pettersson authored
In TargetLibraryInfoImpl::isValidProtoForLibFunc we no longer need the IsSizeTTy lambda function and the SizeTTy object. Instead we just follow the regular structure of checking for integer types given an exepected number of bits.
-
Joseph Huber authored
This patch adds a new command line option `openmp-opt-max-iterations` that controls the maximum number of iterations the attributor will run for when compiling OpenMP target device code. This patch also adds a remark to indicate when the attributor failed because it did not run for enough iterations. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D110749
-
Simon Pilgrim authored
Noticed while investigating the regressions in D110995 - if the RHS element is already zero, then we don't need the corresponding LHS element. Technically we could also recheck RHS once we have LHS's known zeros, but I haven't seen any missed opportunities from that yet.
-
Pavel Labath authored
This manifested itself as an asan failure in TestMultilineNavigation.py.
-
Michał Górny authored
Differential Revision: https://reviews.llvm.org/D110962
-
Roman Lebedev authored
This required huge amount of assembly surgery, but i think this is about right. The only sched models that for cpu's that support avx2 but not avx512 are: haswell, broadwell, skylake, zen1-3 For load we have: https://godbolt.org/z/z11crMEcj - for intels `Block RThroughput: =20.0`; for ryzens, `Block RThroughput: <=18.0` So could pick cost of `25`. For store we have: https://godbolt.org/z/eqT4ze3j4 - for intels `Block RThroughput: =24.0`; for ryzens, `Block RThroughput: <=16.0` So we could pick cost of `24`. I'm directly using the shuffling asm the llc produced, without any manual fixups that may be needed to ensure sequential execution. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D111031
-
Roman Lebedev authored
This one required quite a bit of assembly surgery. The only sched models that for cpu's that support avx2 but not avx512 are: haswell, broadwell, skylake, zen1-3 For load we have: https://godbolt.org/z/oYWv4cTnK - for intels `Block RThroughput: =10.0`; for ryzens, `Block RThroughput: <=8.0` So pick cost of `10`. For store we have: https://godbolt.org/z/33GMhrsG9 - for intels `Block RThroughput: =12.0`; for ryzens, `Block RThroughput: <=8.0` So pick cost of `12`. I'm directly using the shuffling asm the llc produced, without any manual fixups that may be needed to ensure sequential execution. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D111027
-
Roman Lebedev authored
This one required quite a bit of assembly surgery. The only sched models that for cpu's that support avx2 but not avx512 are: haswell, broadwell, skylake, zen1-3 For load we have: https://godbolt.org/z/Tce3osvcz - for intels `Block RThroughput: =5.0`; for ryzens, `Block RThroughput: <=4.0` So pick cost of `5`. For store we have: https://godbolt.org/z/oc3arEcnE - for intels `Block RThroughput: =6.0`; for ryzens, `Block RThroughput: <=4.0` So pick cost of `6`. I'm directly using the shuffling asm the llc produced, without any manual fixups that may be needed to ensure sequential execution. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D111026
-
Roman Lebedev authored
The only sched models that for cpu's that support avx2 but not avx512 are: haswell, broadwell, skylake, zen1-3 For load we have: https://godbolt.org/z/sz5qdKnr4 - for intels `Block RThroughput: =1.0`; for ryzens, `Block RThroughput: <=1.0` So pick cost of `1`. For store we have: https://godbolt.org/z/Kzdjff63v - for intels `Block RThroughput: =4.0`; for ryzens, `Block RThroughput: <=3.0` So pick cost of `4`. I'm directly using the shuffling asm the llc produced, without any manual fixups that may be needed to ensure sequential execution. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D111025
-
Roman Lebedev authored
The only sched models that for cpu's that support avx2 but not avx512 are: haswell, broadwell, skylake, zen1-3 For load we have: https://godbolt.org/z/5fqrh4qqo - for intels `Block RThroughput: =14.0`; for ryzens, `Block RThroughput: <=12.0` So pick cost of `14`. For store we have: https://godbolt.org/z/5fqrh4qqo - for intels `Block RThroughput: =22.0`; for ryzens, `Block RThroughput: <=16.0` So pick cost of `22`. I'm directly using the shuffling asm the llc produced, without any manual fixups that may be needed to ensure sequential execution. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D111022
-
Roman Lebedev authored
The only sched models that for cpu's that support avx2 but not avx512 are: haswell, broadwell, skylake, zen1-3 For load we have: https://godbolt.org/z/zdz5Ga6fs - for intels `Block RThroughput: =7.0`; for ryzens, `Block RThroughput: <=6.0` So pick cost of `7`. For store we have: https://godbolt.org/z/qn71513ac - for intels `Block RThroughput: =11.0`; for ryzens, `Block RThroughput: <=8.0` So pick cost of `11`. I'm directly using the shuffling asm the llc produced, without any manual fixups that may be needed to ensure sequential execution. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D111021
-
Roman Lebedev authored
The only sched models that for cpu's that support avx2 but not avx512 are: haswell, broadwell, skylake, zen1-3 For load we have: https://godbolt.org/z/d8PdhEszo - for intels `Block RThroughput: =3.0`; for ryzens, `Block RThroughput: <=3.0` So pick cost of `3`. For store we have: https://godbolt.org/z/WojonfG5n - for intels `Block RThroughput: =5.0`; for ryzens, `Block RThroughput: <=3.0` So pick cost of `5`. I'm directly using the shuffling asm the llc produced, without any manual fixups that may be needed to ensure sequential execution. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D111020
-
Roman Lebedev authored
The only sched models that for cpu's that support avx2 but not avx512 are: haswell, broadwell, skylake, zen1-3 For load we have: https://godbolt.org/z/z8qa14bs3 - for intels `Block RThroughput: =3.0`; for ryzens, `Block RThroughput: =1.5` So pick cost of `3`. For store we have: https://godbolt.org/z/GYGajoc4K - for intels `Block RThroughput: <=4.0`; for ryzens, `Block RThroughput: <=2.0` So pick cost of `4`. I'm directly using the shuffling asm the llc produced, without any manual fixups that may be needed to ensure sequential execution. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D111019
-
Stefan Pintilie authored
This patch fixes the return value of the builtin __builtin_ppc_load2r to correctly return short instead of int. Reviewed By: nemanjai, #powerpc Differential Revision: https://reviews.llvm.org/D110771
-
Jay Foad authored
-
Nicolas Vasilache authored
Clarify that the strided layout specification is represented by a single semi-affine map. Differential Revision: https://reviews.llvm.org/D110921
-
Jay Foad authored
There's no need to pass this in explicitly because it is trivially available from the semantics.
-
Michał Górny authored
Fix the termination of "process connect" (and "gdb-remote") to kill the process rather than attempting to disconnect the platform. The latter only results in an error since we did not use "platform connect", and apparently process-level connections (at least via gdb-remote) do not really support disconnecting. Differential Revision: https://reviews.llvm.org/D110996
-
Simon Pilgrim authored
As discussed on D110588 - Haswell/Broadwell don't have a great PMULLD implementation, we might want to enable this for them in the future
-
Cullen Rhodes authored
Identified in D109359. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D110805
-
Andrew Ng authored
A number of the ICF tests were not updated to use --print-icf-sections instead of --verbose and various '-NOT' checks were not updated to the latest output format of --print-icf-sections. Because these are all 'negative' tests, these issues have gone unnoticed. Differential Revision: https://reviews.llvm.org/D110353
-
Alex Zinenko authored
The new constructor relies on type-based dynamic dispatch and allows one to construct call operations given an object representing a FuncOp or its name as a string, as opposed to requiring an explicitly constructed attribute. Depends On D110947 Reviewed By: stellaraccident Differential Revision: https://reviews.llvm.org/D110948
-
Alex Zinenko authored
Constructing a ConstantOp using the default-generated API is verbose and requires to specify the constant type twice: for the result type of the operation and for the type of the attribute. It also requires to explicitly construct the attribute. Provide custom constructors that take the type once and accept a raw value instead of the attribute. This requires dynamic dispatch based on type in the constructor. Also provide the corresponding accessors to raw values. In addition, provide a "refinement" class ConstantIndexOp similar to what exists in C++. Unlike other "op view" Python classes, operations cannot be automatically downcasted to this class since it does not correspond to a specific operation name. It only exists to simplify construction of the operation. Depends On D110946 Reviewed By: stellaraccident Differential Revision: https://reviews.llvm.org/D110947
-
Alex Zinenko authored
Provide a couple of quality-of-life usability improvements for Python bindings, in particular: * give access to the list of types for the list of op results or block arguments, similarly to ValueRange->TypeRange, * allow for constructing empty dictionary arrays, * support construction of array attributes by concatenating an existing attribute with a Python list of attributes. All these are required for the upcoming customization of builtin and standard ops. Reviewed By: stellaraccident Differential Revision: https://reviews.llvm.org/D110946 -
Hans Wennborg authored
Previously, PrintASCII would print the string "\ta" as "\x09a". However, in C/C++ those strings are not the same: the trailing 'a' is part of the escape sequence, which means it's equivalent to "\x9a". This is an annoying quirk of the standard. (See https://eel.is/c++draft/lex.ccon#nt:hexadecimal-escape-sequence) To fix this, output three-digit octal escape sequences instead. Since octal escapes are limited to max three digits, this avoids the problem of subsequent characters unintentionally becoming part of the escape sequence. Dictionary files still use the non-C-compatible hex escapes, but I believe we can't change the format since it comes from AFL, and libfuzzer never writes such files, it only has to read them, so they're not affected by this change. Differential revision: https://reviews.llvm.org/D110920
-
Jingu Kang authored
Differential Revision: https://reviews.llvm.org/D109682
-
David Sherwood authored
Avoid creating EpilogueVectorizationForceVF twice.
-
Jay Foad authored
Stop using APInt constructors and methods that were soft-deprecated in D109483. This fixes all the uses I found in clang. Differential Revision: https://reviews.llvm.org/D110808
-
Jay Foad authored
Stop using APInt constructors and methods that were soft-deprecated in D109483. This fixes all the uses I found in llvm, except for the APInt unit tests which should still test the deprecated methods. Differential Revision: https://reviews.llvm.org/D110807
-
Michał Górny authored
The hand-rolled linking logic in elf_common does not account for the possibility of using LLVM dylib rather than a dozen static libraries. Since it does not seem to be easily convertible to add_llvm_library, just hand-roll support for LLVM_LINK_LLVM_DYLIB. This is necessary to support stand-alone builds against installed LLVM. Differential Revision: https://reviews.llvm.org/D111038
-
Muhammad Omair Javaid authored
TestClangREPL.py has been failing randomly on Arm/AArch64 Linux buildbot. I am marking it as skipped to reduce false alarms.
-
Tobias Gysi authored
As a follow up to https://reviews.llvm.org/D110849, adapt the input tensor size to match the iteration space. Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D110906
-