Commit
c4990a03c6c347df120c0dbf6039e900889c4a92
by kazu[JumpThreading] Use emplace_back instead of push_back (NFC)
Summary: This patch replaces push_back with emplace_back where appropriate.
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D80688
|
 | llvm/lib/Transforms/Scalar/JumpThreading.cpp |
Commit
9081fa20991d101728434b354a96283b26495b71
by 1.int32[Analyzer][StreamChecker] Added check for "indeterminate file position".
Summary: According to the standard, after a `wread` or `fwrite` call the file position becomes "indeterminate". It is assumable that a next read or write causes undefined behavior, so a (fatal error) warning is added for this case. The indeterminate position can be cleared by some operations, for example `fseek` or `freopen`, not with `clearerr`.
Reviewers: Szelethus, baloghadamsoftware, martong, NoQ, xazax.hun, dcoughlin
Reviewed By: Szelethus
Subscribers: rnkovacs, NoQ, xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, gamesh411, Charusso, martong, ASDenysPetrov, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D80018
|
 | clang/test/Analysis/stream-error.c |
 | clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp |
Commit
880c35a554952c3a64483502f3278431f8f06516
by sjoerd.meijer[HardwareLoops] LangRef Intrinsic descriptions
The HardwareLoop intrinsics were missing and not described in LangRef. This adds these descriptions/definitions.
Differential Revision: https://reviews.llvm.org/D80316
|
 | llvm/docs/LangRef.rst |
Commit
5921782f744deffb5f5bfd96f6a7932a4ff75666
by simon.moll[VE] Implements minimum MC layer for VE (3/4)
Summary: Define ELF binary code for VE and modify code where should use this new code.
Depends on D79544.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D79545
|
 | llvm/unittests/Object/CMakeLists.txt |
 | llvm/unittests/ObjectYAML/ELFYAMLTest.cpp |
 | llvm/include/llvm/BinaryFormat/ELF.h |
 | llvm/unittests/Object/ELFTest.cpp |
 | llvm/include/llvm/Object/ELFObjectFile.h |
 | llvm/lib/Object/ELF.cpp |
 | llvm/test/tools/llvm-readobj/ELF/file-header-machine-types.test |
 | llvm/unittests/Object/ELFObjectFileTest.cpp |
 | llvm/lib/ObjectYAML/ELFYAML.cpp |
 | llvm/tools/llvm-readobj/ELFDumper.cpp |
 | llvm/include/llvm/BinaryFormat/ELFRelocs/VE.def |
 | llvm/unittests/ObjectYAML/CMakeLists.txt |
Commit
4b94cee650ce9753214d562826b7f1b9663c2268
by llvmgnsyncbot[gn build] Port 5921782f744
|
 | llvm/utils/gn/secondary/llvm/unittests/Object/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/unittests/ObjectYAML/BUILD.gn |
Commit
213c6cdf2e7a30d722cee4cd66b7d48fc396d44b
by joker.ephHarden MLIR detection of misconfiguration when missing dialect registration
This changes will catch error where C++ op are used without being registered, either through creation with the OpBuilder or when trying to cast to the C++ op.
Differential Revision: https://reviews.llvm.org/D80651
|
 | mlir/include/mlir/IR/MLIRContext.h |
 | mlir/include/mlir/IR/OpDefinition.h |
 | mlir/lib/IR/MLIRContext.cpp |
 | mlir/include/mlir/IR/Builders.h |
