- Oct 12, 2020
-
-
Cameron McInally authored
Differential Revision: https://reviews.llvm.org/D88974
-
Jay Foad authored
-
Simon Pilgrim authored
[InstCombine] matchFunnelShift - fold or(shl(a,x),lshr(b,sub(bw,x))) -> fshl(a,b,x) iff x < bw (REAPPLIED) If value tracking can confirm that a shift value is less than the type bitwidth then we can more confidently fold general or(shl(a,x),lshr(b,sub(bw,x))) patterns to a funnel/rotate intrinsic pattern without causing bad codegen regressions in the backend (see D89139). Reapplied after the shift canonicalization in rG02295e6d which removed the need to flip the shift values. Differential Revision: https://reviews.llvm.org/D88783
-
Simon Pilgrim authored
After rG02295e6d we no longer need to invert the shift values for fshr - this is just hidden at the moment as funnel shifts only ever match for constant values so never use the fshr "Sub on SHL" path.
-
Simon Pilgrim authored
Simplify the shift amount matching code by canonicalizing the shift ops first.
-
David Spickett authored
https://sourceware.org/gdb/current/onlinedocs/gdb/Host-I_002fO-Packets.html States that all numbers should be hexidecimal but lldb uses decimals in vFile:pread and vFile:pwrite. lldb-server can accept either since it ends up using strtoull which will detect the base being used. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D89227
-
Haojian Wu authored
The test fails on clang-ppc64le-rhel buildbot, needs further investigation.
-
Haojian Wu authored
-
Max Kazantsev authored
Full set case is handled inside intersection, no need to litter the code with duplicating them outside.
-
LLVM GN Syncbot authored
-
Kadir Cetinkaya authored
Depends on D88415 Differential Revision: https://reviews.llvm.org/D88417
-
Kadir Cetinkaya authored
-
Kadir Cetinkaya authored
File-granular information is considered details. Depends on D88411 Differential Revision: https://reviews.llvm.org/D88415
-
Kadir Cetinkaya authored
File-granular information is considered details. Depends on D88411 Differential Revision: https://reviews.llvm.org/D88414
-
Kadir Cetinkaya authored
Differential Revision: https://reviews.llvm.org/D88413
-
Kadir Cetinkaya authored
A structure that can be used to represent memory usage of a nested set of systems. Differential Revision: https://reviews.llvm.org/D88411
-
Simon Pilgrim authored
Based on a discussion on D88783, if we're promoting a funnel shift to a width at least twice the size as the original type, then we can use the 'double shift' patterns (shifting the concatenated sources). Differential Revision: https://reviews.llvm.org/D89139
-
Alexander Kornienko authored
-
Kadir Cetinkaya authored
-
Christian Sigg authored
Reviewed By: herhut Differential Revision: https://reviews.llvm.org/D89037
-
Kazushi (Jam) Marukawa authored
VE doesn't have instruction for copysign, so expand it. Add a regression test also. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D89228
-
Pavel Labath authored
This is essentially a replacement for the PacketUnimplementedError previously present in the gdb-remote server code. The reason I am introducing a generic error is because I wanted the native process classes to be able to signal that they do not support some functionality. They could not use PacketUnimplementedError as they are independent of a specific transport protocol. Putting the error class in the the native process code was also not ideal because the gdb-remote code is also used for lldb-server's platform mode, which does not (should not) know how to debug individual processes. I'm putting it under Utility, as I think it can be generally useful for notifying about unsupported/unimplemented functionality (and in particular, for programatically testing whether something is unsupported). Differential Revision: https://reviews.llvm.org/D89121
-
Sam McCall authored
The tracer is now expected to allocate+free the args itself. Differential Revision: https://reviews.llvm.org/D89135
-
Jan Kratochvil authored
Only SymbolFileDWARF::ParseCompileUnit creates a CompileUnit and it uses DWARFCompileUnit for that. Differential Revision: https://reviews.llvm.org/D89165
-
Nicolas Vasilache authored
This revision reduces the number of places that specific information needs to be modified when adding new named Linalg ops. Differential Revision: https://reviews.llvm.org/D89223
-
Nicolas Vasilache authored
This revision introduces support for buffer allocation for any named linalg op. To avoid template instantiating many ops, a new ConversionPattern is created to capture the LinalgOp interface. Some APIs are updated to remain consistent with MLIR style: `OwningRewritePatternList * -> OwningRewritePatternList &` `BufferAssignmentTypeConverter * -> BufferAssignmentTypeConverter &` Differential revision: https://reviews.llvm.org/D89226
-
Sam McCall authored
Differential Revision: https://reviews.llvm.org/D89131
-
Sam McCall authored
Currently the idiom for mapping optional fields is: ObjectMapper O(Val, P); if (!O.map("required1", Out.R1) || !O.map("required2", Out.R2)) return false; O.map("optional1", Out.O1); // ignore result return true; If `optional1` is present but malformed, then we won't detect/report that error. We may even leave `Out` in an incomplete state while returning true. Instead, we'd often prefer to ignore `optional1` if it is absent, but otherwise behave just like map(). Differential Revision: https://reviews.llvm.org/D89128 -
Simon Pilgrim authored
Revert rGb97093e5 - "[InstCombine] matchFunnelShift - fold or(shl(a,x),lshr(b,sub(bw,x))) -> fshl(a,b,x) iff x < bw" This reverts commit b97093e5. Funnel shift argument commutation isn't working correctly
-
Kazushi (Jam) Marukawa authored
VE doesn't have fneg or frem instruction, so change them to expand. Add regression tests also. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D89205
-
Kazushi (Jam) Marukawa authored
VE doesn't have BRCOND instruction, so need to expand it. Also add a regression test. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D89173
-
Haojian Wu authored
-
Evgeny Leviant authored
-
sstefan1 authored
Summary: Since willreturn will soon be added as default attribute, we can end up with both noreturn and willreturn on the same intrinsic. This was exposed by llvm.wasm.throw which has IntrNoReturn. Reviewers: jdoerfert, arsenm Differential Revision: https://reviews.llvm.org/D88644
-
Haojian Wu authored
The dependent mechanism for C error-recovery is mostly finished, this is the only place we have missed. Differential Revision: https://reviews.llvm.org/D89045
-
Haojian Wu authored
See whole context: https://reviews.llvm.org/D85025 Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D84304
-
Georgii Rymar authored
Specification for `SHT_HASH` table says (https://refspecs.linuxbase.org/elf/gabi4+/ch5.dynamic.html#hash) that it contains `Elf32_Word` entries for both `32/64` bit objects. But there is a problem with `EM_S390` and `ELF::EM_ALPHA` platforms: they use 8-bytes entries. (see the issue reported: https://bugs.llvm.org/show_bug.cgi?id=47681). Currently we might infer the size of the dynamic symbols table from hash table, but because of the issue mentioned, the calculation is wrong. And also we don't dump the hash table properly. I am not sure if we want to support 8-bytes entries as they violates specification and also the `.hash` table is kind of deprecated by itself (the `.gnu.hash` table is used nowadays). So, the solution this patch suggests is to ban using of the hash table on `EM_S390/EM_ALPHA` platforms. Differential revision: https://reviews.llvm.org/D88817
-
Haojian Wu authored
Given the following VarTemplateDecl AST, ``` VarTemplateDecl col:26 X |-TemplateTypeParmDecl typename depth 0 index 0 `-VarDecl X 'bool' cinit `-CXXBoolLiteralExpr 'bool' true ``` previously, we returned the VarDecl as the top-level decl, which was not correct, the top-level decl should be VarTemplateDecl. Differential Revision: https://reviews.llvm.org/D89098
-
Nicolas Vasilache authored
This reverts commit df295fac. Reactivates a spuriously rolled back change.
-
Alexander Belyaev authored
The buffer placement preparation tests in test/Transforms/buffer-placement-preparation* are using Linalg as a test dialect which leads to confusion and "copy-pasta", i.e. Linalg is being extended now and when TensorsToBuffers.cpp is changed, TestBufferPlacement is sometimes kept in-sync, which should not be the case. This has led to the unnoticed bug, because the tests were in a different directory and the patterns were slightly off. Differential Revision: https://reviews.llvm.org/D89209
-