- Feb 19, 2021
-
-
Simon Pilgrim authored
Fold trunc(usubsat(zext(x),y)) -> usubsat(x,trunc(umin(y,satlimit)))
-
Nicolas Vasilache authored
-
Djordje Todorovic authored
The presence or absence of an inline variable (as well as formal parameter) with only an abstract_origin ref (without DW_AT_location) should not change the location coverage. It means, for both: DW_TAG_inlined_subroutine DW_AT_abstract_origin (0x0000004e "f") DW_AT_low_pc (0x0000000000000010) DW_AT_high_pc (0x0000000000000013) DW_TAG_formal_parameter DW_AT_abstract_origin (0x0000005a "b") and, DW_TAG_inlined_subroutine DW_AT_abstract_origin (0x0000004e "f") DW_AT_low_pc (0x0000000000000010) DW_AT_high_pc (0x0000000000000013) we should report 0% location coverage. If we add DW_AT_location, for both cases the coverage should be improved. Differential Revision: https://reviews.llvm.org/D96045 -
Jan Kratochvil authored
-
David Green authored
This reverts commit 3b34b06f as runtime errors were reported.
-
Florian Hahn authored
Now that all state for generated instructions is managed directly in VPTransformState, VPCallBack is no longer needed. This patch updates the last use of `getOrCreateScalarValue` to instead manage the value directly in VPTransformState and removes VPCallback. Reviewed By: gilr Differential Revision: https://reviews.llvm.org/D95383
-
Kadir Cetinkaya authored
Will be used in other components that need ancestor traversal. Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D96123
-
Simon Pilgrim authored
-
Nico Weber authored
-
Fraser Cormack authored
-
Nikita Popov authored
We now need mustprogress to eliminate these calls. The code doesn't really make sense, but that's not the point of the test...
-
Alexander Belyaev authored
-
Ron Lieberman authored
allow bit masking to select various trace features. bit 0 => Launch tracing (stderr) bit 1 => timing of runtime (stdout) bit 2 => detailed launch tracing (stderr) bit 3 => timing goes to stdout instead of stderr example: LIBOMPTARGET_KERNEL_TRACE=7 does it all LIBOMPTARGET_KERNEL_TRACE=5 Launch + details LIBOMPTARGET_KERNEL_TRACE=2 timings + launch to stderr LIBOMPTARGET_KERNEL_TRACE=10 timings + launch to stdout Differential Revision: https://reviews.llvm.org/D96998 -
Carl Ritson authored
Track lanes when processing definitions for marking WQM/WWM. If all lanes have been defined then marking can stop. This prevents marking unnecessary instructions as WQM/WWM. In particular this fixes a bug where values passing through V_SET_INACTIVE would me marked as requiring WWM. Reviewed By: piotr Differential Revision: https://reviews.llvm.org/D95503
-
Nikita Popov authored
In both ADCE and BDCE (via DemandedBits) we should not remove instructions that are not guaranteed to return. This issue was pointed out by fhahn in the recent llvm-dev thread. Differential Revision: https://reviews.llvm.org/D96993
-
Faris Rehman authored
Add the following options: * -fdebug-measure-parse-tree * -fdebug-pre-fir-tree Summary of changes: - Add 2 new frontend actions: DebugMeasureParseTreeAction and DebugPreFIRTreeAction - Add MeasurementVisitor to FrontendActions.h - Make reportFatalSemanticErrors return true if there are any fatal errors - Port most of the `-fdebug-pre-fir-tree` tests to use the new driver if built, otherwise use f18. Differential Revision: https://reviews.llvm.org/D96884
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Handle the case where we're broadcasting a scalar extracted from another vector.
-
Nikita Popov authored
This moves the willReturn() helper from CallBase to Instruction, so that it can be used in a more generic manner. This will make it easier to fix additional passes (ADCE and BDCE), and will give us one place to change if additional instructions should become non-willreturn (e.g. there has been talk about handling volatile operations this way). I have also included the IntrinsicInst workaround directly in here, so that it gets applied consistently. (As such this change is not entirely NFC -- FuncAttrs will now use this as well.) Differential Revision: https://reviews.llvm.org/D96992
-
Nikita Popov authored
This is a simpler variant of D96647. It just adds a straightforward depth limit with a high cutoff, without introducing complex logic for BatchAA consistency. It accepts that we may cache a sub-optimal result if the depth limit is hit. Eventually this should be more fully addressed by D96647 or similar, but in the meantime this avoids stack overflows in a cheap way. Differential Revision: https://reviews.llvm.org/D96996
-
Nicolas Vasilache authored
A folder of `tensor_load + tensor_to_memref` exists but it only applies when source and destination memref types are the same. This revision adds a canonicalize `tensor_load + tensor_to_memref` to `memref_cast` when type mismatches prevent folding to kick in. Differential Revision: https://reviews.llvm.org/D97038
-
Djordje Todorovic authored
This couses docs build to fail. Introduced with D96890.
-
Wang, Pengfei authored
This patch fixes some crashes coming from X86ISelLowering::getSetCCResultType, which would occasionally return an EVT constructed from an invalid MVT, which has a null Type pointer. This patch refers to D95434. Differential Revision: https://reviews.llvm.org/D97036
-
Sjoerd Meijer authored
This enables AES fusion and the post RA scheduler for the Neoverse cores. And while we are it also for the A55 that we had missed earlier. Differential Revision: https://reviews.llvm.org/D96866
-
Qiu Chaofan authored
Some instructions defined in table-gen files sets usesCustomInserter bit, which means it has to be lowered by target code and isn't actually valid instruction at MC level. So we should treat them like pseudo instructions. Reviewed By: gchatelet Differential Revision: https://reviews.llvm.org/D94898
-
Qiu Chaofan authored
Reviewed By: jsji Differential Revision: https://reviews.llvm.org/D94897
-
OCHyams authored
This test was accidently removed when the directory structure was shuffled around for dexter in f78c236e. Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D96968
-
David Green authored
As with the standard opt pipeline, we disable the MemorySSA dependency in the LTO LPM pipeline as not all passes preserve MemorySSA.
-
Nicolas Vasilache authored
Differential Revision: https://reviews.llvm.org/D96995
-
Djordje Todorovic authored
As discussed on the RFC [0], I am sharing the set of patches that enables checking of original Debug Info metadata preservation in optimizations. The proof-of-concept/proposal can be found at [1]. The implementation from the [1] was full of duplicated code, so this set of patches tries to merge this approach into the existing debugify utility. For example, the utility pass in the original-debuginfo-check mode could be invoked as follows: $ opt -verify-debuginfo-preserve -pass-to-test sample.ll Since this is very initial stage of the implementation, there is a space for improvements such as: - Add support for the new pass manager - Add support for metadata other than DILocations and DISubprograms [0] https://groups.google.com/forum/#!msg/llvm-dev/QOyF-38YPlE/G213uiuwCAAJ [1] https://github.com/djolertrk/llvm-di-checker Differential Revision: https://reviews.llvm.org/D82545 The test that was failing is now forced to use the old PM. -
Jason Molenda authored
Add a facility in the LanguageRuntime to provide a special UnwindPlan based on the register values in a RegisterContext, instead of using the return-pc to find a function and use its normal UnwindPlans. Needed when the runtime has special stack frames that we want to show the user, but aren't actually on the real stack. Specifically for Swift asynchronous functions. With feedback from Greg Clayton, Jonas Devlieghere, Dave Lee <rdar://problem/70398009> Differential Revision: https://reviews.llvm.org/D96839
-
Aart Bik authored
Rationale: Providing the wrong number of sparse/dense annotations was silently ignored or caused unrelated crashes. This minor change verifies that the provided number matches the rank. Reviewed By: bixia Differential Revision: https://reviews.llvm.org/D97034
-
Craig Topper authored
We were creating more combinations of value and index lmul than we needed. I've copied the loop structure used here from VPseudoAMOEI with all data sew values instead of just 32/64. Similar can be done for segment loads/store. Reviewed By: khchen Differential Revision: https://reviews.llvm.org/D97008
-
Kazu Hirata authored
-
Kazu Hirata authored
Identified with misc-static-assert.
-
Kazu Hirata authored
-
Christian Sigg authored
[mlir] Load dynamic libraries in JitRunner from absolute paths so that GDB can find the symbol tables. Reviewed By: mehdi_amini, ftynse Differential Revision: https://reviews.llvm.org/D96759
-
Serge Pavlov authored
Differential Revision: https://reviews.llvm.org/D96836
-
zoecarver authored
This patch implements 2802. Requires _Deleter to have call operator and be move constructible. Based on D62233. Refs PR37637. Differential Revision: https://reviews.llvm.org/D62274
-
zoecarver authored
c90dee1e fixed LWG 1203 which supresses LWG 2534 as well. Refs D62889. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D96885
-