Commit
d20bf5a7258d4b6a7f017a81b125275dac1aa166
by SourabhSingh.Tomar[DebugInfo] Upgrade DISubrange to support Fortran dynamic arrays
This patch upgrades DISubrange to support fortran requirements.
Summary: Below are the updates/addition of fields. lowerBound - Now accepts signed integer or DIVariable or DIExpression, earlier it accepted only signed integer. upperBound - This field is now added and accepts signed interger or DIVariable or DIExpression. stride - This field is now added and accepts signed interger or DIVariable or DIExpression. This is required to describe bounds of array which are known at runtime.
Testing: unit test cases added (hand-written) check clang check llvm check debug-info
Reviewed By: aprantl
Differential Revision: https://reviews.llvm.org/D80197
|
 | llvm/lib/Bitcode/Reader/MetadataLoader.cpp |
 | llvm/test/Verifier/disubrange-count-upperBound.ll |
 | llvm/lib/IR/LLVMContextImpl.h |
 | llvm/include/llvm/IR/DebugInfoMetadata.h |
 | llvm/lib/IR/DebugInfoMetadata.cpp |
 | llvm/test/DebugInfo/fortranSubrangeExpr.ll |
 | llvm/test/Bitcode/fortranSubrangeBackward.ll |
 | llvm/test/DebugInfo/X86/nondefault-subrange-array.ll |
 | llvm/test/Assembler/invalid-disubrange-count-missing.ll |
 | llvm/lib/AsmParser/LLParser.cpp |
 | llvm/test/Assembler/disubrange-empty-array.ll |
 | llvm/lib/Bitcode/Writer/BitcodeWriter.cpp |
 | llvm/test/DebugInfo/cDefaultLower.ll |
 | llvm/test/Bitcode/fortranSubrange.ll |
 | llvm/test/Assembler/debug-info.ll |
 | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp |
 | llvm/test/Verifier/disubrange-missing-upperBound.ll |
 | llvm/include/llvm/IR/DIBuilder.h |
 | llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp |
 | llvm/lib/IR/DIBuilder.cpp |
 | llvm/test/Verifier/invalid-disubrange-upperBound.ll |
 | llvm/test/DebugInfo/fortranSubrangeVar.ll |
 | llvm/lib/IR/AsmWriter.cpp |
 | llvm/test/DebugInfo/fortranDefaultLower.ll |
 | llvm/test/DebugInfo/fortranSubrangeInt.ll |
 | llvm/unittests/IR/MetadataTest.cpp |
 | llvm/lib/IR/Verifier.cpp |
 | llvm/test/DebugInfo/X86/default-subrange-array.ll |
 | llvm/test/Bindings/llvm-c/debug_info.ll |
 | llvm/test/Verifier/invalid-disubrange-lowerBound.ll |
 | llvm/test/Bitcode/fortranSubrangeBackward.ll.bc |
 | llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp |
 | llvm/test/Verifier/invalid-disubrange-stride.ll |
 | clang/lib/CodeGen/CGDebugInfo.cpp |
Commit
ec0b66c318ea42ec229fd3a9ef4ad92bf81d41cf
by sander.desmalen[CodeGen] Specify meaning of ISD opcodes for scalable vectors
This patch contains changes to the description of EXTRACT_SUBVECTOR, INSERT_SUBVECTOR, INSERT_VECTOR_ELT, EXTRACT_VECTOR_ELT and CONCAT_VECTORS to specify their behaviour for scalable vectors.
For EXTRACT_SUBVECTOR it specifies that the IDX is scaled by the same runtime scaling as the extracted (or inserted) vector. This definition is the most natural extension to EXTRACT_SUBVECTOR for scalable vectors, as most use-cases that work on fixed-width types will have the same meaning for scalable types. For legalization for example, it is common to split the vector operation to operate on the LO and HI halfs of a vector.
For a fixed width vector <16 x i8> this would be expressed with:
v16i8 %res = EXTRACT_SUBVECTOR v32i8 %v, i32 16
For a scalable vector, this would similarly be expressed as:
nxv16i8 %res = EXTRACT_SUBVECTOR nxv32i8 %V, i32 16
By extending the meaning of IDX for scalable vectors, most existing optimisations on EXTRACT/INSERT_SUBVECTOR work for scalable vectors without any changes. This definition also allows extracting a fixed-width subvector from a scalable vector, which is useful to e.g. extract the low N lanes of a scalable vector.
This patch is not NFC because it sets the meaning of these nodes for scalable vectors, which future patches will build upon.
Reviewers: efriedma, ctetreau, rogfer01, craig.topper
Reviewed By: efriedma
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D79806
|
 | llvm/include/llvm/CodeGen/ISDOpcodes.h |