- Jan 24, 2022
-
-
Lorenzo Chelini authored
gcc suggests explicit braces to avoid ambiguous ‘else’.
-
Jim Lin authored
Reviewed By: kparzysz Differential Revision: https://reviews.llvm.org/D117851
-
Marek Kurdej authored
Cf. scan-build reports: * https://llvm.org/reports/scan-build/report-AffectedRangeManager.cpp-nonPPLineAffected-34-16c04b.html#EndPath * https://llvm.org/reports/scan-build/report-SortJavaScriptImports.cpp-parseModuleReferences-34-96a7f8.html#EndPath * https://llvm.org/reports/scan-build/report-TokenAnnotator.cpp-setCommentLineLevels-26-77bdba.html#EndPath * https://llvm.org/reports/scan-build/report-AffectedRangeManager.cpp-nonPPLineAffected-31-714434.html#EndPath * https://llvm.org/reports/scan-build/report-TokenAnnotator.cpp-setCommentLineLevels-16-bd39d0.html#EndPath * https://llvm.org/reports/scan-build/report-UnwrappedLineFormatter.cpp-format-90-668b2d.html#EndPath
-
Nimish Mishra authored
-
Marek Kurdej authored
Fixes scan-build reported warning: https://llvm.org/reports/scan-build/report-QualifierAlignmentFixer.cpp-analyzeRight-55-191910.html#EndPath.
-
Qiu Chaofan authored
GCC 12 should have proper support for IEEE-754 compliant 128-bit floating point in libstdc++. So warning is needed when linking against older libstdc++ versions or LLVM libc++. Glibc starts supporting float128 in both header and libraries since 2.32. Reviewed By: jsji Differential Revision: https://reviews.llvm.org/D112906
-
jacquesguan authored
According to the spec, there are some difference between V and Zve64d. For example, the vmulh integer multiply variants that return the high word of the product (vmulh.vv, vmulh.vx, vmulhu.vv, vmulhu.vx, vmulhsu.vv, vmulhsu.vx) are not included for EEW=64 in Zve64*, but V extension does support these instructions. So we should decouple Zve* extensions and the V extension. Differential Revision: https://reviews.llvm.org/D117854
-
Kazu Hirata authored
-
Wu Xinlong authored
This commit is currently implementing supports for scalar cryptography extension for LLVM according to version v1.0.0 of [K Ext specification](https://github.com/riscv/riscv-crypto/releases)(scala crypto has been ratified already). Currently, we are implementing the MC (Machine Code) layer of his extension and the majority of work is done under `llvm/lib/Target/RISCV` directory. There are also some test files in `llvm/test/MC/RISCV` directory. Remove the subfeature of Zbk* which conflict with b extensions to reduce the size of the patch. (Zbk* will be resubmit after this patch has been merged) **Co-author:**@ksyx & @VincentWu & @lihongliang & @achieveartificialintelligence Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D98136
-
Julian Lettner authored
-
David Blaikie authored
-
Abinav Puthan Purayil authored
This change folds (or (shl x, C0), (lshr y, C1)) to funnel shift iff C0 and C1 are constants where C0 + C1 is the bit-width of the shift instructions. Differential Revision: https://reviews.llvm.org/D116529
-
David Blaikie authored
Fix for d3b26dea
-
David Blaikie authored
(except on platforms that already opt in to specific versions - SCE, Android, and Darwin using DWARFv4 explicitly, for instance)
-
Kazu Hirata authored
Identified with modernize-use-default-member-init.
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Chuanqi Xu authored
This is required by ychen. See https://reviews.llvm.org/D117542
-
Jim Lin authored
[RISCV][NFC] Remove tailing whitespaces in RISCVInstrInfoVSDPatterns.td and RISCVInstrInfoVVLPatterns.td
-
Chuanqi Xu authored
This fixes bug 47716. According to [module.interface]p2, it is meaningless to export an entity which is not in namespace scope. The reason why the compiler crashes is that the compiler missed ExportDecl when the compiler traverse the subclass of DeclContext. So here is the crash. Also, the patch implements [module.interface]p6 in Sema::CheckRedeclaration* functions. Reviewed By: aaron.ballman, urnathan Differential Revision: https://reviews.llvm.org/D112903
-
David Blaikie authored
LLVM DebugInfo CodeGen synthesizes type declarations in type units when referencing types that are not in type units. When those synthesized types are templates and simplified template names (or mangled simplified template names) are in use, the template arguments must be attached to those declarations. A deeper fix (with a CU or DICompositeType flag) that would also support other uses of clang's -debug-forward-template-args (such as Sony's platform) could/should be implemented to fix this more broadly.
-
Simon Pilgrim authored
-
David Blaikie authored
Doing this causes a declaration of the internal linkage (anonymous namespace) type to be emitted in the type unit, which would then be ambiguous as to which internal linkage definition it refers to (since the name is only valid internally). It's possible these internal linkage types could be resolved relative to the unit the TU is referred to from - but that doesn't seem ideal, and there's no reason to put the type in a type unit since it can only be defined in one CU anyway (since otherwise it'd be an ODR violation) & so avoiding the type unit should be a smaller DWARF encoding anyway. This also addresses an issue with Simplified Template Names where the template parameter could not be rebuilt from the declaration emitted into the TU (specifically for an enum non-type template parameter, where looking up the enumerators is necessary to rebuild the full template name)
-
Kazu Hirata authored
Identified with readability-const-return-type.
-
Kazu Hirata authored
Identified with bugprone-argument-comment.
-
Kazu Hirata authored
-
Craig Topper authored
We don't optimize this as well as we could. Bitreverse is always expanded to bswap and a shift/and/or sequence to swap bits within a byte. The newly created bswap will either becomes a shift/and/or sequence or rev8 instruction. We don't always realize the bswap is redundant with another bswap before or after the bitreverse. Found while thinking about the brev8 instruction from the Cryptography extension. It's equivalent to bswap(bitreverse(x)) or bitreverse(bswap(x)).
-
Craig Topper authored
Rename to include bitreverse. Add additional tests and Zbb command lines. There's some overlapping tests with rv32zbb.ll and rv64zbb.ll. Maybe I'll clean that up in a future patch.
-
Simon Pilgrim authored
This can always be lowered as PMULLW+PSRLWI+PACKUSWB
-
Kazu Hirata authored
-
Kazu Hirata authored
This patch adds a forward declaraiton of DynTypedNode. DumpAST.h is relying on the forward declaration of DynTypedNode in ASTContext.h, which is undesirable.
-
Kazu Hirata authored
This patch moves the definition of ASTDiff later within the header file. Without this patch, the header depends on the forward decalrations of SyntaxTree and ComparisonOptions from another header file, which is not desirable. Since SyntaxTree and ComparisonOptions are defined in ASTDiff.h, we can move the definition of ASTDiff later and stop relying on the forward declarations from another header file.
-
Simon Pilgrim authored
Allows us to reuse the ISD shift opcode instead of a mixture of ISD/X86ISD variants
-
Craig Topper authored
The Zbk* extensions have some overlap with Zb so have been placed in this file. Reviewed By: VincentWu Differential Revision: https://reviews.llvm.org/D117958
-
Groverkss authored
This patch changes names of identifiers and their corresponding getters in PresburgerSet to match those of IntegerPolyhedron. Reviewed By: arjunp Differential Revision: https://reviews.llvm.org/D117998
-
Kazu Hirata authored
Identified with readability-redundant-control-flow.
-
Kazu Hirata authored
Identified with readability-redundant-member-init.
-
Kazu Hirata authored
Identified with llvm-header-guard.
-
Nuno Lopes authored
-
Fangrui Song authored
* Merge parallel_for_each into parallelForEach (this removes 1 `Fn(...)` call) * Change parallelForEach to use parallelForEachN * Move parallelForEachN into Parallel.cpp My x86-64 `lld` executable is 100KiB smaller. No noticeable difference in performance. Reviewed By: lattner Differential Revision: https://reviews.llvm.org/D117510
-