forked from llvm/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pull] main from llvm:main #5542
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
You can test this locally with the following command:git-clang-format --diff a06e94cf3b375cdfd81f42f60e16ce0c3783ff4a b69081e3241be6c310ca98ecdad53643dd804e25 -- bolt/test/RISCV/unnamed-sym-no-entry.c clang-tools-extra/clang-tidy/llvmlibc/NamespaceConstants.h clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.cpp clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.h clang-tools-extra/test/clang-tidy/checkers/misc/coroutine-hostile-raii.cpp clang/lib/Headers/stdckdint.h clang/lib/Headers/usermsrintrin.h clang/lib/StaticAnalyzer/Checkers/CXXDeleteChecker.cpp clang/test/AST/Interp/bitfields.cpp clang/test/AST/Interp/cxx23.cpp clang/test/AST/Interp/intap.cpp clang/test/Analysis/ArrayDelete.cpp clang/test/C/C2x/n2683.c clang/test/C/C2x/n2683_2.c clang/test/CodeGen/X86/usermsr-builtins-error-32.c clang/test/CodeGen/X86/usermsr-builtins.c clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_cntp.c clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel.c clang/test/CodeGenCXX/m68k-rtdcall.cpp clang/test/CodeGenHipStdPar/unannotated-functions-get-emitted.cpp clang/test/CodeGenHipStdPar/unsupported-ASM.cpp clang/test/CodeGenHipStdPar/unsupported-builtins.cpp clang/test/Frontend/Inputs/dashE/dashE.h clang/test/Frontend/Inputs/dashE/sys/a.h clang/test/Frontend/Inputs/dashE/sys/b.h clang/test/Frontend/dashE-sysincludes.cpp clang/test/Headers/stdckdint.c clang/test/Index/USR/decl-context.cpp clang/test/Misc/misc-source-ranges.cpp clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp clang/test/Sema/c2x-expr-range.c clang/test/Sema/m68k-rtdcall.c clang/test/SemaCXX/Inputs/enum-constexpr-conversion-system-header.h clang/test/SemaCXX/PR68542.cpp clang/test/SemaCXX/bitfield-width.c clang/test/SemaCXX/m68k-rtdcall.cpp clang/test/SemaTemplate/function-decl-nested-type-alias.cpp clang/unittests/AST/Interp/Descriptor.cpp compiler-rt/lib/builtins/aarch64/sme-abi-init.c compiler-rt/lib/builtins/extendxftf2.c compiler-rt/lib/builtins/int_to_fp.h compiler-rt/lib/builtins/trunctfxf2.c compiler-rt/lib/scudo/standalone/allocator_common.h compiler-rt/lib/scudo/standalone/report_linux.cpp compiler-rt/lib/scudo/standalone/report_linux.h compiler-rt/test/builtins/Unit/extendxftf2_test.c compiler-rt/test/builtins/Unit/trunctfxf2_test.c compiler-rt/test/hwasan/TestCases/bcmp.cpp compiler-rt/test/orc/TestCases/Linux/ppc64/Inputs/trivial-tls-main.cpp compiler-rt/test/orc/TestCases/Linux/ppc64/Inputs/trivial-tls-pwr10.cpp flang/include/flang/Optimizer/Analysis/TBAAForest.h flang/include/flang/Optimizer/Dialect/FirAliasTagOpInterface.h flang/lib/Optimizer/Analysis/TBAAForest.cpp flang/lib/Optimizer/Dialect/FirAliasTagOpInterface.cpp flang/lib/Optimizer/Transforms/AddAliasTags.cpp libc/src/stdio/gpu/ungetc.cpp libcxx/benchmarks/algorithms/count.bench.cpp libcxx/benchmarks/stop_token.bench.cpp libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp libcxx/test/libcxx/strings/basic.string/string.cons/constinit_sso_string.compile.pass.cpp libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.exception_handling.pass.cpp libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.exception_handling.pass.cpp libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.exception_handling.pass.cpp libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.cpp libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.exception_handling.pass.cpp libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.exception_handling.pass.cpp libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.exception_handling.pass.cpp libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.exception_handling.pass.cpp libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.exception_handling.pass.cpp libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.exception_handling.pass.cpp libcxx/test/std/algorithms/numeric.ops/reduce/pstl.exception_handling.pass.cpp libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.exception_handling.pass.cpp libcxx/test/std/depr/depr.numeric.limits.has.denorm/deprecated.verify.cpp libcxx/test/std/experimental/simd/simd.class/simd_ctor_generator.pass.cpp libcxx/test/std/input.output/string.streams/istringstream/istringstream.members/str.allocator_propagation.pass.cpp libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.members/str.allocator_propagation.pass.cpp libcxx/test/std/input.output/string.streams/stringstream/stringstream.members/str.allocator_propagation.pass.cpp libcxx/test/std/ranges/range.utility/range.subrange/operator.pair_like.pass.cpp lldb/include/lldb/API/SBProcessInfoList.h lldb/source/API/SBProcessInfoList.cpp lldb/test/API/commands/target/dump-separate-debug-info/dwo/foo.cpp lldb/test/API/commands/target/dump-separate-debug-info/dwo/foo.h lldb/test/API/commands/target/dump-separate-debug-info/dwo/main.cpp lldb/test/API/commands/target/dump-separate-debug-info/oso/foo.cpp lldb/test/API/commands/target/dump-separate-debug-info/oso/foo.h lldb/test/API/commands/target/dump-separate-debug-info/oso/main.cpp lldb/test/API/lang/cpp/fixits/main.cpp lldb/test/API/lang/cpp/union-static-data-members/main.cpp llvm/include/llvm/ADT/LazyAtomicPointer.h llvm/include/llvm/Analysis/SimplifyQuery.h llvm/include/llvm/Analysis/WithCache.h llvm/include/llvm/ProfileData/FunctionId.h llvm/include/llvm/ProfileData/HashKeyMap.h llvm/include/llvm/Support/ThreadSafeAllocator.h llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h llvm/lib/Target/AArch64/AArch64PointerAuth.h llvm/lib/Transforms/HipStdPar/HipStdPar.cpp llvm/tools/llvm-remarkutil/RemarkCounter.cpp llvm/tools/llvm-remarkutil/RemarkCounter.h llvm/unittests/ADT/IListIteratorBitsTest.cpp llvm/unittests/ADT/LazyAtomicPointerTest.cpp llvm/unittests/Support/ThreadSafeAllocatorTest.cpp llvm/unittests/Support/UTCTimeTest.cpp mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h mlir/include/mlir/Dialect/OpenACC/OpenACCInterfaces.h mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.h mlir/include/mlir/Dialect/Transform/Transforms/TransformInterpreterUtils.h mlir/include/mlir/ExecutionEngine/SparseTensor/MapRef.h mlir/include/mlir/Query/Matcher/ErrorBuilder.h mlir/include/mlir/Query/Matcher/Marshallers.h mlir/include/mlir/Query/Matcher/MatchFinder.h mlir/include/mlir/Query/Matcher/MatchersInternal.h mlir/include/mlir/Query/Matcher/Registry.h mlir/include/mlir/Query/Matcher/VariantValue.h mlir/include/mlir/Query/Query.h mlir/include/mlir/Query/QuerySession.h mlir/include/mlir/Support/ADTExtras.h mlir/include/mlir/Tools/mlir-query/MlirQueryMain.h mlir/lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp mlir/lib/Dialect/Mesh/IR/MeshOps.cpp mlir/lib/Dialect/SparseTensor/IR/SparseTensorInterfaces.cpp mlir/lib/Dialect/SparseTensor/Transforms/StageSparseOperations.cpp mlir/lib/Dialect/Transform/Transforms/InterpreterPass.cpp mlir/lib/Dialect/Transform/Transforms/PreloadLibraryPass.cpp mlir/lib/Dialect/Transform/Transforms/TransformInterpreterUtils.cpp mlir/lib/ExecutionEngine/SparseTensor/MapRef.cpp mlir/lib/Query/Matcher/Diagnostics.cpp mlir/lib/Query/Matcher/Diagnostics.h mlir/lib/Query/Matcher/ErrorBuilder.cpp mlir/lib/Query/Matcher/Parser.cpp mlir/lib/Query/Matcher/Parser.h mlir/lib/Query/Matcher/RegistryManager.cpp mlir/lib/Query/Matcher/RegistryManager.h mlir/lib/Query/Matcher/VariantValue.cpp mlir/lib/Query/Query.cpp mlir/lib/Query/QueryParser.cpp mlir/lib/Query/QueryParser.h mlir/lib/Tools/mlir-query/MlirQueryMain.cpp mlir/tools/mlir-query/mlir-query.cpp mlir/unittests/Analysis/Presburger/FractionTest.cpp mlir/unittests/Dialect/Transform/Preload.cpp mlir/unittests/IR/SymbolTableTest.cpp bolt/include/bolt/Core/BinaryFunction.h bolt/include/bolt/Core/MCPlus.h bolt/include/bolt/Core/MCPlusBuilder.h bolt/include/bolt/Core/Relocation.h bolt/include/bolt/Rewrite/RewriteInstance.h bolt/lib/Core/BinaryContext.cpp bolt/lib/Core/BinaryEmitter.cpp bolt/lib/Core/BinaryFunction.cpp bolt/lib/Core/DebugData.cpp bolt/lib/Core/HashUtilities.cpp bolt/lib/Core/MCPlusBuilder.cpp bolt/lib/Core/Relocation.cpp bolt/lib/Passes/Aligner.cpp bolt/lib/Passes/BinaryPasses.cpp bolt/lib/Passes/LongJmp.cpp bolt/lib/Rewrite/JITLinkLinker.cpp bolt/lib/Rewrite/MachORewriteInstance.cpp bolt/lib/Rewrite/PseudoProbeRewriter.cpp bolt/lib/Rewrite/RewriteInstance.cpp bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp bolt/lib/Target/X86/X86MCPlusBuilder.cpp bolt/test/reorder-data-writable-ptload.c bolt/unittests/Core/MCPlusBuilder.cpp clang-tools-extra/clang-tidy/ClangTidyCheck.h clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.cpp clang-tools-extra/clang-tidy/llvmlibc/ImplementationInNamespaceCheck.cpp clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp clang-tools-extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.cpp clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.h clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp clang-tools-extra/clangd/SemanticHighlighting.cpp clang-tools-extra/clangd/index/SymbolCollector.cpp clang-tools-extra/include-cleaner/unittests/LocateSymbolTest.cpp clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/rvalue-reference-param-not-moved.cpp clang-tools-extra/test/clang-tidy/checkers/llvmlibc/callee-namespace.cpp clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp clang-tools-extra/test/clang-tidy/checkers/modernize/return-braced-init-list.cpp clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor.cpp clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-swap.cpp clang-tools-extra/test/clang-tidy/checkers/readability/function-size.cpp clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp clang/include/clang-c/Index.h clang/include/clang/AST/ASTNodeTraverser.h clang/include/clang/AST/Decl.h clang/include/clang/AST/DeclCXX.h clang/include/clang/AST/DeclTemplate.h clang/include/clang/AST/Expr.h clang/include/clang/AST/ExprCXX.h clang/include/clang/AST/RecursiveASTVisitor.h clang/include/clang/AST/Type.h clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h clang/include/clang/Analysis/FlowSensitive/Formula.h clang/include/clang/Basic/LangOptions.h clang/include/clang/Basic/ObjCRuntime.h clang/include/clang/Basic/Sanitizers.h clang/include/clang/Basic/SourceLocation.h clang/include/clang/Basic/SourceManager.h clang/include/clang/Basic/Specifiers.h clang/include/clang/Frontend/PreprocessorOutputOptions.h clang/include/clang/Lex/HeaderSearchOptions.h clang/include/clang/Lex/Preprocessor.h clang/include/clang/Sema/Sema.h clang/include/clang/Sema/Template.h clang/include/clang/Sema/TypoCorrection.h clang/include/clang/Serialization/ASTBitCodes.h clang/include/clang/Serialization/ASTReader.h clang/include/clang/Serialization/ASTRecordReader.h clang/include/clang/Serialization/ASTWriter.h clang/include/clang/Serialization/ModuleFile.h clang/lib/APINotes/APINotesWriter.cpp clang/lib/AST/ASTContext.cpp clang/lib/AST/ASTImporter.cpp clang/lib/AST/Decl.cpp clang/lib/AST/DeclBase.cpp clang/lib/AST/DeclCXX.cpp clang/lib/AST/DeclObjC.cpp clang/lib/AST/DeclTemplate.cpp clang/lib/AST/ExprCXX.cpp clang/lib/AST/ExprConstant.cpp clang/lib/AST/Interp/Boolean.h clang/lib/AST/Interp/ByteCodeEmitter.cpp clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeExprGen.h clang/lib/AST/Interp/ByteCodeStmtGen.cpp clang/lib/AST/Interp/Context.h clang/lib/AST/Interp/Descriptor.cpp clang/lib/AST/Interp/Function.h clang/lib/AST/Interp/Integral.h clang/lib/AST/Interp/IntegralAP.h clang/lib/AST/Interp/Interp.cpp clang/lib/AST/Interp/Interp.h clang/lib/AST/Interp/InterpBuiltin.cpp clang/lib/AST/Interp/InterpStack.cpp clang/lib/AST/Interp/Pointer.h clang/lib/AST/Interp/Program.cpp clang/lib/AST/Interp/Program.h clang/lib/AST/Interp/Record.h clang/lib/AST/Interp/Source.h clang/lib/AST/ItaniumMangle.cpp clang/lib/AST/ODRHash.cpp clang/lib/AST/Type.cpp clang/lib/AST/TypePrinter.cpp clang/lib/ASTMatchers/ASTMatchersInternal.cpp clang/lib/ASTMatchers/GtestMatchers.cpp clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp clang/lib/Basic/Sarif.cpp clang/lib/Basic/SourceManager.cpp clang/lib/Basic/Targets.cpp clang/lib/Basic/Targets/ARM.cpp clang/lib/Basic/Targets/M68k.cpp clang/lib/Basic/Targets/M68k.h clang/lib/Basic/Targets/OSTargets.h clang/lib/Basic/Targets/PPC.cpp clang/lib/Basic/Targets/PPC.h clang/lib/Basic/Targets/X86.cpp clang/lib/Basic/Targets/X86.h clang/lib/CodeGen/BackendUtil.cpp clang/lib/CodeGen/CGBuiltin.cpp clang/lib/CodeGen/CGCall.cpp clang/lib/CodeGen/CGDebugInfo.cpp clang/lib/CodeGen/CGDecl.cpp clang/lib/CodeGen/CGDeclCXX.cpp clang/lib/CodeGen/CGStmt.cpp clang/lib/CodeGen/CodeGenFunction.cpp clang/lib/CodeGen/CodeGenFunction.h clang/lib/CodeGen/CodeGenModule.cpp clang/lib/CodeGen/CodeGenPGO.cpp clang/lib/Driver/Multilib.cpp clang/lib/Driver/OffloadBundler.cpp clang/lib/Driver/ToolChains/AIX.h clang/lib/Driver/ToolChains/AVR.cpp clang/lib/Driver/ToolChains/Arch/ARM.cpp clang/lib/Driver/ToolChains/Arch/RISCV.cpp clang/lib/Driver/ToolChains/BareMetal.cpp clang/lib/Driver/ToolChains/CSKYToolChain.cpp clang/lib/Driver/ToolChains/Clang.cpp clang/lib/Driver/ToolChains/Cuda.h clang/lib/Driver/ToolChains/Darwin.cpp clang/lib/Driver/ToolChains/DragonFly.cpp clang/lib/Driver/ToolChains/DragonFly.h clang/lib/Driver/ToolChains/Flang.cpp clang/lib/Driver/ToolChains/FreeBSD.cpp clang/lib/Driver/ToolChains/FreeBSD.h clang/lib/Driver/ToolChains/Fuchsia.cpp clang/lib/Driver/ToolChains/Gnu.cpp clang/lib/Driver/ToolChains/Haiku.cpp clang/lib/Driver/ToolChains/Hexagon.cpp clang/lib/Driver/ToolChains/Linux.cpp clang/lib/Driver/ToolChains/MSP430.cpp clang/lib/Driver/ToolChains/MinGW.cpp clang/lib/Driver/ToolChains/MinGW.h clang/lib/Driver/ToolChains/NaCl.cpp clang/lib/Driver/ToolChains/NetBSD.cpp clang/lib/Driver/ToolChains/NetBSD.h clang/lib/Driver/ToolChains/OpenBSD.cpp clang/lib/Driver/ToolChains/OpenBSD.h clang/lib/Driver/ToolChains/PS4CPU.cpp clang/lib/Driver/ToolChains/RISCVToolchain.cpp clang/lib/Driver/ToolChains/Solaris.cpp clang/lib/Driver/ToolChains/Solaris.h clang/lib/Driver/ToolChains/WebAssembly.cpp clang/lib/Driver/ToolChains/ZOS.cpp clang/lib/Driver/ToolChains/ZOS.h clang/lib/ExtractAPI/API.cpp clang/lib/Format/ContinuationIndenter.cpp clang/lib/Format/FormatToken.h clang/lib/Format/TokenAnnotator.cpp clang/lib/Format/UnwrappedLineParser.cpp clang/lib/Format/UnwrappedLineParser.h clang/lib/Frontend/ASTUnit.cpp clang/lib/Frontend/CompilerInstance.cpp clang/lib/Frontend/CompilerInvocation.cpp clang/lib/Frontend/FrontendAction.cpp clang/lib/Frontend/PrintPreprocessedOutput.cpp clang/lib/Frontend/Rewrite/InclusionRewriter.cpp clang/lib/Headers/intrin.h clang/lib/Headers/x86gprintrin.h clang/lib/Index/IndexSymbol.cpp clang/lib/Index/USRGeneration.cpp clang/lib/Lex/Lexer.cpp clang/lib/Lex/PPDirectives.cpp clang/lib/Lex/Pragma.cpp clang/lib/Lex/Preprocessor.cpp clang/lib/Parse/ParseDecl.cpp clang/lib/Sema/Sema.cpp clang/lib/Sema/SemaCUDA.cpp clang/lib/Sema/SemaChecking.cpp clang/lib/Sema/SemaConcept.cpp clang/lib/Sema/SemaDecl.cpp clang/lib/Sema/SemaDeclAttr.cpp clang/lib/Sema/SemaDeclCXX.cpp clang/lib/Sema/SemaExpr.cpp clang/lib/Sema/SemaInit.cpp clang/lib/Sema/SemaLambda.cpp clang/lib/Sema/SemaTemplate.cpp clang/lib/Sema/SemaTemplateDeduction.cpp clang/lib/Sema/SemaTemplateInstantiate.cpp clang/lib/Sema/SemaTemplateInstantiateDecl.cpp clang/lib/Sema/SemaType.cpp clang/lib/Serialization/ASTCommon.cpp clang/lib/Serialization/ASTReader.cpp clang/lib/Serialization/ASTReaderDecl.cpp clang/lib/Serialization/ASTWriter.cpp clang/lib/Serialization/ASTWriterDecl.cpp clang/lib/Serialization/GeneratePCH.cpp clang/lib/Serialization/GlobalModuleIndex.cpp clang/lib/Serialization/MultiOnDiskHashTable.h clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp clang/lib/Support/RISCVVIntrinsicUtils.cpp clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp clang/test/AST/Interp/arrays.cpp clang/test/AST/Interp/c.c clang/test/AST/Interp/functions.cpp clang/test/AST/Interp/literals.cpp clang/test/AST/Interp/records.cpp clang/test/AST/ast-dump-decl.cpp clang/test/Analysis/DeleteWithNonVirtualDtor.cpp clang/test/Analysis/PR49642.c clang/test/Analysis/analyzer-config.c clang/test/Analysis/analyzer-enabled-checkers.c clang/test/Analysis/conversion.c clang/test/Analysis/diagnostics/deref-track-symbolic-region.cpp clang/test/Analysis/errno-stdlibraryfunctions-notes.c clang/test/Analysis/errno-stdlibraryfunctions.c clang/test/Analysis/std-c-library-functions-POSIX-lookup.c clang/test/Analysis/std-c-library-functions-POSIX-socket-sockaddr.cpp clang/test/Analysis/std-c-library-functions-POSIX.c clang/test/Analysis/std-c-library-functions-arg-constraints-note-tags.cpp clang/test/Analysis/std-c-library-functions-arg-constraints-notes.cpp clang/test/Analysis/std-c-library-functions-arg-constraints-tracking-notes.c clang/test/Analysis/std-c-library-functions-arg-constraints.c clang/test/Analysis/std-c-library-functions-arg-constraints.cpp clang/test/Analysis/std-c-library-functions-arg-cstring-dependency.c clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c clang/test/Analysis/std-c-library-functions-arg-weakdeps.c clang/test/Analysis/std-c-library-functions-eof.c clang/test/Analysis/std-c-library-functions-inlined.c clang/test/Analysis/std-c-library-functions-lookup.c clang/test/Analysis/std-c-library-functions-lookup.cpp clang/test/Analysis/std-c-library-functions-path-notes.c clang/test/Analysis/std-c-library-functions-restrict.c clang/test/Analysis/std-c-library-functions-restrict.cpp clang/test/Analysis/std-c-library-functions-vs-stream-checker.c clang/test/Analysis/std-c-library-functions.c clang/test/Analysis/std-c-library-functions.cpp clang/test/Analysis/std-c-library-posix-crash.c clang/test/Analysis/stream-errno-note.c clang/test/Analysis/stream-errno.c clang/test/Analysis/stream-noopen.c clang/test/Analysis/stream-note.c clang/test/Analysis/stream-stdlibraryfunctionargs.c clang/test/Analysis/string.c clang/test/Analysis/weak-dependencies.c clang/test/C/C2x/n2359.c clang/test/C/C2x/n3007.c clang/test/CXX/drs/dr7xx.cpp clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c clang/test/CodeGen/PowerPC/inline-asm-matching-ppc-vsx.c clang/test/CodeGen/X86/avx-shuffle-builtins.c clang/test/CodeGen/aarch64-neon-vcmla.c clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_cnt.c clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za32.c clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za32.c clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_write.c clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2-bfloat.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3-bfloat.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4-bfloat.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1-bfloat.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sb.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sh.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sw.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1ub.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uh.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uw.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1-bfloat.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sb.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sh.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sw.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1ub.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1uh.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1uw.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1-bfloat.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfb.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfd.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfh.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfw.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_setffr.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1b.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1h.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1w.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2-bfloat.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3-bfloat.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4-bfloat.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1-bfloat.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1.c clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_wrffr.c clang/test/CodeGen/arm64-microsoft-intrinsics.c clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c clang/test/CodeGen/bounds-checking.c clang/test/CodeGen/catch-undef-behavior.c clang/test/CodeGen/mrtd.c clang/test/CodeGen/target-data.c clang/test/CodeGenCXX/aarch64-sve-vector-init.cpp clang/test/CodeGenCXX/default_calling_conv.cpp clang/test/CodeGenCXX/microsoft-abi-dynamic-cast.cpp clang/test/CodeGenSYCL/function-attrs.cpp clang/test/Driver/arm-abi.c clang/test/Driver/avr-ld.c clang/test/Driver/haiku.c clang/test/Driver/mingw.cpp clang/test/Driver/openbsd.c clang/test/Driver/riscv-features.c clang/test/Driver/x86-target-features.c clang/test/Frontend/rewrite-includes-cli-include.c clang/test/Frontend/rewrite-includes.c clang/test/Modules/explicit-build-missing-files.cpp clang/test/Modules/preprocess-module.cpp clang/test/OpenMP/declare_target_codegen.cpp clang/test/OpenMP/declare_target_constexpr_codegen.cpp clang/test/Preprocessor/has_attribute.c clang/test/Preprocessor/has_attribute.cpp clang/test/Preprocessor/has_c_attribute.c clang/test/Preprocessor/minimize-whitespace-messages.c clang/test/Preprocessor/predefined-arch-macros-x86.c clang/test/Preprocessor/predefined-arch-macros.c clang/test/Preprocessor/x86_target_features.c clang/test/Sema/aarch64-sme-intrinsics/acle_sme_imm.cpp clang/test/Sema/attr-counted-by.c clang/test/Sema/attr-target.c clang/test/Sema/builtins-overflow.c clang/test/Sema/c2x-auto.c clang/test/Sema/conditional.c clang/test/SemaCUDA/Inputs/cuda-initializers.h clang/test/SemaCXX/class-layout.cpp clang/test/SemaCXX/constant-expression-cxx11.cpp clang/test/SemaCXX/ms_struct.cpp clang/test/SemaCXX/offsetof.cpp clang/test/SemaCXX/type-traits.cpp clang/test/SemaTemplate/concepts-out-of-line-def.cpp clang/test/SemaTemplate/dependent-expr.cpp clang/test/SemaTemplate/instantiate-method.cpp clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp clang/tools/libclang/CIndex.cpp clang/tools/libclang/CXType.cpp clang/unittests/AST/ASTImporterTest.cpp clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp clang/unittests/Analysis/FlowSensitive/TestingSupport.cpp clang/unittests/Analysis/FlowSensitive/TestingSupport.h clang/unittests/Analysis/FlowSensitive/TransferTest.cpp clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp clang/unittests/Basic/SourceManagerTest.cpp clang/unittests/Format/FormatTest.cpp clang/unittests/Format/FormatTestObjC.cpp clang/unittests/Format/FormatTestRawStrings.cpp clang/unittests/Format/TokenAnnotatorTest.cpp clang/unittests/Tooling/RangeSelectorTest.cpp clang/utils/TableGen/ClangAttrEmitter.cpp clang/utils/TableGen/RISCVVEmitter.cpp clang/utils/TableGen/SveEmitter.cpp compiler-rt/include/fuzzer/FuzzedDataProvider.h compiler-rt/lib/asan_abi/asan_abi.cpp compiler-rt/lib/asan_abi/asan_abi.h compiler-rt/lib/asan_abi/asan_abi_shim.cpp compiler-rt/lib/builtins/floatdidf.c compiler-rt/lib/builtins/floatdisf.c compiler-rt/lib/builtins/floattidf.c compiler-rt/lib/builtins/floattisf.c compiler-rt/lib/builtins/floattitf.c compiler-rt/lib/builtins/floatundidf.c compiler-rt/lib/builtins/floatundisf.c compiler-rt/lib/builtins/floatuntidf.c compiler-rt/lib/builtins/floatuntisf.c compiler-rt/lib/builtins/floatuntitf.c compiler-rt/lib/builtins/fp_extend.h compiler-rt/lib/builtins/fp_trunc.h compiler-rt/lib/hwasan/hwasan_platform_interceptors.h compiler-rt/lib/interception/interception_win.cpp compiler-rt/lib/profile/InstrProfilingFile.c compiler-rt/lib/sanitizer_common/sanitizer_platform.h compiler-rt/lib/scudo/standalone/combined.h compiler-rt/lib/scudo/standalone/common.cpp compiler-rt/lib/scudo/standalone/common.h compiler-rt/lib/scudo/standalone/linux.cpp compiler-rt/lib/scudo/standalone/local_cache.h compiler-rt/lib/scudo/standalone/mem_map_linux.cpp compiler-rt/lib/scudo/standalone/primary32.h compiler-rt/lib/scudo/standalone/primary64.h compiler-rt/lib/scudo/standalone/report.cpp compiler-rt/lib/scudo/standalone/report.h compiler-rt/lib/scudo/standalone/tests/primary_test.cpp compiler-rt/lib/scudo/standalone/trusty.cpp compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp compiler-rt/lib/tsan/rtl/tsan_platform.h compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp compiler-rt/lib/tsan/rtl/tsan_rtl.h compiler-rt/test/builtins/Unit/addtf3_test.c compiler-rt/test/builtins/Unit/divtf3_test.c compiler-rt/test/builtins/Unit/extenddftf2_test.c compiler-rt/test/builtins/Unit/extendhftf2_test.c compiler-rt/test/builtins/Unit/extendsftf2_test.c compiler-rt/test/builtins/Unit/floatditf_test.c compiler-rt/test/builtins/Unit/floatsitf_test.c compiler-rt/test/builtins/Unit/floatunditf_test.c compiler-rt/test/builtins/Unit/floatunsitf_test.c compiler-rt/test/builtins/Unit/fp_test.h compiler-rt/test/builtins/Unit/multf3_test.c compiler-rt/test/builtins/Unit/subtf3_test.c compiler-rt/test/hwasan/TestCases/deep-recursion.c compiler-rt/test/hwasan/TestCases/memcmp.cpp compiler-rt/test/tsan/map32bit.cpp compiler-rt/test/tsan/mmap_large.cpp compiler-rt/test/tsan/test.h compiler-rt/test/ubsan/TestCases/TypeCheck/misaligned.cpp flang/include/flang/Common/real.h flang/include/flang/Decimal/binary-floating-point.h flang/include/flang/Decimal/decimal.h flang/include/flang/Evaluate/characteristics.h flang/include/flang/ISO_Fortran_binding.h flang/include/flang/Lower/AbstractConverter.h flang/include/flang/Lower/CallInterface.h flang/include/flang/Lower/OpenACC.h flang/include/flang/Optimizer/Builder/FIRBuilder.h flang/include/flang/Optimizer/CodeGen/CodeGen.h flang/include/flang/Optimizer/CodeGen/TBAABuilder.h flang/include/flang/Optimizer/CodeGen/TypeConverter.h flang/include/flang/Optimizer/Dialect/FIROps.h flang/include/flang/Optimizer/Support/Utils.h flang/include/flang/Optimizer/Transforms/Passes.h flang/include/flang/Parser/parse-tree.h flang/include/flang/Runtime/descriptor.h flang/include/flang/Tools/CrossToolHelpers.h flang/lib/Decimal/binary-to-decimal.cpp flang/lib/Decimal/decimal-to-binary.cpp flang/lib/Evaluate/check-expression.cpp flang/lib/Evaluate/constant.cpp flang/lib/Evaluate/fold-real.cpp flang/lib/Evaluate/fold-reduction.h flang/lib/Frontend/CompilerInvocation.cpp flang/lib/Lower/Allocatable.cpp flang/lib/Lower/Bridge.cpp flang/lib/Lower/CallInterface.cpp flang/lib/Lower/Coarray.cpp flang/lib/Lower/ConvertCall.cpp flang/lib/Lower/ConvertConstant.cpp flang/lib/Lower/ConvertExpr.cpp flang/lib/Lower/ConvertExprToHLFIR.cpp flang/lib/Lower/ConvertProcedureDesignator.cpp flang/lib/Lower/ConvertType.cpp flang/lib/Lower/ConvertVariable.cpp flang/lib/Lower/DirectivesCommon.h flang/lib/Lower/IO.cpp flang/lib/Lower/OpenACC.cpp flang/lib/Lower/Runtime.cpp flang/lib/Lower/VectorSubscripts.cpp flang/lib/Optimizer/Builder/FIRBuilder.cpp flang/lib/Optimizer/CodeGen/CodeGen.cpp flang/lib/Optimizer/CodeGen/TBAABuilder.cpp flang/lib/Optimizer/CodeGen/TypeConverter.cpp flang/lib/Optimizer/Dialect/FIRDialect.cpp flang/lib/Optimizer/Dialect/FIROps.cpp flang/lib/Optimizer/Transforms/LoopVersioning.cpp flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp flang/lib/Parser/executable-parsers.cpp flang/lib/Parser/openacc-parsers.cpp flang/lib/Parser/unparse.cpp flang/lib/Semantics/canonicalize-do.cpp flang/lib/Semantics/check-acc-structure.cpp flang/lib/Semantics/compute-offsets.cpp flang/lib/Semantics/data-to-inits.cpp flang/lib/Semantics/data-to-inits.h flang/lib/Semantics/mod-file.cpp flang/lib/Semantics/resolve-directives.cpp flang/lib/Semantics/resolve-labels.cpp flang/lib/Semantics/resolve-names-utils.cpp flang/lib/Semantics/resolve-names.cpp flang/runtime/ISO_Fortran_binding.cpp flang/runtime/allocatable.cpp flang/runtime/assign.cpp flang/runtime/derived-api.cpp flang/runtime/descriptor-io.h flang/runtime/descriptor.cpp flang/runtime/edit-input.cpp flang/runtime/edit-output.cpp flang/runtime/edit-output.h flang/runtime/io-stmt.h flang/runtime/namelist.cpp flang/runtime/pointer.cpp flang/runtime/random.cpp flang/runtime/type-info.cpp flang/tools/flang-driver/driver.cpp flang/unittests/Evaluate/ISO-Fortran-binding.cpp flang/unittests/Optimizer/InternalNamesTest.cpp flang/unittests/Runtime/NumericalFormatTest.cpp libc/fuzzing/stdio/printf_float_conv_fuzz.cpp libc/include/llvm-libc-types/rpc_opcodes_t.h libc/src/assert/gpu/__assert_fail.cpp libc/src/math/gpu/vendor/amdgpu/platform.h libc/src/stdio/printf_core/core_structs.h libc/src/stdio/printf_core/float_hex_converter.h libc/test/src/stdio/sprintf_test.cpp libc/test/src/stdio/ungetc_test.cpp libc/utils/gpu/server/rpc_server.cpp libcxx/include/__algorithm/count.h libcxx/include/__algorithm/pstl_any_all_none_of.h libcxx/include/__algorithm/pstl_backend.h libcxx/include/__algorithm/pstl_backends/cpu_backend.h libcxx/include/__algorithm/pstl_backends/cpu_backends/any_of.h libcxx/include/__algorithm/pstl_backends/cpu_backends/fill.h libcxx/include/__algorithm/pstl_backends/cpu_backends/find_if.h libcxx/include/__algorithm/pstl_backends/cpu_backends/for_each.h libcxx/include/__algorithm/pstl_backends/cpu_backends/libdispatch.h libcxx/include/__algorithm/pstl_backends/cpu_backends/merge.h libcxx/include/__algorithm/pstl_backends/cpu_backends/serial.h libcxx/include/__algorithm/pstl_backends/cpu_backends/stable_sort.h libcxx/include/__algorithm/pstl_backends/cpu_backends/thread.h libcxx/include/__algorithm/pstl_backends/cpu_backends/transform.h libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h libcxx/include/__algorithm/pstl_copy.h libcxx/include/__algorithm/pstl_count.h libcxx/include/__algorithm/pstl_fill.h libcxx/include/__algorithm/pstl_find.h libcxx/include/__algorithm/pstl_for_each.h libcxx/include/__algorithm/pstl_generate.h libcxx/include/__algorithm/pstl_is_partitioned.h libcxx/include/__algorithm/pstl_merge.h libcxx/include/__algorithm/pstl_replace.h libcxx/include/__algorithm/pstl_sort.h libcxx/include/__algorithm/pstl_stable_sort.h libcxx/include/__algorithm/pstl_transform.h libcxx/include/__algorithm/ranges_count.h libcxx/include/__concepts/swappable.h libcxx/include/__mdspan/extents.h libcxx/include/__memory/uses_allocator_construction.h libcxx/include/__numeric/pstl_reduce.h libcxx/include/__numeric/pstl_transform_reduce.h libcxx/include/__ranges/to.h libcxx/include/__type_traits/datasizeof.h libcxx/include/__type_traits/promote.h libcxx/include/experimental/__simd/scalar.h libcxx/include/experimental/__simd/simd.h libcxx/include/experimental/__simd/utility.h libcxx/include/experimental/__simd/vec_ext.h libcxx/src/ios.instantiations.cpp libcxx/test/libcxx/algorithms/pstl.robust_against_customization_points_not_working.pass.cpp libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill.pass.cpp libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace.pass.cpp libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_copy.pass.cpp libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_copy_if.pass.cpp libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.all_of.pass.cpp libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.any_of.pass.cpp libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find.pass.cpp libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if.pass.cpp libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if_not.pass.cpp libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each.pass.cpp libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each_n.pass.cpp libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.none_of.pass.cpp libcxx/test/std/containers/views/mdspan/extents/ctad.pass.cpp libcxx/test/std/input.output/string.streams/istringstream/istringstream.members/str.move.pass.cpp libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.members/str.move.pass.cpp libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.members/str.move.pass.cpp libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.members/view.pass.cpp libcxx/test/std/input.output/string.streams/stringstream/stringstream.members/gcount.pass.cpp libcxx/test/std/input.output/string.streams/stringstream/stringstream.members/str.move.pass.cpp libcxx/test/std/strings/basic.string/string.cons/implicit_deduction_guides.pass.cpp libcxx/test/std/strings/string.view/string.view.cons/implicit_deduction_guides.pass.cpp libcxx/test/std/thread/thread.jthread/assign.move.pass.cpp libcxx/test/std/thread/thread.jthread/cons.move.pass.cpp libcxx/test/std/thread/thread.jthread/detach.pass.cpp libcxx/test/std/thread/thread.jthread/dtor.pass.cpp libcxx/test/std/thread/thread.jthread/get_id.pass.cpp libcxx/test/std/thread/thread.jthread/get_stop_source.pass.cpp libcxx/test/std/thread/thread.jthread/get_stop_token.pass.cpp libcxx/test/std/thread/thread.jthread/join.deadlock.pass.cpp libcxx/test/std/thread/thread.jthread/join.pass.cpp libcxx/test/std/thread/thread.jthread/joinable.pass.cpp libcxx/test/std/thread/thread.jthread/request_stop.pass.cpp libcxx/test/std/thread/thread.jthread/swap.free.pass.cpp libcxx/test/std/thread/thread.jthread/swap.member.pass.cpp libcxx/test/support/counting_projection.h libcxxabi/src/cxa_demangle.cpp libunwind/src/AddressSpace.hpp libunwind/src/EHHeaderParser.hpp libunwind/src/Registers.hpp libunwind/src/UnwindCursor.hpp lld/COFF/Chunks.cpp lld/COFF/Chunks.h lld/COFF/DLL.cpp lld/COFF/DebugTypes.cpp lld/COFF/Driver.cpp lld/COFF/InputFiles.cpp lld/COFF/PDB.cpp lld/COFF/Writer.cpp lld/COFF/Writer.h lld/ELF/Arch/AVR.cpp lld/ELF/Arch/Mips.cpp lld/ELF/Arch/RISCV.cpp lld/ELF/Config.h lld/ELF/DWARF.h lld/ELF/Driver.cpp lld/ELF/InputFiles.cpp lld/ELF/InputSection.cpp lld/ELF/MapFile.cpp lld/ELF/Relocations.cpp lld/ELF/Symbols.cpp lld/ELF/Writer.cpp lld/ELF/Writer.h lld/MachO/InputFiles.cpp lld/wasm/WriterUtils.cpp lldb/include/lldb/API/LLDB.h lldb/include/lldb/API/SBDefines.h lldb/include/lldb/API/SBPlatform.h lldb/include/lldb/API/SBProcessInfo.h lldb/include/lldb/API/SBType.h lldb/include/lldb/Expression/DWARFExpression.h lldb/include/lldb/Expression/DWARFExpressionList.h lldb/include/lldb/Symbol/CompilerType.h lldb/include/lldb/Symbol/SymbolFile.h lldb/include/lldb/Symbol/Type.h lldb/include/lldb/Symbol/TypeSystem.h lldb/include/lldb/Target/Language.h lldb/include/lldb/Target/Platform.h lldb/include/lldb/Target/Target.h lldb/include/lldb/Utility/ProcessInfo.h lldb/include/lldb/Utility/Scalar.h lldb/source/API/SBPlatform.cpp lldb/source/API/SBType.cpp lldb/source/Commands/CommandObjectDWIMPrint.cpp lldb/source/Commands/CommandObjectExpression.cpp lldb/source/Commands/CommandObjectTarget.cpp lldb/source/Commands/CommandOptionsProcessLaunch.cpp lldb/source/Core/Value.cpp lldb/source/DataFormatters/TypeFormat.cpp lldb/source/DataFormatters/VectorType.cpp lldb/source/Expression/DWARFExpression.cpp lldb/source/Interpreter/CommandInterpreter.cpp lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp lldb/source/Plugins/Language/ObjC/ObjCLanguage.h lldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.h lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h lldb/source/Plugins/SymbolFile/DWARF/DIERef.cpp lldb/source/Plugins/SymbolFile/DWARF/DIERef.h lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.h lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.h lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.h lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacro.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacro.h lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h lldb/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.h lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.h lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h lldb/source/Plugins/SymbolFile/DWARF/DWARFTypeUnit.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFTypeUnit.h lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.h lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.h lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h lldb/source/Symbol/CompilerType.cpp lldb/source/Symbol/SymbolFile.cpp lldb/source/Symbol/Type.cpp lldb/source/Symbol/TypeSystem.cpp lldb/source/Target/Platform.cpp lldb/source/Target/Target.cpp lldb/source/Utility/Scalar.cpp lldb/test/API/functionalities/data-formatter/builtin-formats/main.cpp lldb/test/API/functionalities/data-formatter/vector-types/main.cpp lldb/test/API/python_api/type/main.cpp lldb/unittests/Expression/DWARFExpressionTest.cpp lldb/unittests/Symbol/SymtabTest.cpp lldb/unittests/Symbol/TestLineEntry.cpp lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp lldb/unittests/SymbolFile/DWARF/DWARFIndexCachingTest.cpp lldb/unittests/SymbolFile/DWARF/DWARFUnitTest.cpp lldb/unittests/SymbolFile/DWARF/SymbolFileDWARFTests.cpp lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp lldb/unittests/TestingSupport/Symbol/YAMLModuleTester.cpp lldb/unittests/TestingSupport/Symbol/YAMLModuleTester.h lldb/unittests/Utility/ScalarTest.cpp lldb/unittests/tools/lldb-server/tests/MessageObjects.cpp lldb/unittests/tools/lldb-server/tests/MessageObjects.h llvm/examples/Kaleidoscope/Chapter4/toy.cpp llvm/examples/Kaleidoscope/Chapter5/toy.cpp llvm/examples/Kaleidoscope/Chapter6/toy.cpp llvm/examples/Kaleidoscope/Chapter7/toy.cpp llvm/include/llvm/ADT/GenericCycleImpl.h llvm/include/llvm/ADT/GenericCycleInfo.h llvm/include/llvm/ADT/GenericUniformityImpl.h llvm/include/llvm/ADT/IndexedMap.h llvm/include/llvm/ADT/STLExtras.h llvm/include/llvm/ADT/StringExtras.h llvm/include/llvm/ADT/ilist_iterator.h llvm/include/llvm/ADT/ilist_node.h llvm/include/llvm/ADT/ilist_node_options.h llvm/include/llvm/ADT/simple_ilist.h llvm/include/llvm/Analysis/InlineAdvisor.h llvm/include/llvm/Analysis/InlineModelFeatureMaps.h llvm/include/llvm/Analysis/InstructionSimplify.h llvm/include/llvm/Analysis/MLModelRunner.h llvm/include/llvm/Analysis/ModelUnderTrainingRunner.h llvm/include/llvm/Analysis/TensorSpec.h llvm/include/llvm/Analysis/Utils/TFUtils.h llvm/include/llvm/Analysis/ValueTracking.h llvm/include/llvm/AsmParser/LLToken.h llvm/include/llvm/BinaryFormat/MsgPack.h llvm/include/llvm/Bitcode/LLVMBitCodes.h llvm/include/llvm/Bitstream/BitstreamReader.h llvm/include/llvm/Bitstream/BitstreamWriter.h llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h llvm/include/llvm/CodeGen/BasicTTIImpl.h llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h llvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h llvm/include/llvm/CodeGen/LiveVariables.h llvm/include/llvm/CodeGen/MachineBasicBlock.h llvm/include/llvm/CodeGen/MachineInstr.h llvm/include/llvm/CodeGen/MachineStableHash.h llvm/include/llvm/CodeGen/Passes.h llvm/include/llvm/CodeGen/SelectionDAG.h llvm/include/llvm/CodeGen/SlotIndexes.h llvm/include/llvm/CodeGen/TargetInstrInfo.h llvm/include/llvm/CodeGen/TargetLowering.h llvm/include/llvm/DWARFLinker/DWARFLinker.h llvm/include/llvm/DebugInfo/CodeView/SymbolDeserializer.h llvm/include/llvm/DebugInfo/CodeView/TypeDeserializer.h llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h llvm/include/llvm/DebugInfo/GSYM/FileWriter.h llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h llvm/include/llvm/DebugInfo/GSYM/GsymReader.h llvm/include/llvm/DebugInfo/MSF/MappedBlockStream.h llvm/include/llvm/DebugInfo/PDB/Native/FormatUtil.h llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h llvm/include/llvm/ExecutionEngine/JITLink/ppc64.h llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h llvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h llvm/include/llvm/IR/BasicBlock.h llvm/include/llvm/IR/CallingConv.h llvm/include/llvm/IR/DebugInfo.h llvm/include/llvm/IR/DerivedTypes.h llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h llvm/include/llvm/IR/GlobalAlias.h llvm/include/llvm/IR/GlobalIFunc.h llvm/include/llvm/IR/GlobalVariable.h llvm/include/llvm/IR/Instruction.h llvm/include/llvm/IR/Instructions.h llvm/include/llvm/IR/SymbolTableListTraits.h llvm/include/llvm/IR/ValueSymbolTable.h llvm/include/llvm/IRReader/IRReader.h llvm/include/llvm/MC/MCAsmBackend.h llvm/include/llvm/MC/MCMachObjectWriter.h llvm/include/llvm/Object/COFF.h llvm/include/llvm/Object/COFFImportFile.h llvm/include/llvm/Object/ELFObjectFile.h llvm/include/llvm/Object/ELFTypes.h llvm/include/llvm/Object/FaultMapParser.h llvm/include/llvm/Object/GOFF.h llvm/include/llvm/Object/StackMapParser.h llvm/include/llvm/Object/XCOFFObjectFile.h llvm/include/llvm/Option/ArgList.h llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h llvm/include/llvm/ProfileData/Coverage/CoverageMappingReader.h llvm/include/llvm/ProfileData/GCOV.h llvm/include/llvm/ProfileData/InstrProfReader.h llvm/include/llvm/ProfileData/InstrProfWriter.h llvm/include/llvm/ProfileData/MemProf.h llvm/include/llvm/ProfileData/SampleProf.h llvm/include/llvm/ProfileData/SampleProfReader.h llvm/include/llvm/ProfileData/SampleProfWriter.h llvm/include/llvm/Remarks/Remark.h llvm/include/llvm/Support/BinaryByteStream.h llvm/include/llvm/Support/BinaryItemStream.h llvm/include/llvm/Support/BinaryStream.h llvm/include/llvm/Support/BinaryStreamReader.h llvm/include/llvm/Support/BinaryStreamRef.h llvm/include/llvm/Support/BinaryStreamWriter.h llvm/include/llvm/Support/Chrono.h llvm/include/llvm/Support/ELFAttributeParser.h llvm/include/llvm/Support/Endian.h llvm/include/llvm/Support/EndianStream.h llvm/include/llvm/Support/HashBuilder.h llvm/include/llvm/Support/KnownBits.h llvm/include/llvm/Support/MD5.h llvm/include/llvm/Support/OnDiskHashTable.h llvm/include/llvm/Support/Regex.h llvm/include/llvm/Support/SwapByteOrder.h llvm/include/llvm/Support/VersionTuple.h llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h llvm/include/llvm/Support/YAMLTraits.h llvm/include/llvm/TableGen/Record.h llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h llvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h llvm/include/llvm/Transforms/IPO/SampleContextTracker.h llvm/include/llvm/Transforms/InstCombine/InstCombiner.h llvm/include/llvm/Transforms/Instrumentation/CFGMST.h llvm/include/llvm/Transforms/Scalar/GVN.h llvm/include/llvm/Transforms/Utils/CodeMoverUtils.h llvm/lib/Analysis/BasicAliasAnalysis.cpp llvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp llvm/lib/Analysis/InlineOrder.cpp llvm/lib/Analysis/LazyValueInfo.cpp llvm/lib/Analysis/Local.cpp llvm/lib/Analysis/MemoryDependenceAnalysis.cpp llvm/lib/Analysis/ScalarEvolution.cpp llvm/lib/Analysis/TFLiteUtils.cpp llvm/lib/Analysis/ValueTracking.cpp llvm/lib/AsmParser/LLLexer.cpp llvm/lib/AsmParser/LLParser.cpp llvm/lib/Bitcode/Reader/BitcodeReader.cpp llvm/lib/Bitcode/Reader/MetadataLoader.cpp llvm/lib/Bitcode/Writer/BitcodeWriter.cpp llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp llvm/lib/CodeGen/BasicBlockSections.cpp llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp llvm/lib/CodeGen/CodeGenPrepare.cpp llvm/lib/CodeGen/EarlyIfConversion.cpp llvm/lib/CodeGen/ExpandVectorPredication.cpp llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp llvm/lib/CodeGen/LiveVariables.cpp llvm/lib/CodeGen/MIRFSDiscriminator.cpp llvm/lib/CodeGen/MIRParser/MIRParser.cpp llvm/lib/CodeGen/MIRSampleProfile.cpp llvm/lib/CodeGen/MachineBasicBlock.cpp llvm/lib/CodeGen/MachineOperand.cpp llvm/lib/CodeGen/MachineSink.cpp llvm/lib/CodeGen/MachineStableHash.cpp llvm/lib/CodeGen/PHIElimination.cpp llvm/lib/CodeGen/PeepholeOptimizer.cpp llvm/lib/CodeGen/RegAllocGreedy.cpp llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp llvm/lib/CodeGen/TypePromotion.cpp llvm/lib/CodeGen/VirtRegMap.cpp llvm/lib/DWARFLinkerParallel/DWARFLinkerCompileUnit.h llvm/lib/DWARFLinkerParallel/DWARFLinkerImpl.cpp llvm/lib/DWARFLinkerParallel/DWARFLinkerImpl.h llvm/lib/DWARFLinkerParallel/OutputSections.h llvm/lib/DebugInfo/BTF/BTFParser.cpp llvm/lib/DebugInfo/CodeView/CVTypeVisitor.cpp llvm/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp llvm/lib/DebugInfo/CodeView/RecordName.cpp llvm/lib/DebugInfo/CodeView/RecordSerialization.cpp llvm/lib/DebugInfo/CodeView/SimpleTypeSerializer.cpp llvm/lib/DebugInfo/CodeView/SymbolSerializer.cpp llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp llvm/lib/DebugInfo/DWARF/DWARFContext.cpp llvm/lib/DebugInfo/DWARF/DWARFTypePrinter.cpp llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp llvm/lib/DebugInfo/GSYM/GsymCreator.cpp llvm/lib/DebugInfo/GSYM/GsymReader.cpp llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp llvm/lib/DebugInfo/MSF/MSFBuilder.cpp llvm/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp llvm/lib/DebugInfo/PDB/Native/InputFile.cpp llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp llvm/lib/DebugInfo/PDB/Native/TpiStreamBuilder.cpp llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h llvm/lib/ExecutionEngine/JITLink/ELF_aarch32.cpp llvm/lib/ExecutionEngine/JITLink/ELF_ppc64.cpp llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h llvm/lib/ExecutionEngine/JITLink/aarch32.cpp llvm/lib/ExecutionEngine/JITLink/ppc64.cpp llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp llvm/lib/ExecutionEngine/Orc/Debugging/DebugInfoSupport.cpp llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp llvm/lib/IR/AsmWriter.cpp llvm/lib/IR/AutoUpgrade.cpp llvm/lib/IR/BasicBlock.cpp llvm/lib/IR/ConstantFold.cpp llvm/lib/IR/Instruction.cpp llvm/lib/IR/Instructions.cpp llvm/lib/IR/SymbolTableListTraitsImpl.h llvm/lib/IR/Type.cpp llvm/lib/IR/Verifier.cpp llvm/lib/InterfaceStub/ELFObjHandler.cpp llvm/lib/LTO/LTO.cpp llvm/lib/MC/DXContainerPSVInfo.cpp llvm/lib/MC/ELFObjectWriter.cpp llvm/lib/MC/GOFFObjectWriter.cpp llvm/lib/MC/MCAsmBackend.cpp llvm/lib/MC/MCAssembler.cpp llvm/lib/MC/MCCodeView.cpp llvm/lib/MC/MCDXContainerWriter.cpp llvm/lib/MC/MCDwarf.cpp llvm/lib/MC/MCPseudoProbe.cpp llvm/lib/MC/MCStreamer.cpp llvm/lib/MC/MachObjectWriter.cpp llvm/lib/MC/SPIRVObjectWriter.cpp llvm/lib/MC/WasmObjectWriter.cpp llvm/lib/MC/WinCOFFObjectWriter.cpp llvm/lib/MC/XCOFFObjectWriter.cpp llvm/lib/ObjCopy/ELF/ELFObject.cpp llvm/lib/ObjCopy/MachO/MachOReader.cpp llvm/lib/Object/Archive.cpp llvm/lib/Object/ArchiveWriter.cpp llvm/lib/Object/COFFImportFile.cpp llvm/lib/Object/COFFObjectFile.cpp llvm/lib/Object/ModuleSymbolTable.cpp llvm/lib/Object/SymbolSize.cpp llvm/lib/Object/WindowsResource.cpp llvm/lib/Object/XCOFFObjectFile.cpp llvm/lib/ObjectYAML/COFFEmitter.cpp llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp llvm/lib/ObjectYAML/CodeViewYAMLTypeHashing.cpp llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp llvm/lib/ObjectYAML/ELFEmitter.cpp llvm/lib/ObjectYAML/XCOFFEmitter.cpp llvm/lib/Option/ArgList.cpp llvm/lib/Passes/PassBuilder.cpp llvm/lib/Passes/PassBuilderPipelines.cpp llvm/lib/Passes/StandardInstrumentations.cpp llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp llvm/lib/ProfileData/GCOV.cpp llvm/lib/ProfileData/InstrProf.cpp llvm/lib/ProfileData/InstrProfReader.cpp llvm/lib/ProfileData/InstrProfWriter.cpp llvm/lib/ProfileData/MemProf.cpp llvm/lib/ProfileData/RawMemProfReader.cpp llvm/lib/ProfileData/SampleProf.cpp llvm/lib/ProfileData/SampleProfReader.cpp llvm/lib/ProfileData/SampleProfWriter.cpp llvm/lib/Remarks/Remark.cpp llvm/lib/Remarks/YAMLRemarkParser.cpp llvm/lib/Support/BinaryStreamReader.cpp llvm/lib/Support/BinaryStreamRef.cpp llvm/lib/Support/BinaryStreamWriter.cpp llvm/lib/Support/Chrono.cpp llvm/lib/Support/CodeGenCoverage.cpp llvm/lib/Support/ELFAttributeParser.cpp llvm/lib/Support/KnownBits.cpp llvm/lib/Support/Regex.cpp llvm/lib/Support/StringExtras.cpp llvm/lib/Support/YAMLParser.cpp llvm/lib/Support/YAMLTraits.cpp llvm/lib/TableGen/Record.cpp llvm/lib/TableGen/TGLexer.cpp llvm/lib/TableGen/TGLexer.h llvm/lib/TableGen/TGParser.cpp llvm/lib/Target/AArch64/AArch64CallingConvention.h llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp llvm/lib/Target/AArch64/AArch64ExpandImm.cpp llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp llvm/lib/Target/AArch64/AArch64FastISel.cpp llvm/lib/Target/AArch64/AArch64FrameLowering.cpp llvm/lib/Target/AArch64/AArch64ISelLowering.cpp llvm/lib/Target/AArch64/AArch64InstrInfo.cpp llvm/lib/Target/AArch64/AArch64InstrInfo.h llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h llvm/lib/Target/AArch64/AArch64PointerAuth.cpp llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp llvm/lib/Target/AArch64/AArch64Subtarget.cpp llvm/lib/Target/AArch64/AArch64Subtarget.h llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.h llvm/lib/Target/AMDGPU/AMDGPUImageIntrinsicOptimizer.cpp llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp llvm/lib/Target/AMDGPU/GCNSubtarget.h llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp llvm/lib/Target/AMDGPU/SIISelLowering.cpp llvm/lib/Target/AMDGPU/SIInstrInfo.cpp llvm/lib/Target/AMDGPU/SIInstrInfo.h llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp llvm/lib/Target/ARM/ARMISelLowering.cpp llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendWinCOFF.h llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCCodeEmitter.cpp llvm/lib/Target/DirectX/MCTargetDesc/DirectXMCTargetDesc.cpp llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCCodeEmitter.cpp llvm/lib/Target/LoongArch/LoongArchExpandAtomicPseudoInsts.cpp llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp llvm/lib/Target/LoongArch/LoongArchISelLowering.h llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp llvm/lib/Target/M68k/M68kExpandPseudo.cpp llvm/lib/Target/M68k/M68kISelLowering.cpp llvm/lib/Target/M68k/M68kInstrInfo.cpp llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp llvm/lib/Target/M68k/MCTargetDesc/M68kBaseInfo.h llvm/lib/Target/M68k/MCTargetDesc/M68kMCCodeEmitter.cpp llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCCodeEmitter.cpp llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h llvm/lib/Target/NVPTX/NVPTX.h llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp llvm/lib/Target/NVPTX/NVPTXISelLowering.h llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp llvm/lib/Target/PowerPC/PPCISelLowering.cpp llvm/lib/Target/PowerPC/PPCMIPeephole.cpp llvm/lib/Target/PowerPC/PPCTargetMachine.cpp llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp llvm/lib/Target/RISCV/RISCVISelLowering.cpp llvm/lib/Target/RISCV/RISCVInstrInfo.cpp llvm/lib/Target/RISCV/RISCVInstrInfo.h llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp llvm/lib/Target/RISCV/RISCVPushPopOptimizer.cpp llvm/lib/Target/RISCV/RISCVRVVInitUndef.cpp llvm/lib/Target/RISCV/RISCVSubtarget.h llvm/lib/Target/RISCV/RISCVTargetMachine.cpp llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVAsmBackend.cpp llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCCodeEmitter.cpp llvm/lib/Target/SPIRV/SPIRV.h llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp llvm/lib/Target/Sparc/SparcAsmPrinter.cpp llvm/lib/Target/Sparc/SparcISelLowering.cpp llvm/lib/Target/Sparc/SparcISelLowering.h llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp llvm/lib/Target/SystemZ/SystemZISelLowering.cpp llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp llvm/lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp llvm/lib/Target/X86/X86ISelDAGToDAG.cpp llvm/lib/Target/X86/X86ISelLowering.cpp llvm/lib/Target/X86/X86ISelLowering.h llvm/lib/Target/X86/X86InsertPrefetch.cpp llvm/lib/Target/X86/X86InstrInfo.cpp llvm/lib/Target/X86/X86InstrInfo.h llvm/lib/Target/X86/X86TargetMachine.cpp llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp llvm/lib/TargetParser/ARMTargetParser.cpp llvm/lib/TargetParser/Host.cpp llvm/lib/TargetParser/TargetParser.cpp llvm/lib/TargetParser/X86TargetParser.cpp llvm/lib/Transforms/IPO/FunctionImport.cpp llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp llvm/lib/Transforms/IPO/MergeFunctions.cpp llvm/lib/Transforms/IPO/SampleContextTracker.cpp llvm/lib/Transforms/IPO/SampleProfile.cpp llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp llvm/lib/Transforms/InstCombine/InstCombineInternal.h llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp llvm/lib/Transforms/InstCombine/InstructionCombining.cpp llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp llvm/lib/Transforms/Instrumentation/MemProfiler.cpp llvm/lib/Transforms/Scalar/ConstraintElimination.cpp llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp llvm/lib/Transforms/Scalar/GVN.cpp llvm/lib/Transforms/Scalar/JumpThreading.cpp llvm/lib/Transforms/Scalar/LICM.cpp llvm/lib/Transforms/Scalar/LoopFlatten.cpp llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp llvm/lib/Transforms/Scalar/NaryReassociate.cpp llvm/lib/Transforms/Scalar/Reassociate.cpp llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp llvm/lib/Transforms/Scalar/Scalarizer.cpp llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp llvm/lib/Transforms/Scalar/Sink.cpp llvm/lib/Transforms/Utils/CodeExtractor.cpp llvm/lib/Transforms/Utils/CodeLayout.cpp llvm/lib/Transforms/Vectorize/LoopVectorize.cpp llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp llvm/lib/Transforms/Vectorize/VectorCombine.cpp llvm/lib/XRay/FDRTraceWriter.cpp llvm/tools/dsymutil/DwarfLinkerForBinary.cpp llvm/tools/dsymutil/Reproducer.cpp llvm/tools/llc/llc.cpp llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp llvm/tools/llvm-exegesis/lib/BenchmarkResult.h llvm/tools/llvm-exegesis/lib/LlvmState.h llvm/tools/llvm-exegesis/lib/X86/X86Counter.cpp llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp llvm/tools/llvm-jitlink/llvm-jitlink.cpp llvm/tools/llvm-objdump/MachODump.cpp llvm/tools/llvm-objdump/llvm-objdump.cpp llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp llvm/tools/llvm-pdbutil/ExplainOutputStyle.cpp llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp llvm/tools/llvm-profdata/llvm-profdata.cpp llvm/tools/llvm-profgen/CSPreInliner.cpp llvm/tools/llvm-profgen/CSPreInliner.h llvm/tools/llvm-profgen/CallContext.h llvm/tools/llvm-profgen/ProfileGenerator.cpp llvm/tools/llvm-profgen/ProfileGenerator.h llvm/tools/llvm-profgen/ProfiledBinary.cpp llvm/tools/llvm-profgen/ProfiledBinary.h llvm/tools/llvm-rc/ResourceFileWriter.cpp llvm/tools/llvm-rc/ResourceFileWriter.h llvm/tools/llvm-rc/ResourceScriptParser.cpp llvm/tools/llvm-rc/ResourceScriptParser.h llvm/tools/llvm-rc/ResourceScriptStmt.cpp llvm/tools/llvm-rc/ResourceScriptStmt.h llvm/tools/llvm-rc/ResourceVisitor.h llvm/tools/llvm-readobj/COFFDumper.cpp llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h llvm/tools/llvm-readobj/ELFDumper.cpp llvm/tools/llvm-readobj/MachODumper.cpp llvm/tools/llvm-readobj/ObjDumper.h llvm/tools/llvm-readobj/WindowsResourceDumper.cpp llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp llvm/tools/llvm-xray/xray-converter.cpp llvm/tools/llvm-xray/xray-graph-diff.h llvm/tools/obj2yaml/coff2yaml.cpp llvm/unittests/ADT/HashingTest.cpp llvm/unittests/ADT/StringExtrasTest.cpp llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp llvm/unittests/Analysis/TargetLibraryInfoTest.cpp llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp llvm/unittests/CodeGen/InstrRefLDVTest.cpp llvm/unittests/DebugInfo/CodeView/RandomAccessVisitorTest.cpp llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp llvm/unittests/DebugInfo/MSF/MappedBlockStreamTest.cpp llvm/unittests/DebugInfo/PDB/HashTableTest.cpp llvm/unittests/DebugInfo/PDB/StringTableBuilderTest.cpp llvm/unittests/ExecutionEngine/JITLink/AArch32Tests.cpp llvm/unittests/ExecutionEngine/JITLink/JITLinkMocks.cpp llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp llvm/unittests/ExecutionEngine/JITLink/MemoryManagerErrorTests.cpp llvm/unittests/ExecutionEngine/JITLink/StubsTests.cpp llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp llvm/unittests/MC/StringTableBuilderTest.cpp llvm/unittests/ProfileData/InstrProfTest.cpp llvm/unittests/ProfileData/SampleProfTest.cpp llvm/unittests/Support/ARMAttributeParser.cpp llvm/unittests/Support/BLAKE3Test.cpp llvm/unittests/Support/BinaryStreamTest.cpp llvm/unittests/Support/CSKYAttributeParserTest.cpp llvm/unittests/Support/ELFAttributeParserTest.cpp llvm/unittests/Support/EndianStreamTest.cpp llvm/unittests/Support/EndianTest.cpp llvm/unittests/Support/HashBuilderTest.cpp llvm/unittests/Support/KnownBitsTest.cpp llvm/unittests/Support/RISCVAttributeParserTest.cpp llvm/unittests/Support/RegexTest.cpp llvm/unittests/Support/YAMLIOTest.cpp llvm/unittests/Support/YAMLParserTest.cpp llvm/unittests/Target/LoongArch/InstSizes.cpp llvm/utils/TableGen/DirectiveEmitter.cpp llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp llvm/utils/TableGen/GlobalISelEmitter.cpp llvm/utils/TableGen/GlobalISelMatchTable.cpp llvm/utils/TableGen/GlobalISelMatchTable.h llvm/utils/TableGen/X86DisassemblerTables.cpp llvm/utils/TableGen/X86DisassemblerTables.h llvm/utils/TableGen/X86RecognizableInstr.cpp llvm/utils/TableGen/X86RecognizableInstr.h mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp mlir/include/mlir-c/Dialect/SparseTensor.h mlir/include/mlir/Analysis/Presburger/Fraction.h mlir/include/mlir/Analysis/Presburger/Matrix.h mlir/include/mlir/Conversion/FuncToLLVM/ConvertFuncToLLVM.h mlir/include/mlir/Conversion/TosaToLinalg/TosaToLinalg.h mlir/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h mlir/include/mlir/Dialect/Bufferization/Transforms/Bufferize.h mlir/include/mlir/Dialect/Bufferization/Transforms/Transforms.h mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h mlir/include/mlir/Dialect/NVGPU/IR/NVGPUDialect.h mlir/include/mlir/Dialect/OpenACC/OpenACC.h mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h mlir/include/mlir/Dialect/SparseTensor/Pipelines/Passes.h mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h mlir/include/mlir/Dialect/Tosa/Transforms/Passes.h mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.h mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h mlir/include/mlir/Dialect/Transform/Transforms/TransformInterpreterPassBase.h mlir/include/mlir/Dialect/Utils/StructuredOpsUtils.h mlir/include/mlir/Dialect/Vector/IR/VectorOps.h mlir/include/mlir/ExecutionEngine/SparseTensor/COO.h mlir/include/mlir/ExecutionEngine/SparseTensor/File.h mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h mlir/include/mlir/ExecutionEngine/SparseTensorRuntime.h mlir/include/mlir/IR/BuiltinTypes.h mlir/include/mlir/IR/OpImplementation.h mlir/include/mlir/IR/SymbolTable.h mlir/include/mlir/InitAllDialects.h mlir/include/mlir/Interfaces/LoopLikeInterface.h mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h mlir/include/mlir/Transforms/RegionUtils.h mlir/lib/Analysis/Presburger/Matrix.cpp mlir/lib/Analysis/Presburger/PresburgerRelation.cpp mlir/lib/Analysis/Presburger/Utils.cpp mlir/lib/AsmParser/AttributeParser.cpp mlir/lib/Bindings/Python/DialectSparseTensor.cpp mlir/lib/Bindings/Python/IRCore.cpp mlir/lib/Bindings/Python/IRModule.h mlir/lib/CAPI/Dialect/SparseTensor.cpp mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp mlir/lib/Conversion/NVVMToLLVM/NVVMToLLVM.cpp mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp mlir/lib/Dialect/Affine/IR/AffineOps.cpp mlir/lib/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.cpp mlir/lib/Dialect/Affine/Utils/Utils.cpp mlir/lib/Dialect/Arith/IR/ArithOps.cpp mlir/lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp mlir/lib/Dialect/Bufferization/TransformOps/BufferizationTransformOps.cpp mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp mlir/lib/Dialect/Linalg/Transforms/ConvertConv2DToImg2Col.cpp mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp mlir/lib/Dialect/Linalg/Transforms/Padding.cpp mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp mlir/lib/Dialect/SCF/IR/SCF.cpp mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp mlir/lib/Dialect/SCF/Transforms/LoopCanonicalization.cpp mlir/lib/Dialect/SCF/Utils/Utils.cpp mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.cpp mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.h mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp mlir/lib/Dialect/SparseTensor/Transforms/SparsificationAndBufferizationPass.cpp mlir/lib/Dialect/Tosa/IR/TosaOps.cpp mlir/lib/Dialect/Tosa/Transforms/TosaFolders.cpp mlir/lib/Dialect/Tosa/Transforms/TosaLayerwiseConstantFoldPass.cpp mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp mlir/lib/Dialect/Transform/IR/TransformOps.cpp mlir/lib/Dialect/Transform/Transforms/TransformInterpreterPassBase.cpp mlir/lib/Dialect/Utils/StructuredOpsUtils.cpp mlir/lib/Dialect/Vector/IR/VectorOps.cpp mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp mlir/lib/IR/SymbolTable.cpp mlir/lib/Interfaces/LoopLikeInterface.cpp mlir/lib/Interfaces/ValueBoundsOpInterface.cpp mlir/lib/TableGen/Constraint.cpp mlir/lib/Target/LLVMIR/DebugImporter.cpp mlir/lib/Target/LLVMIR/Dialect/ArmSVE/ArmSVEToLLVMIRTranslation.cpp mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp mlir/lib/Target/LLVMIR/ModuleImport.cpp mlir/lib/Target/LLVMIR/ModuleTranslation.cpp mlir/lib/Transforms/Mem2Reg.cpp mlir/lib/Transforms/Utils/RegionUtils.cpp mlir/test/CAPI/sparse_tensor.c mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp mlir/test/lib/Dialect/Transform/TestTransformDialectInterpreter.cpp mlir/tools/mlir-tblgen/OpDocGen.cpp mlir/tools/mlir-tblgen/OpFormatGen.cpp mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp mlir/unittests/Dialect/Utils/StructuredOpsUtilsTest.cpp mlir/unittests/IR/ShapedTypeTest.cpp openmp/libomptarget/DeviceRTL/include/State.h openmp/libomptarget/DeviceRTL/include/Synchronization.h openmp/libomptarget/DeviceRTL/include/Utils.h openmp/libomptarget/DeviceRTL/src/Configuration.cpp openmp/libomptarget/DeviceRTL/src/Mapping.cpp openmp/libomptarget/DeviceRTL/src/Parallelism.cpp openmp/libomptarget/DeviceRTL/src/State.cpp openmp/libomptarget/DeviceRTL/src/Synchronization.cpp openmp/libomptarget/DeviceRTL/src/Utils.cpp openmp/libomptarget/include/Utilities.h openmp/libomptarget/test/offloading/target_critical_region.cpp openmp/libomptarget/test/offloading/wtime.c libc/src/stdio/generic/ungetc.cpp libcxx/include/__utility/empty.h llvm/include/llvm/ADT/StableHashing.h mlir/include/mlir/Dialect/ArmSVE/IR/ArmSVEDialect.h mlir/include/mlir/Dialect/ArmSVE/Transforms/Transforms.h View the diff from clang-format here.diff --git a/clang/include/clang/Basic/Specifiers.h b/clang/include/clang/Basic/Specifiers.h
index 0add24d53..be9481d4e 100644
--- a/clang/include/clang/Basic/Specifiers.h
+++ b/clang/include/clang/Basic/Specifiers.h
@@ -267,28 +267,28 @@ namespace clang {
/// CallingConv - Specifies the calling convention that a function uses.
enum CallingConv {
- CC_C, // __attribute__((cdecl))
- CC_X86StdCall, // __attribute__((stdcall))
- CC_X86FastCall, // __attribute__((fastcall))
- CC_X86ThisCall, // __attribute__((thiscall))
- CC_X86VectorCall, // __attribute__((vectorcall))
- CC_X86Pascal, // __attribute__((pascal))
- CC_Win64, // __attribute__((ms_abi))
- CC_X86_64SysV, // __attribute__((sysv_abi))
- CC_X86RegCall, // __attribute__((regcall))
- CC_AAPCS, // __attribute__((pcs("aapcs")))
- CC_AAPCS_VFP, // __attribute__((pcs("aapcs-vfp")))
- CC_IntelOclBicc, // __attribute__((intel_ocl_bicc))
- CC_SpirFunction, // default for OpenCL functions on SPIR target
- CC_OpenCLKernel, // inferred for OpenCL kernels
- CC_Swift, // __attribute__((swiftcall))
+ CC_C, // __attribute__((cdecl))
+ CC_X86StdCall, // __attribute__((stdcall))
+ CC_X86FastCall, // __attribute__((fastcall))
+ CC_X86ThisCall, // __attribute__((thiscall))
+ CC_X86VectorCall, // __attribute__((vectorcall))
+ CC_X86Pascal, // __attribute__((pascal))
+ CC_Win64, // __attribute__((ms_abi))
+ CC_X86_64SysV, // __attribute__((sysv_abi))
+ CC_X86RegCall, // __attribute__((regcall))
+ CC_AAPCS, // __attribute__((pcs("aapcs")))
+ CC_AAPCS_VFP, // __attribute__((pcs("aapcs-vfp")))
+ CC_IntelOclBicc, // __attribute__((intel_ocl_bicc))
+ CC_SpirFunction, // default for OpenCL functions on SPIR target
+ CC_OpenCLKernel, // inferred for OpenCL kernels
+ CC_Swift, // __attribute__((swiftcall))
CC_SwiftAsync, // __attribute__((swiftasynccall))
- CC_PreserveMost, // __attribute__((preserve_most))
- CC_PreserveAll, // __attribute__((preserve_all))
+ CC_PreserveMost, // __attribute__((preserve_most))
+ CC_PreserveAll, // __attribute__((preserve_all))
CC_AArch64VectorCall, // __attribute__((aarch64_vector_pcs))
- CC_AArch64SVEPCS, // __attribute__((aarch64_sve_pcs))
- CC_AMDGPUKernelCall, // __attribute__((amdgpu_kernel))
- CC_M68kRTD, // __attribute__((m68k_rtd))
+ CC_AArch64SVEPCS, // __attribute__((aarch64_sve_pcs))
+ CC_AMDGPUKernelCall, // __attribute__((amdgpu_kernel))
+ CC_M68kRTD, // __attribute__((m68k_rtd))
};
/// Checks whether the given calling convention supports variadic
diff --git a/clang/lib/AST/Interp/Function.h b/clang/lib/AST/Interp/Function.h
index b93477c56..0859b0b13 100644
--- a/clang/lib/AST/Interp/Function.h
+++ b/clang/lib/AST/Interp/Function.h
@@ -15,8 +15,8 @@
#ifndef LLVM_CLANG_AST_INTERP_FUNCTION_H
#define LLVM_CLANG_AST_INTERP_FUNCTION_H
-#include "Source.h"
#include "Descriptor.h"
+#include "Source.h"
#include "clang/AST/ASTLambda.h"
#include "clang/AST/Decl.h"
#include "llvm/Support/raw_ostream.h"
diff --git a/clang/lib/AST/Type.cpp b/clang/lib/AST/Type.cpp
index 570d460ed..f07f09bb7 100644
--- a/clang/lib/AST/Type.cpp
+++ b/clang/lib/AST/Type.cpp
@@ -3373,7 +3373,8 @@ StringRef FunctionType::getNameForCallConv(CallingConv CC) {
case CC_SwiftAsync: return "swiftasynccall";
case CC_PreserveMost: return "preserve_most";
case CC_PreserveAll: return "preserve_all";
- case CC_M68kRTD: return "m68k_rtd";
+ case CC_M68kRTD:
+ return "m68k_rtd";
}
llvm_unreachable("Invalid calling convention.");
diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp
index 70accce45..b2814f001 100644
--- a/clang/lib/CodeGen/BackendUtil.cpp
+++ b/clang/lib/CodeGen/BackendUtil.cpp
@@ -55,6 +55,7 @@
#include "llvm/Target/TargetOptions.h"
#include "llvm/TargetParser/SubtargetFeature.h"
#include "llvm/TargetParser/Triple.h"
+#include "llvm/Transforms/HipStdPar/HipStdPar.h"
#include "llvm/Transforms/IPO/EmbedBitcodePass.h"
#include "llvm/Transforms/IPO/LowerTypeTests.h"
#include "llvm/Transforms/IPO/ThinLTOBitcodeWriter.h"
@@ -78,7 +79,6 @@
#include "llvm/Transforms/Scalar/EarlyCSE.h"
#include "llvm/Transforms/Scalar/GVN.h"
#include "llvm/Transforms/Scalar/JumpThreading.h"
-#include "llvm/Transforms/HipStdPar/HipStdPar.h"
#include "llvm/Transforms/Utils/Debugify.h"
#include "llvm/Transforms/Utils/EntryExitInstrumenter.h"
#include "llvm/Transforms/Utils/ModuleUtils.h"
diff --git a/clang/lib/CodeGen/CGCall.cpp b/clang/lib/CodeGen/CGCall.cpp
index 150450e91..606281073 100644
--- a/clang/lib/CodeGen/CGCall.cpp
+++ b/clang/lib/CodeGen/CGCall.cpp
@@ -72,7 +72,8 @@ unsigned CodeGenTypes::ClangCallConvToLLVMCallConv(CallingConv CC) {
case CC_PreserveAll: return llvm::CallingConv::PreserveAll;
case CC_Swift: return llvm::CallingConv::Swift;
case CC_SwiftAsync: return llvm::CallingConv::SwiftTail;
- case CC_M68kRTD: return llvm::CallingConv::M68k_RTD;
+ case CC_M68kRTD:
+ return llvm::CallingConv::M68k_RTD;
}
}
diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp
index 3682a2c6a..440718708 100644
--- a/clang/lib/CodeGen/CodeGenFunction.cpp
+++ b/clang/lib/CodeGen/CodeGenFunction.cpp
@@ -2601,8 +2601,9 @@ void CodeGenFunction::checkTargetFeatures(SourceLocation Loc,
bool IsHipStdPar = getLangOpts().HIPStdPar && getLangOpts().CUDAIsDevice;
if (BuiltinID) {
StringRef FeatureList(CGM.getContext().BuiltinInfo.getRequiredFeatures(BuiltinID));
- if (!Builtin::evaluateRequiredTargetFeatures(
- FeatureList, CallerFeatureMap) && !IsHipStdPar) {
+ if (!Builtin::evaluateRequiredTargetFeatures(FeatureList,
+ CallerFeatureMap) &&
+ !IsHipStdPar) {
CGM.getDiags().Report(Loc, diag::err_builtin_needs_feature)
<< TargetDecl->getDeclName()
<< FeatureList;
@@ -2629,13 +2630,15 @@ void CodeGenFunction::checkTargetFeatures(SourceLocation Loc,
if (F.getValue())
ReqFeatures.push_back(F.getKey());
}
- if (!llvm::all_of(ReqFeatures, [&](StringRef Feature) {
- if (!CallerFeatureMap.lookup(Feature)) {
- MissingFeature = Feature.str();
- return false;
- }
- return true;
- }) && !IsHipStdPar)
+ if (!llvm::all_of(ReqFeatures,
+ [&](StringRef Feature) {
+ if (!CallerFeatureMap.lookup(Feature)) {
+ MissingFeature = Feature.str();
+ return false;
+ }
+ return true;
+ }) &&
+ !IsHipStdPar)
CGM.getDiags().Report(Loc, diag::err_function_needs_feature)
<< FD->getDeclName() << TargetDecl->getDeclName() << MissingFeature;
} else if (!FD->isMultiVersion() && FD->hasAttr<TargetAttr>()) {
@@ -2643,8 +2646,9 @@ void CodeGenFunction::checkTargetFeatures(SourceLocation Loc,
CGM.getContext().getFunctionFeatureMap(CalleeFeatureMap, TargetDecl);
for (const auto &F : CalleeFeatureMap) {
- if (F.getValue() && (!CallerFeatureMap.lookup(F.getKey()) ||
- !CallerFeatureMap.find(F.getKey())->getValue()) &&
+ if (F.getValue() &&
+ (!CallerFeatureMap.lookup(F.getKey()) ||
+ !CallerFeatureMap.find(F.getKey())->getValue()) &&
!IsHipStdPar)
CGM.getDiags().Report(Loc, diag::err_function_needs_feature)
<< FD->getDeclName() << TargetDecl->getDeclName() << F.getKey();
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index b1a6683a6..1f55324dc 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -3526,7 +3526,7 @@ ConstantAddress CodeGenModule::GetAddrOfTemplateParamObject(
GV->setComdat(TheModule.getOrInsertComdat(GV->getName()));
Emitter.finalize(GV);
- return ConstantAddress(GV, GV->getValueType(), Alignment);
+ return ConstantAddress(GV, GV->getValueType(), Alignment);
}
ConstantAddress CodeGenModule::GetWeakRefReference(const ValueDecl *VD) {
@@ -3586,8 +3586,7 @@ void CodeGenModule::EmitGlobal(GlobalDecl GD) {
!Global->hasAttr<CUDASharedAttr>() &&
!Global->getType()->isCUDADeviceBuiltinSurfaceType() &&
!Global->getType()->isCUDADeviceBuiltinTextureType() &&
- !(LangOpts.HIPStdPar &&
- isa<FunctionDecl>(Global) &&
+ !(LangOpts.HIPStdPar && isa<FunctionDecl>(Global) &&
!Global->hasAttr<CUDAHostAttr>()))
return;
} else {
diff --git a/clang/lib/Driver/ToolChains/PS4CPU.cpp b/clang/lib/Driver/ToolChains/PS4CPU.cpp
index 5fd82d1da..4efd14a16 100644
--- a/clang/lib/Driver/ToolChains/PS4CPU.cpp
+++ b/clang/lib/Driver/ToolChains/PS4CPU.cpp
@@ -208,9 +208,8 @@ void tools::PScpu::Linker::ConstructJob(Compilation &C, const JobAction &JA,
CmdArgs.push_back("--lto=full");
}
- Args.addAllArgs(CmdArgs,
- {options::OPT_L, options::OPT_T_Group, options::OPT_s,
- options::OPT_t, options::OPT_r});
+ Args.addAllArgs(CmdArgs, {options::OPT_L, options::OPT_T_Group,
+ options::OPT_s, options::OPT_t, options::OPT_r});
if (Args.hasArg(options::OPT_Z_Xlinker__no_demangle))
CmdArgs.push_back("--no-demangle");
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index 4e6d7bb16..5141740f5 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -648,7 +648,8 @@ static bool FixupInvocation(CompilerInvocation &Invocation,
emitError |= (DefaultCC == LangOptions::DCC_VectorCall ||
DefaultCC == LangOptions::DCC_RegCall) &&
!T.isX86();
- emitError |= DefaultCC == LangOptions::DCC_RtdCall && Arch != llvm::Triple::m68k;
+ emitError |=
+ DefaultCC == LangOptions::DCC_RtdCall && Arch != llvm::Triple::m68k;
if (emitError)
Diags.Report(diag::err_drv_argument_not_allowed_with)
<< A->getSpelling() << T.getTriple();
diff --git a/clang/lib/Frontend/PrintPreprocessedOutput.cpp b/clang/lib/Frontend/PrintPreprocessedOutput.cpp
index 7f5f66906..81ee1654a 100644
--- a/clang/lib/Frontend/PrintPreprocessedOutput.cpp
+++ b/clang/lib/Frontend/PrintPreprocessedOutput.cpp
@@ -52,7 +52,7 @@ static void PrintMacroDefinition(const IdentifierInfo &II, const MacroInfo &MI,
}
if (MI.isGNUVarargs())
- *OS << "..."; // #define foo(x...)
+ *OS << "..."; // #define foo(x...)
*OS << ')';
}
@@ -82,6 +82,7 @@ class PrintPPOutputPPCallbacks : public PPCallbacks {
TokenConcatenation ConcatInfo;
public:
raw_ostream *OS;
+
private:
unsigned CurLine;
@@ -409,11 +410,9 @@ void PrintPPOutputPPCallbacks::InclusionDirective(
MoveToLine(HashLoc, /*RequireStartOfLine=*/true);
const std::string TokenText = PP.getSpelling(IncludeTok);
assert(!TokenText.empty());
- *OS << "#" << TokenText << " "
- << (IsAngled ? '<' : '"') << FileName << (IsAngled ? '>' : '"')
- << " /* clang -E "
- << (DumpIncludeDirectives ? "-dI" : "-fkeep-system-includes")
- << " */";
+ *OS << "#" << TokenText << " " << (IsAngled ? '<' : '"') << FileName
+ << (IsAngled ? '>' : '"') << " /* clang -E "
+ << (DumpIncludeDirectives ? "-dI" : "-fkeep-system-includes") << " */";
setEmittedDirectiveOnThisLine();
}
@@ -424,12 +423,10 @@ void PrintPPOutputPPCallbacks::InclusionDirective(
case tok::pp_import:
case tok::pp_include_next:
MoveToLine(HashLoc, /*RequireStartOfLine=*/true);
- *OS << "#pragma clang module import "
- << Imported->getFullModuleName(true)
+ *OS << "#pragma clang module import " << Imported->getFullModuleName(true)
<< " /* clang -E: implicit import for "
- << "#" << PP.getSpelling(IncludeTok) << " "
- << (IsAngled ? '<' : '"') << FileName << (IsAngled ? '>' : '"')
- << " */";
+ << "#" << PP.getSpelling(IncludeTok) << " " << (IsAngled ? '<' : '"')
+ << FileName << (IsAngled ? '>' : '"') << " */";
setEmittedDirectiveOnThisLine();
break;
@@ -513,10 +510,8 @@ static void outputPrintable(raw_ostream *OS, StringRef Str) {
if (isPrintable(Char) && Char != '\\' && Char != '"')
*OS << (char)Char;
else // Output anything hard as an octal escape.
- *OS << '\\'
- << (char)('0' + ((Char >> 6) & 7))
- << (char)('0' + ((Char >> 3) & 7))
- << (char)('0' + ((Char >> 0) & 7));
+ *OS << '\\' << (char)('0' + ((Char >> 6) & 7))
+ << (char)('0' + ((Char >> 3) & 7)) << (char)('0' + ((Char >> 0) & 7));
}
}
@@ -605,15 +600,33 @@ void PrintPPOutputPPCallbacks::PragmaWarning(SourceLocation Loc,
*OS << "#pragma warning(";
switch(WarningSpec) {
- case PWS_Default: *OS << "default"; break;
- case PWS_Disable: *OS << "disable"; break;
- case PWS_Error: *OS << "error"; break;
- case PWS_Once: *OS << "once"; break;
- case PWS_Suppress: *OS << "suppress"; break;
- case PWS_Level1: *OS << '1'; break;
- case PWS_Level2: *OS << '2'; break;
- case PWS_Level3: *OS << '3'; break;
- case PWS_Level4: *OS << '4'; break;
+ case PWS_Default:
+ *OS << "default";
+ break;
+ case PWS_Disable:
+ *OS << "disable";
+ break;
+ case PWS_Error:
+ *OS << "error";
+ break;
+ case PWS_Once:
+ *OS << "once";
+ break;
+ case PWS_Suppress:
+ *OS << "suppress";
+ break;
+ case PWS_Level1:
+ *OS << '1';
+ break;
+ case PWS_Level2:
+ *OS << '2';
+ break;
+ case PWS_Level3:
+ *OS << '3';
+ break;
+ case PWS_Level4:
+ *OS << '4';
+ break;
}
*OS << ':';
@@ -805,7 +818,6 @@ struct UnknownPragmaHandler : public PragmaHandler {
};
} // end anonymous namespace
-
static void PrintPreprocessedTokens(Preprocessor &PP, Token &Tok,
PrintPPOutputPPCallbacks *Callbacks) {
bool DropComments = PP.getLangOpts().TraditionalCPP &&
diff --git a/clang/lib/Lex/PPDirectives.cpp b/clang/lib/Lex/PPDirectives.cpp
index 2892d4b77..066f6cc6b 100644
--- a/clang/lib/Lex/PPDirectives.cpp
+++ b/clang/lib/Lex/PPDirectives.cpp
@@ -227,50 +227,57 @@ static bool warnByDefaultOnWrongCase(StringRef Include) {
// The standard C/C++ and Posix headers
return llvm::StringSwitch<bool>(LowerInclude)
- // C library headers
- .Cases("assert.h", "complex.h", "ctype.h", "errno.h", "fenv.h", true)
- .Cases("float.h", "inttypes.h", "iso646.h", "limits.h", "locale.h", true)
- .Cases("math.h", "setjmp.h", "signal.h", "stdalign.h", "stdarg.h", true)
- .Cases("stdatomic.h", "stdbool.h", "stdckdint.h", "stddef.h", true)
- .Cases("stdint.h", "stdio.h", "stdlib.h", "stdnoreturn.h", true)
- .Cases("string.h", "tgmath.h", "threads.h", "time.h", "uchar.h", true)
- .Cases("wchar.h", "wctype.h", true)
-
- // C++ headers for C library facilities
- .Cases("cassert", "ccomplex", "cctype", "cerrno", "cfenv", true)
- .Cases("cfloat", "cinttypes", "ciso646", "climits", "clocale", true)
- .Cases("cmath", "csetjmp", "csignal", "cstdalign", "cstdarg", true)
- .Cases("cstdbool", "cstddef", "cstdint", "cstdio", "cstdlib", true)
- .Cases("cstring", "ctgmath", "ctime", "cuchar", "cwchar", true)
- .Case("cwctype", true)
-
- // C++ library headers
- .Cases("algorithm", "fstream", "list", "regex", "thread", true)
- .Cases("array", "functional", "locale", "scoped_allocator", "tuple", true)
- .Cases("atomic", "future", "map", "set", "type_traits", true)
- .Cases("bitset", "initializer_list", "memory", "shared_mutex", "typeindex", true)
- .Cases("chrono", "iomanip", "mutex", "sstream", "typeinfo", true)
- .Cases("codecvt", "ios", "new", "stack", "unordered_map", true)
- .Cases("complex", "iosfwd", "numeric", "stdexcept", "unordered_set", true)
- .Cases("condition_variable", "iostream", "ostream", "streambuf", "utility", true)
- .Cases("deque", "istream", "queue", "string", "valarray", true)
- .Cases("exception", "iterator", "random", "strstream", "vector", true)
- .Cases("forward_list", "limits", "ratio", "system_error", true)
-
- // POSIX headers (which aren't also C headers)
- .Cases("aio.h", "arpa/inet.h", "cpio.h", "dirent.h", "dlfcn.h", true)
- .Cases("fcntl.h", "fmtmsg.h", "fnmatch.h", "ftw.h", "glob.h", true)
- .Cases("grp.h", "iconv.h", "langinfo.h", "libgen.h", "monetary.h", true)
- .Cases("mqueue.h", "ndbm.h", "net/if.h", "netdb.h", "netinet/in.h", true)
- .Cases("netinet/tcp.h", "nl_types.h", "poll.h", "pthread.h", "pwd.h", true)
- .Cases("regex.h", "sched.h", "search.h", "semaphore.h", "spawn.h", true)
- .Cases("strings.h", "stropts.h", "sys/ipc.h", "sys/mman.h", "sys/msg.h", true)
- .Cases("sys/resource.h", "sys/select.h", "sys/sem.h", "sys/shm.h", "sys/socket.h", true)
- .Cases("sys/stat.h", "sys/statvfs.h", "sys/time.h", "sys/times.h", "sys/types.h", true)
- .Cases("sys/uio.h", "sys/un.h", "sys/utsname.h", "sys/wait.h", "syslog.h", true)
- .Cases("tar.h", "termios.h", "trace.h", "ulimit.h", true)
- .Cases("unistd.h", "utime.h", "utmpx.h", "wordexp.h", true)
- .Default(false);
+ // C library headers
+ .Cases("assert.h", "complex.h", "ctype.h", "errno.h", "fenv.h", true)
+ .Cases("float.h", "inttypes.h", "iso646.h", "limits.h", "locale.h", true)
+ .Cases("math.h", "setjmp.h", "signal.h", "stdalign.h", "stdarg.h", true)
+ .Cases("stdatomic.h", "stdbool.h", "stdckdint.h", "stddef.h", true)
+ .Cases("stdint.h", "stdio.h", "stdlib.h", "stdnoreturn.h", true)
+ .Cases("string.h", "tgmath.h", "threads.h", "time.h", "uchar.h", true)
+ .Cases("wchar.h", "wctype.h", true)
+
+ // C++ headers for C library facilities
+ .Cases("cassert", "ccomplex", "cctype", "cerrno", "cfenv", true)
+ .Cases("cfloat", "cinttypes", "ciso646", "climits", "clocale", true)
+ .Cases("cmath", "csetjmp", "csignal", "cstdalign", "cstdarg", true)
+ .Cases("cstdbool", "cstddef", "cstdint", "cstdio", "cstdlib", true)
+ .Cases("cstring", "ctgmath", "ctime", "cuchar", "cwchar", true)
+ .Case("cwctype", true)
+
+ // C++ library headers
+ .Cases("algorithm", "fstream", "list", "regex", "thread", true)
+ .Cases("array", "functional", "locale", "scoped_allocator", "tuple", true)
+ .Cases("atomic", "future", "map", "set", "type_traits", true)
+ .Cases("bitset", "initializer_list", "memory", "shared_mutex",
+ "typeindex", true)
+ .Cases("chrono", "iomanip", "mutex", "sstream", "typeinfo", true)
+ .Cases("codecvt", "ios", "new", "stack", "unordered_map", true)
+ .Cases("complex", "iosfwd", "numeric", "stdexcept", "unordered_set", true)
+ .Cases("condition_variable", "iostream", "ostream", "streambuf",
+ "utility", true)
+ .Cases("deque", "istream", "queue", "string", "valarray", true)
+ .Cases("exception", "iterator", "random", "strstream", "vector", true)
+ .Cases("forward_list", "limits", "ratio", "system_error", true)
+
+ // POSIX headers (which aren't also C headers)
+ .Cases("aio.h", "arpa/inet.h", "cpio.h", "dirent.h", "dlfcn.h", true)
+ .Cases("fcntl.h", "fmtmsg.h", "fnmatch.h", "ftw.h", "glob.h", true)
+ .Cases("grp.h", "iconv.h", "langinfo.h", "libgen.h", "monetary.h", true)
+ .Cases("mqueue.h", "ndbm.h", "net/if.h", "netdb.h", "netinet/in.h", true)
+ .Cases("netinet/tcp.h", "nl_types.h", "poll.h", "pthread.h", "pwd.h",
+ true)
+ .Cases("regex.h", "sched.h", "search.h", "semaphore.h", "spawn.h", true)
+ .Cases("strings.h", "stropts.h", "sys/ipc.h", "sys/mman.h", "sys/msg.h",
+ true)
+ .Cases("sys/resource.h", "sys/select.h", "sys/sem.h", "sys/shm.h",
+ "sys/socket.h", true)
+ .Cases("sys/stat.h", "sys/statvfs.h", "sys/time.h", "sys/times.h",
+ "sys/types.h", true)
+ .Cases("sys/uio.h", "sys/un.h", "sys/utsname.h", "sys/wait.h", "syslog.h",
+ true)
+ .Cases("tar.h", "termios.h", "trace.h", "ulimit.h", true)
+ .Cases("unistd.h", "utime.h", "utmpx.h", "wordexp.h", true)
+ .Default(false);
}
/// Find a similar string in `Candidates`.
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp
index cd7c26a84..c273f4cf2 100644
--- a/clang/lib/Sema/SemaChecking.cpp
+++ b/clang/lib/Sema/SemaChecking.cpp
@@ -371,28 +371,29 @@ static bool SemaBuiltinOverflow(Sema &S, CallExpr *TheCall,
return true;
std::pair<unsigned, const char *> Builtins[] = {
- { Builtin::BI__builtin_add_overflow, "ckd_add" },
- { Builtin::BI__builtin_sub_overflow, "ckd_sub" },
- { Builtin::BI__builtin_mul_overflow, "ckd_mul" },
+ {Builtin::BI__builtin_add_overflow, "ckd_add"},
+ {Builtin::BI__builtin_sub_overflow, "ckd_sub"},
+ {Builtin::BI__builtin_mul_overflow, "ckd_mul"},
};
- bool CkdOperation = llvm::any_of(Builtins, [&](const std::pair<unsigned,
- const char *> &P) {
- return BuiltinID == P.first && TheCall->getExprLoc().isMacroID() &&
- Lexer::getImmediateMacroName(TheCall->getExprLoc(),
- S.getSourceManager(), S.getLangOpts()) == P.second;
- });
+ bool CkdOperation =
+ llvm::any_of(Builtins, [&](const std::pair<unsigned, const char *> &P) {
+ return BuiltinID == P.first && TheCall->getExprLoc().isMacroID() &&
+ Lexer::getImmediateMacroName(TheCall->getExprLoc(),
+ S.getSourceManager(),
+ S.getLangOpts()) == P.second;
+ });
auto ValidCkdIntType = [](QualType QT) {
// A valid checked integer type is an integer type other than a plain char,
// bool, a bit-precise type, or an enumeration type.
if (const auto *BT = QT.getCanonicalType()->getAs<BuiltinType>())
return (BT->getKind() >= BuiltinType::Short &&
- BT->getKind() <= BuiltinType::Int128) || (
- BT->getKind() >= BuiltinType::UShort &&
- BT->getKind() <= BuiltinType::UInt128) ||
- BT->getKind() == BuiltinType::UChar ||
- BT->getKind() == BuiltinType::SChar;
+ BT->getKind() <= BuiltinType::Int128) ||
+ (BT->getKind() >= BuiltinType::UShort &&
+ BT->getKind() <= BuiltinType::UInt128) ||
+ BT->getKind() == BuiltinType::UChar ||
+ BT->getKind() == BuiltinType::SChar;
return false;
};
@@ -421,13 +422,12 @@ static bool SemaBuiltinOverflow(Sema &S, CallExpr *TheCall,
QualType Ty = Arg.get()->getType();
const auto *PtrTy = Ty->getAs<PointerType>();
- if (!PtrTy ||
- !PtrTy->getPointeeType()->isIntegerType() ||
+ if (!PtrTy || !PtrTy->getPointeeType()->isIntegerType() ||
(!ValidCkdIntType(PtrTy->getPointeeType()) && CkdOperation) ||
PtrTy->getPointeeType().isConstQualified()) {
S.Diag(Arg.get()->getBeginLoc(),
diag::err_overflow_builtin_must_be_ptr_int)
- << CkdOperation << Ty << Arg.get()->getSourceRange();
+ << CkdOperation << Ty << Arg.get()->getSourceRange();
return true;
}
}
diff --git a/clang/unittests/AST/Interp/Descriptor.cpp b/clang/unittests/AST/Interp/Descriptor.cpp
index fb1690a97..14e6bcbec 100644
--- a/clang/unittests/AST/Interp/Descriptor.cpp
+++ b/clang/unittests/AST/Interp/Descriptor.cpp
@@ -15,16 +15,16 @@ using namespace clang::ast_matchers;
/// Inspect generated Descriptors as well as the pointers we create.
///
TEST(Descriptor, Primitives) {
- constexpr char Code[] =
- "struct A { bool a; bool b; };\n"
- "struct S {\n"
- " float f;\n"
- " char s[4];\n"
- " A a[3];\n"
- " short l[3][3];\n"
- "};\n"
- "constexpr S d = {0.0, \"foo\", {{true, false}, {false, true}, {false, false}},\n"
- " {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}};\n";
+ constexpr char Code[] = "struct A { bool a; bool b; };\n"
+ "struct S {\n"
+ " float f;\n"
+ " char s[4];\n"
+ " A a[3];\n"
+ " short l[3][3];\n"
+ "};\n"
+ "constexpr S d = {0.0, \"foo\", {{true, false}, "
+ "{false, true}, {false, false}},\n"
+ " {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}};\n";
auto AST = tooling::buildASTFromCodeWithArgs(
Code, {"-fexperimental-new-constant-interpreter"});
diff --git a/compiler-rt/lib/builtins/aarch64/sme-abi-init.c b/compiler-rt/lib/builtins/aarch64/sme-abi-init.c
index b6ee12170..ac283f91a 100644
--- a/compiler-rt/lib/builtins/aarch64/sme-abi-init.c
+++ b/compiler-rt/lib/builtins/aarch64/sme-abi-init.c
@@ -20,20 +20,19 @@ _Bool __aarch64_has_sme_and_tpidr2_el0;
#define HWCAP2_SME (1 << 23)
#endif
-extern unsigned long int __getauxval (unsigned long int);
+extern unsigned long int __getauxval(unsigned long int);
-static _Bool has_sme(void) {
- return __getauxval(AT_HWCAP2) & HWCAP2_SME;
-}
+static _Bool has_sme(void) { return __getauxval(AT_HWCAP2) & HWCAP2_SME; }
-#else // defined(__linux__)
+#else // defined(__linux__)
#if defined(COMPILER_RT_SHARED_LIB)
__attribute__((weak))
#endif
-extern _Bool __aarch64_sme_accessible(void);
+extern _Bool
+__aarch64_sme_accessible(void);
-static _Bool has_sme(void) {
+static _Bool has_sme(void) {
#if defined(COMPILER_RT_SHARED_LIB)
if (!__aarch64_sme_accessible)
return 0;
@@ -46,7 +45,6 @@ static _Bool has_sme(void) {
#if __GNUC__ >= 9
#pragma GCC diagnostic ignored "-Wprio-ctor-dtor"
#endif
-__attribute__((constructor(90)))
-static void init_aarch64_has_sme(void) {
+__attribute__((constructor(90))) static void init_aarch64_has_sme(void) {
__aarch64_has_sme_and_tpidr2_el0 = has_sme();
}
diff --git a/compiler-rt/lib/builtins/fp_extend.h b/compiler-rt/lib/builtins/fp_extend.h
index d640bdcb0..2afadcdd8 100644
--- a/compiler-rt/lib/builtins/fp_extend.h
+++ b/compiler-rt/lib/builtins/fp_extend.h
@@ -144,13 +144,15 @@ static inline src_rep_t extract_sig_frac_from_src(src_rep_t x) {
#ifdef src_rep_t_clz
static inline int clz_in_sig_frac(src_rep_t sigFrac) {
- const int skip = (sizeof(dst_t) * CHAR_BIT - srcBits) + 1 + srcExpBits;
- return src_rep_t_clz(sigFrac) - skip;
+ const int skip = (sizeof(dst_t) * CHAR_BIT - srcBits) + 1 + srcExpBits;
+ return src_rep_t_clz(sigFrac) - skip;
}
#endif
-static inline dst_rep_t construct_dst_rep(dst_rep_t sign, dst_rep_t exp, dst_rep_t sigFrac) {
- return (sign << (dstBits - 1)) | (exp << (dstBits - 1 - dstExpBits)) | sigFrac;
+static inline dst_rep_t construct_dst_rep(dst_rep_t sign, dst_rep_t exp,
+ dst_rep_t sigFrac) {
+ return (sign << (dstBits - 1)) | (exp << (dstBits - 1 - dstExpBits)) |
+ sigFrac;
}
// Two helper routines for conversion to and from the representation of
diff --git a/compiler-rt/lib/builtins/fp_trunc.h b/compiler-rt/lib/builtins/fp_trunc.h
index f62f8bafc..f7978d677 100644
--- a/compiler-rt/lib/builtins/fp_trunc.h
+++ b/compiler-rt/lib/builtins/fp_trunc.h
@@ -133,8 +133,10 @@ static inline src_rep_t extract_sig_frac_from_src(src_rep_t x) {
return x & srcSigFracMask;
}
-static inline dst_rep_t construct_dst_rep(dst_rep_t sign, dst_rep_t exp, dst_rep_t sigFrac) {
- dst_rep_t result = (sign << (dstBits - 1)) | (exp << (dstBits - 1 - dstExpBits)) | sigFrac;
+static inline dst_rep_t construct_dst_rep(dst_rep_t sign, dst_rep_t exp,
+ dst_rep_t sigFrac) {
+ dst_rep_t result =
+ (sign << (dstBits - 1)) | (exp << (dstBits - 1 - dstExpBits)) | sigFrac;
// Set the explicit integer bit in F80 if present.
if (dstBits == 80 && exp) {
result |= (DST_REP_C(1) << dstSigFracBits);
diff --git a/compiler-rt/test/builtins/Unit/extendxftf2_test.c b/compiler-rt/test/builtins/Unit/extendxftf2_test.c
index f52118754..8537c4329 100644
--- a/compiler-rt/test/builtins/Unit/extendxftf2_test.c
+++ b/compiler-rt/test/builtins/Unit/extendxftf2_test.c
@@ -7,7 +7,7 @@
#if __LDBL_MANT_DIG__ == 64 && defined(__x86_64__) && \
(defined(__FLOAT128__) || defined(__SIZEOF_FLOAT128__))
-#include "fp_test.h"
+# include "fp_test.h"
COMPILER_RT_ABI __float128 __extendxftf2(long double a);
diff --git a/compiler-rt/test/builtins/Unit/fp_test.h b/compiler-rt/test/builtins/Unit/fp_test.h
index f095ae070..3f2f4e018 100644
--- a/compiler-rt/test/builtins/Unit/fp_test.h
+++ b/compiler-rt/test/builtins/Unit/fp_test.h
@@ -13,12 +13,12 @@
#if __LDBL_MANT_DIG__ == 113 || \
((__LDBL_MANT_DIG__ == 64) && defined(__x86_64__) && \
(defined(__FLOAT128__) || defined(__SIZEOF_FLOAT128__)))
-#if __LDBL_MANT_DIG__ == 113
-#define TYPE_FP128 long double
-#else
-#define TYPE_FP128 __float128
-#endif
-#define TEST_COMPILER_RT_HAS_FLOAT128
+# if __LDBL_MANT_DIG__ == 113
+# define TYPE_FP128 long double
+# else
+# define TYPE_FP128 __float128
+# endif
+# define TEST_COMPILER_RT_HAS_FLOAT128
#endif
enum EXPECTED_RESULT {
@@ -52,10 +52,10 @@ static inline double fromRep64(uint64_t x)
#ifdef TEST_COMPILER_RT_HAS_FLOAT128
static inline TYPE_FP128 fromRep128(uint64_t hi, uint64_t lo) {
- __uint128_t x = ((__uint128_t)hi << 64) + lo;
- TYPE_FP128 ret;
- memcpy(&ret, &x, 16);
- return ret;
+ __uint128_t x = ((__uint128_t)hi << 64) + lo;
+ TYPE_FP128 ret;
+ memcpy(&ret, &x, 16);
+ return ret;
}
#endif
@@ -86,9 +86,9 @@ static inline uint64_t toRep64(double x)
#ifdef TEST_COMPILER_RT_HAS_FLOAT128
static inline __uint128_t toRep128(TYPE_FP128 x) {
- __uint128_t ret;
- memcpy(&ret, &x, 16);
- return ret;
+ __uint128_t ret;
+ memcpy(&ret, &x, 16);
+ return ret;
}
#endif
@@ -152,21 +152,21 @@ static inline int compareResultD(double result,
// because 128-bit integer constant can't be assigned directly
static inline int compareResultF128(TYPE_FP128 result, uint64_t expectedHi,
uint64_t expectedLo) {
- __uint128_t rep = toRep128(result);
- uint64_t hi = rep >> 64;
- uint64_t lo = rep;
-
- if (hi == expectedHi && lo == expectedLo) {
- return 0;
+ __uint128_t rep = toRep128(result);
+ uint64_t hi = rep >> 64;
+ uint64_t lo = rep;
+
+ if (hi == expectedHi && lo == expectedLo) {
+ return 0;
+ }
+ // test other possible NaN representation(signal NaN)
+ else if (expectedHi == 0x7fff800000000000UL && expectedLo == 0x0UL) {
+ if ((hi & 0x7fff000000000000UL) == 0x7fff000000000000UL &&
+ ((hi & 0xffffffffffffUL) > 0 || lo > 0)) {
+ return 0;
}
- // test other possible NaN representation(signal NaN)
- else if (expectedHi == 0x7fff800000000000UL && expectedLo == 0x0UL) {
- if ((hi & 0x7fff000000000000UL) == 0x7fff000000000000UL &&
- ((hi & 0xffffffffffffUL) > 0 || lo > 0)) {
- return 0;
- }
- }
- return 1;
+ }
+ return 1;
}
#endif
@@ -242,44 +242,44 @@ static inline double makeQNaN64(void)
#if __LDBL_MANT_DIG__ == 64 && defined(__x86_64__)
static inline long double F80FromRep128(uint64_t hi, uint64_t lo) {
- __uint128_t x = ((__uint128_t)hi << 64) + lo;
- long double ret;
- memcpy(&ret, &x, 16);
- return ret;
+ __uint128_t x = ((__uint128_t)hi << 64) + lo;
+ long double ret;
+ memcpy(&ret, &x, 16);
+ return ret;
}
static inline __uint128_t F80ToRep128(long double x) {
- __uint128_t ret;
- memcpy(&ret, &x, 16);
- return ret;
+ __uint128_t ret;
+ memcpy(&ret, &x, 16);
+ return ret;
}
static inline int compareResultF80(long double result, uint64_t expectedHi,
uint64_t expectedLo) {
- __uint128_t rep = F80ToRep128(result);
- // F80 occupies the lower 80 bits of __uint128_t.
- uint64_t hi = (rep >> 64) & ((1UL << (80 - 64)) - 1);
- uint64_t lo = rep;
- return !(hi == expectedHi && lo == expectedLo);
+ __uint128_t rep = F80ToRep128(result);
+ // F80 occupies the lower 80 bits of __uint128_t.
+ uint64_t hi = (rep >> 64) & ((1UL << (80 - 64)) - 1);
+ uint64_t lo = rep;
+ return !(hi == expectedHi && lo == expectedLo);
}
static inline long double makeQNaN80(void) {
- return F80FromRep128(0x7fffUL, 0xc000000000000000UL);
+ return F80FromRep128(0x7fffUL, 0xc000000000000000UL);
}
static inline long double makeNaN80(uint64_t rand) {
- return F80FromRep128(0x7fffUL,
- 0x8000000000000000 | (rand & 0x3fffffffffffffff));
+ return F80FromRep128(0x7fffUL,
+ 0x8000000000000000 | (rand & 0x3fffffffffffffff));
}
static inline long double makeInf80(void) {
- return F80FromRep128(0x7fffUL, 0x8000000000000000UL);
+ return F80FromRep128(0x7fffUL, 0x8000000000000000UL);
}
#endif
#ifdef TEST_COMPILER_RT_HAS_FLOAT128
static inline TYPE_FP128 makeQNaN128(void) {
- return fromRep128(0x7fff800000000000UL, 0x0UL);
+ return fromRep128(0x7fff800000000000UL, 0x0UL);
}
#endif
@@ -300,7 +300,7 @@ static inline double makeNaN64(uint64_t rand)
#ifdef TEST_COMPILER_RT_HAS_FLOAT128
static inline TYPE_FP128 makeNaN128(uint64_t rand) {
- return fromRep128(0x7fff000000000000UL | (rand & 0xffffffffffffUL), 0x0UL);
+ return fromRep128(0x7fff000000000000UL | (rand & 0xffffffffffffUL), 0x0UL);
}
#endif
@@ -331,10 +331,10 @@ static inline double makeNegativeInf64(void)
#ifdef TEST_COMPILER_RT_HAS_FLOAT128
static inline TYPE_FP128 makeInf128(void) {
- return fromRep128(0x7fff000000000000UL, 0x0UL);
+ return fromRep128(0x7fff000000000000UL, 0x0UL);
}
static inline TYPE_FP128 makeNegativeInf128(void) {
- return fromRep128(0xffff000000000000UL, 0x0UL);
+ return fromRep128(0xffff000000000000UL, 0x0UL);
}
#endif
diff --git a/compiler-rt/test/builtins/Unit/trunctfxf2_test.c b/compiler-rt/test/builtins/Unit/trunctfxf2_test.c
index 53024ef13..b6b64351e 100644
--- a/compiler-rt/test/builtins/Unit/trunctfxf2_test.c
+++ b/compiler-rt/test/builtins/Unit/trunctfxf2_test.c
@@ -7,7 +7,7 @@
#if __LDBL_MANT_DIG__ == 64 && defined(__x86_64__) && \
(defined(__FLOAT128__) || defined(__SIZEOF_FLOAT128__))
-#include "fp_test.h"
+# include "fp_test.h"
COMPILER_RT_ABI long double __trunctfxf2(__float128 a);
diff --git a/libunwind/src/Registers.hpp b/libunwind/src/Registers.hpp
index d11ddb342..c513bac81 100644
--- a/libunwind/src/Registers.hpp
+++ b/libunwind/src/Registers.hpp
@@ -619,8 +619,8 @@ public:
void setIP(uint32_t value) { _registers.__srr0 = value; }
uint64_t getCR() const { return _registers.__cr; }
void setCR(uint32_t value) { _registers.__cr = value; }
- uint64_t getLR() const { return _registers.__lr; }
- void setLR(uint32_t value) { _registers.__lr = value; }
+ uint64_t getLR() const { return _registers.__lr; }
+ void setLR(uint32_t value) { _registers.__lr = value; }
private:
struct ppc_thread_state_t {
@@ -1191,8 +1191,8 @@ public:
void setIP(uint64_t value) { _registers.__srr0 = value; }
uint64_t getCR() const { return _registers.__cr; }
void setCR(uint64_t value) { _registers.__cr = value; }
- uint64_t getLR() const { return _registers.__lr; }
- void setLR(uint64_t value) { _registers.__lr = value; }
+ uint64_t getLR() const { return _registers.__lr; }
+ void setLR(uint64_t value) { _registers.__lr = value; }
private:
struct ppc64_thread_state_t {
diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp
index 5f88389a5..04db39d3a 100644
--- a/lld/ELF/Driver.cpp
+++ b/lld/ELF/Driver.cpp
@@ -3004,7 +3004,7 @@ void LinkerDriver::link(opt::InputArgList &args) {
invokeELFT(splitSections,);
// Garbage collection and removal of shared symbols from unused shared objects.
- invokeELFT(markLive,);
+ invokeELFT(markLive, );
// Make copies of any input sections that need to be copied into each
// partition.
diff --git a/llvm/include/llvm/ADT/IndexedMap.h b/llvm/include/llvm/ADT/IndexedMap.h
index b1ebbdd1b..3ff069b08 100644
--- a/llvm/include/llvm/ADT/IndexedMap.h
+++ b/llvm/include/llvm/ADT/IndexedMap.h
@@ -20,8 +20,8 @@
#ifndef LLVM_ADT_INDEXEDMAP_H
#define LLVM_ADT_INDEXEDMAP_H
-#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/identity.h"
#include <cassert>
diff --git a/llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h b/llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
index 86d3cb2be..2c934bc5d 100644
--- a/llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
+++ b/llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
@@ -450,7 +450,6 @@ LegalizerHelper::LegalizeResult
createMemLibcall(MachineIRBuilder &MIRBuilder, MachineRegisterInfo &MRI,
MachineInstr &MI, LostDebugLocObserver &LocObserver);
-
} // End namespace llvm.
#endif
diff --git a/llvm/include/llvm/CodeGen/LiveVariables.h b/llvm/include/llvm/CodeGen/LiveVariables.h
index 9ed4c7bdf..38c73390d 100644
--- a/llvm/include/llvm/CodeGen/LiveVariables.h
+++ b/llvm/include/llvm/CodeGen/LiveVariables.h
@@ -293,8 +293,7 @@ public:
MachineBasicBlock *DomBB,
MachineBasicBlock *SuccBB);
- void addNewBlock(MachineBasicBlock *BB,
- MachineBasicBlock *DomBB,
+ void addNewBlock(MachineBasicBlock *BB, MachineBasicBlock *DomBB,
MachineBasicBlock *SuccBB,
std::vector<SparseBitVector<>> &LiveInSets);
};
diff --git a/llvm/include/llvm/IR/Instruction.h b/llvm/include/llvm/IR/Instruction.h
index af7aa791c..1f877eecc 100644
--- a/llvm/include/llvm/IR/Instruction.h
+++ b/llvm/include/llvm/IR/Instruction.h
@@ -43,6 +43,7 @@ class Instruction : public User,
ilist_iterator_bits<true>> {
public:
using InstListType = SymbolTableList<Instruction, ilist_iterator_bits<true>>;
+
private:
BasicBlock *Parent;
DebugLoc DbgLoc; // 'dbg' Metadata cache.
diff --git a/llvm/include/llvm/IR/ValueSymbolTable.h b/llvm/include/llvm/IR/ValueSymbolTable.h
index 6350f6a24..83448bdbb 100644
--- a/llvm/include/llvm/IR/ValueSymbolTable.h
+++ b/llvm/include/llvm/IR/ValueSymbolTable.h
@@ -29,7 +29,7 @@ class GlobalVariable;
class Instruction;
template <bool ExtraIteratorBits> struct ilist_iterator_bits;
template <unsigned InternalLen> class SmallString;
-template <typename ValueSubClass, typename ... Args> class SymbolTableListTraits;
+template <typename ValueSubClass, typename... Args> class SymbolTableListTraits;
/// This class provides a symbol table of name/value pairs. It is essentially
/// a std::map<std::string,Value*> but has a controlled interface provided by
diff --git a/llvm/include/llvm/Object/XCOFFObjectFile.h b/llvm/include/llvm/Object/XCOFFObjectFile.h
index 63064abb4..6e7ddb324 100644
--- a/llvm/include/llvm/Object/XCOFFObjectFile.h
+++ b/llvm/include/llvm/Object/XCOFFObjectFile.h
@@ -833,9 +833,7 @@ public:
#undef GETVALUE
- uintptr_t getEntryAddress() const {
- return getRawDataRefImpl().p;
- }
+ uintptr_t getEntryAddress() const { return getRawDataRefImpl().p; }
Expected<StringRef> getName() const;
bool isFunction() const;
@@ -850,8 +848,7 @@ private:
class xcoff_symbol_iterator : public symbol_iterator {
public:
- xcoff_symbol_iterator(const basic_symbol_iterator &B)
- : symbol_iterator(B) {}
+ xcoff_symbol_iterator(const basic_symbol_iterator &B) : symbol_iterator(B) {}
const XCOFFSymbolRef *operator->() const {
return static_cast<const XCOFFSymbolRef *>(symbol_iterator::operator->());
diff --git a/llvm/include/llvm/ProfileData/FunctionId.h b/llvm/include/llvm/ProfileData/FunctionId.h
index 0076cdc09..a889796cf 100644
--- a/llvm/include/llvm/ProfileData/FunctionId.h
+++ b/llvm/include/llvm/ProfileData/FunctionId.h
@@ -60,12 +60,10 @@ public:
/// Constructor from a StringRef.
explicit FunctionId(StringRef Str)
- : Data(Str.data()), LengthOrHashCode(Str.size()) {
- }
+ : Data(Str.data()), LengthOrHashCode(Str.size()) {}
/// Constructor from a hash code.
- explicit FunctionId(uint64_t HashCode)
- : LengthOrHashCode(HashCode) {
+ explicit FunctionId(uint64_t HashCode) : LengthOrHashCode(HashCode) {
assert(HashCode != 0);
}
@@ -164,13 +162,9 @@ inline raw_ostream &operator<<(raw_ostream &OS, const FunctionId &Obj) {
return OS;
}
-inline uint64_t MD5Hash(const FunctionId &Obj) {
- return Obj.getHashCode();
-}
+inline uint64_t MD5Hash(const FunctionId &Obj) { return Obj.getHashCode(); }
-inline uint64_t hash_value(const FunctionId &Obj) {
- return Obj.getHashCode();
-}
+inline uint64_t hash_value(const FunctionId &Obj) { return Obj.getHashCode(); }
} // end namespace sampleprof
diff --git a/llvm/include/llvm/ProfileData/HashKeyMap.h b/llvm/include/llvm/ProfileData/HashKeyMap.h
index b2f1bf222..9800cc371 100644
--- a/llvm/include/llvm/ProfileData/HashKeyMap.h
+++ b/llvm/include/llvm/ProfileData/HashKeyMap.h
@@ -49,8 +49,8 @@ namespace sampleprof {
/// container.
template <template <typename, typename, typename...> typename MapT,
typename KeyT, typename ValueT, typename... MapTArgs>
-class HashKeyMap :
- public MapT<decltype(hash_value(KeyT())), ValueT, MapTArgs...> {
+class HashKeyMap
+ : public MapT<decltype(hash_value(KeyT())), ValueT, MapTArgs...> {
public:
using base_type = MapT<decltype(hash_value(KeyT())), ValueT, MapTArgs...>;
using key_type = decltype(hash_value(KeyT()));
@@ -117,13 +117,11 @@ public:
return 0;
}
- iterator erase(const_iterator It) {
- return base_type::erase(It);
- }
+ iterator erase(const_iterator It) { return base_type::erase(It); }
};
-}
+} // namespace sampleprof
-}
+} // namespace llvm
#endif // LLVM_PROFILEDATA_HASHKEYMAP_H
diff --git a/llvm/include/llvm/ProfileData/SampleProf.h b/llvm/include/llvm/ProfileData/SampleProf.h
index 57ea14453..bede36832 100644
--- a/llvm/include/llvm/ProfileData/SampleProf.h
+++ b/llvm/include/llvm/ProfileData/SampleProf.h
@@ -22,11 +22,11 @@
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/ProfileData/FunctionId.h"
+#include "llvm/ProfileData/HashKeyMap.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorOr.h"
#include "llvm/Support/MathExtras.h"
-#include "llvm/ProfileData/HashKeyMap.h"
#include <algorithm>
#include <cstdint>
#include <list>
@@ -298,7 +298,7 @@ struct LineLocation {
}
uint64_t getHashCode() const {
- return ((uint64_t) Discriminator << 32) | LineOffset;
+ return ((uint64_t)Discriminator << 32) | LineOffset;
}
uint32_t LineOffset;
@@ -467,7 +467,7 @@ struct SampleContextFrame {
LineLocation Location;
SampleContextFrame() : Location(0, 0) {}
-
+
SampleContextFrame(FunctionId Func, LineLocation Location)
: Func(Func), Location(Location) {}
@@ -526,9 +526,9 @@ public:
SampleContext(StringRef Name)
: Func(Name), State(UnknownContext), Attributes(ContextNone) {
- assert(!Name.empty() && "Name is empty");
- }
-
+ assert(!Name.empty() && "Name is empty");
+ }
+
SampleContext(FunctionId Func)
: Func(Func), State(UnknownContext), Attributes(ContextNone) {}
@@ -582,8 +582,7 @@ public:
// Decode context string for a frame to get function name and location.
// `ContextStr` is in the form of `FuncName:StartLine.Discriminator`.
- static void decodeContextString(StringRef ContextStr,
- FunctionId &Func,
+ static void decodeContextString(StringRef ContextStr, FunctionId &Func,
LineLocation &LineLoc) {
// Get function name
auto EntrySplit = ContextStr.split(':');
@@ -784,8 +783,7 @@ public:
sampleprof_error addCalledTargetSamples(uint32_t LineOffset,
uint32_t Discriminator,
- FunctionId Func,
- uint64_t Num,
+ FunctionId Func, uint64_t Num,
uint64_t Weight = 1) {
return BodySamples[LineLocation(LineOffset, Discriminator)].addCalledTarget(
Func, Num, Weight);
@@ -1034,10 +1032,10 @@ public:
/// corresponding function is no less than \p Threshold, add its corresponding
/// GUID to \p S. Also traverse the BodySamples to add hot CallTarget's GUID
/// to \p S.
- void findInlinedFunctions(DenseSet<GlobalValue::GUID> &S,
- const HashKeyMap<std::unordered_map, FunctionId,
- Function *> &SymbolMap,
- uint64_t Threshold) const {
+ void findInlinedFunctions(
+ DenseSet<GlobalValue::GUID> &S,
+ const HashKeyMap<std::unordered_map, FunctionId, Function *> &SymbolMap,
+ uint64_t Threshold) const {
if (TotalSamples <= Threshold)
return;
auto isDeclaration = [](const Function *F) {
@@ -1062,9 +1060,7 @@ public:
}
/// Set the name of the function.
- void setFunction(FunctionId newFunction) {
- Context.setFunction(newFunction);
- }
+ void setFunction(FunctionId newFunction) { Context.setFunction(newFunction); }
/// Return the function name.
FunctionId getFunction() const { return Context.getFunction(); }
@@ -1202,9 +1198,7 @@ public:
/// Return the GUID of the context's name. If the context is already using
/// MD5, don't hash it again.
- uint64_t getGUID() const {
- return getFunction().getHashCode();
- }
+ uint64_t getGUID() const { return getFunction().getHashCode(); }
// Find all the names in the current FunctionSamples including names in
// all the inline instances and names of call targets.
@@ -1472,10 +1466,10 @@ private:
Profile.addBodySamples(I.first.LineOffset, I.first.Discriminator,
CalleeProfile.getHeadSamplesEstimate());
// Add callsite sample.
- Profile.addCalledTargetSamples(
- I.first.LineOffset, I.first.Discriminator,
- CalleeProfile.getFunction(),
- CalleeProfile.getHeadSamplesEstimate());
+ Profile.addCalledTargetSamples(I.first.LineOffset,
+ I.first.Discriminator,
+ CalleeProfile.getFunction(),
+ CalleeProfile.getHeadSamplesEstimate());
// Update total samples.
TotalSamples = TotalSamples >= CalleeProfile.getTotalSamples()
? TotalSamples - CalleeProfile.getTotalSamples()
diff --git a/llvm/include/llvm/ProfileData/SampleProfReader.h b/llvm/include/llvm/ProfileData/SampleProfReader.h
index 9e8f54390..410ac3cdb 100644
--- a/llvm/include/llvm/ProfileData/SampleProfReader.h
+++ b/llvm/include/llvm/ProfileData/SampleProfReader.h
@@ -591,9 +591,7 @@ public:
/// It includes all the names that have samples either in outline instance
/// or inline instance.
- std::vector<FunctionId> *getNameTable() override {
- return &NameTable;
- }
+ std::vector<FunctionId> *getNameTable() override { return &NameTable; }
protected:
/// Read a numeric value of type T from the profile.
diff --git a/llvm/include/llvm/ProfileData/SampleProfWriter.h b/llvm/include/llvm/ProfileData/SampleProfWriter.h
index 963a4d491..54cf5eaaa 100644
--- a/llvm/include/llvm/ProfileData/SampleProfWriter.h
+++ b/llvm/include/llvm/ProfileData/SampleProfWriter.h
@@ -206,9 +206,9 @@ protected:
std::error_code writeBody(const FunctionSamples &S);
inline void stablizeNameTable(MapVector<FunctionId, uint32_t> &NameTable,
std::set<FunctionId> &V);
-
+
MapVector<FunctionId, uint32_t> NameTable;
-
+
void addName(FunctionId FName);
virtual void addContext(const SampleContext &Context);
void addNames(const FunctionSamples &S);
diff --git a/llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h b/llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
index 6e08fc6a0..82419fb80 100644
--- a/llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
+++ b/llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
@@ -33,7 +33,7 @@ namespace X86Disassembler {
#define THREEDNOW_MAP_SYM x86Disassembler3DNowOpcodes
#define MAP5_SYM x86DisassemblerMap5Opcodes
#define MAP6_SYM x86DisassemblerMap6Opcodes
-#define MAP7_SYM x86DisassemblerMap7Opcodes
+#define MAP7_SYM x86DisassemblerMap7Opcodes
#define INSTRUCTIONS_STR "x86DisassemblerInstrSpecifiers"
#define CONTEXTS_STR "x86DisassemblerContexts"
@@ -47,7 +47,7 @@ namespace X86Disassembler {
#define THREEDNOW_MAP_STR "x86Disassembler3DNowOpcodes"
#define MAP5_STR "x86DisassemblerMap5Opcodes"
#define MAP6_STR "x86DisassemblerMap6Opcodes"
-#define MAP7_STR "x86DisassemblerMap7Opcodes"
+#define MAP7_STR "x86DisassemblerMap7Opcodes"
// Attributes of an instruction that must be known before the opcode can be
// processed correctly. Most of these indicate the presence of particular
@@ -289,17 +289,17 @@ enum InstructionContext {
// Opcode types, which determine which decode table to use, both in the Intel
// manual and also for the decoder.
enum OpcodeType {
- ONEBYTE = 0,
- TWOBYTE = 1,
- THREEBYTE_38 = 2,
- THREEBYTE_3A = 3,
- XOP8_MAP = 4,
- XOP9_MAP = 5,
- XOPA_MAP = 6,
+ ONEBYTE = 0,
+ TWOBYTE = 1,
+ THREEBYTE_38 = 2,
+ THREEBYTE_3A = 3,
+ XOP8_MAP = 4,
+ XOP9_MAP = 5,
+ XOPA_MAP = 6,
THREEDNOW_MAP = 7,
- MAP5 = 8,
- MAP6 = 9,
- MAP7 = 10
+ MAP5 = 8,
+ MAP6 = 9,
+ MAP7 = 10
};
// The following structs are used for the hierarchical decode table. After
diff --git a/llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h b/llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h
index 9df093d8d..c6b945405 100644
--- a/llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h
+++ b/llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h
@@ -26,7 +26,7 @@ class Module;
class ModuleAnaysisManager;
class HipStdParAcceleratorCodeSelectionPass
- : public PassInfoMixin<HipStdParAcceleratorCodeSelectionPass> {
+ : public PassInfoMixin<HipStdParAcceleratorCodeSelectionPass> {
public:
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM);
@@ -34,7 +34,7 @@ public:
};
class HipStdParAllocationInterpositionPass
- : public PassInfoMixin<HipStdParAllocationInterpositionPass> {
+ : public PassInfoMixin<HipStdParAllocationInterpositionPass> {
public:
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM);
diff --git a/llvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h b/llvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h
index 9436e7b41..d4b26899d 100644
--- a/llvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h
+++ b/llvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h
@@ -52,10 +52,9 @@ struct ProfiledCallGraphNode {
using edges = std::set<edge, ProfiledCallGraphEdgeComparer>;
using iterator = edges::iterator;
using const_iterator = edges::const_iterator;
-
- ProfiledCallGraphNode(FunctionId FName = FunctionId()) : Name(FName)
- {}
-
+
+ ProfiledCallGraphNode(FunctionId FName = FunctionId()) : Name(FName) {}
+
FunctionId Name;
edges Edges;
};
@@ -136,7 +135,7 @@ public:
iterator begin() { return Root.Edges.begin(); }
iterator end() { return Root.Edges.end(); }
ProfiledCallGraphNode *getEntryNode() { return &Root; }
-
+
void addProfiledFunction(FunctionId Name) {
if (!ProfiledFunctions.count(Name)) {
// Link to synthetic root to make sure every node is reachable
diff --git a/llvm/include/llvm/Transforms/IPO/SampleContextTracker.h b/llvm/include/llvm/Transforms/IPO/SampleContextTracker.h
index f4c999ab9..bf6221486 100644
--- a/llvm/include/llvm/Transforms/IPO/SampleContextTracker.h
+++ b/llvm/include/llvm/Transforms/IPO/SampleContextTracker.h
@@ -118,8 +118,7 @@ public:
FunctionSamples *getBaseSamplesFor(const Function &Func,
bool MergeContext = true);
// Query base profile for a given function by name.
- FunctionSamples *getBaseSamplesFor(FunctionId Name,
- bool MergeContext = true);
+ FunctionSamples *getBaseSamplesFor(FunctionId Name, bool MergeContext = true);
// Retrieve the context trie node for given profile context
ContextTrieNode *getContextFor(const SampleContext &Context);
// Get real function name for a given trie node.
@@ -141,8 +140,8 @@ public:
return nullptr;
return I->second;
}
- HashKeyMap<std::unordered_map, FunctionId, ContextSamplesTy>
- &getFuncToCtxtProfiles() {
+ HashKeyMap<std::unordered_map, FunctionId, ContextSamplesTy> &
+ getFuncToCtxtProfiles() {
return FuncToCtxtProfiles;
}
diff --git a/llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp b/llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
index e27db6671..6d6ec6c7b 100644
--- a/llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
+++ b/llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
@@ -39,7 +39,7 @@ cl::opt<unsigned> MediumBasicBlockInstructionThreshold(
"medium-basic-block-instruction-threshold", cl::Hidden, cl::init(15),
cl::desc("The minimum number of instructions a basic block should contain "
"before being considered medium-sized."));
-}
+} // namespace llvm
static cl::opt<unsigned> CallWithManyArgumentsThreshold(
"call-with-many-arguments-threshold", cl::Hidden, cl::init(4),
diff --git a/llvm/lib/AsmParser/LLParser.cpp b/llvm/lib/AsmParser/LLParser.cpp
index e104f8b3d..0e2c8bf6d 100644
--- a/llvm/lib/AsmParser/LLParser.cpp
+++ b/llvm/lib/AsmParser/LLParser.cpp
@@ -2068,7 +2068,9 @@ bool LLParser::parseOptionalCallingConv(unsigned &CC) {
break;
case lltok::kw_amdgpu_kernel: CC = CallingConv::AMDGPU_KERNEL; break;
case lltok::kw_tailcc: CC = CallingConv::Tail; break;
- case lltok::kw_m68k_rtdcc: CC = CallingConv::M68k_RTD; break;
+ case lltok::kw_m68k_rtdcc:
+ CC = CallingConv::M68k_RTD;
+ break;
case lltok::kw_cc: {
Lex.Lex();
return parseUInt32(CC);
diff --git a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
index d8f9e30b2..380d64778 100644
--- a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
@@ -2421,7 +2421,7 @@ bool IRTranslator::translateKnownIntrinsic(const CallInst &CI, Intrinsic::ID ID,
case Intrinsic::set_fpmode: {
Value *FPState = CI.getOperand(0);
MIRBuilder.buildInstr(TargetOpcode::G_SET_FPMODE, {},
- { getOrCreateVReg(*FPState) });
+ {getOrCreateVReg(*FPState)});
return true;
}
case Intrinsic::reset_fpmode: {
diff --git a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
index 108768494..1a93c96e5 100644
--- a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
@@ -796,8 +796,8 @@ conversionLibcall(MachineInstr &MI, MachineIRBuilder &MIRBuilder, Type *ToType,
{{MI.getOperand(1).getReg(), FromType, 0}});
}
-static RTLIB::Libcall
-getStateLibraryFunctionFor(MachineInstr &MI, const TargetLowering &TLI) {
+static RTLIB::Libcall getStateLibraryFunctionFor(MachineInstr &MI,
+ const TargetLowering &TLI) {
RTLIB::Libcall RTLibcall;
switch (MI.getOpcode()) {
case TargetOpcode::G_GET_FPMODE:
@@ -919,7 +919,7 @@ LegalizerHelper::createResetStateLibcall(MachineIRBuilder &MIRBuilder,
RTLIB::Libcall RTLibcall = getStateLibraryFunctionFor(MI, TLI);
return createLibcall(MIRBuilder, RTLibcall,
CallLowering::ArgInfo({0}, Type::getVoidTy(Ctx), 0),
- CallLowering::ArgInfo({ Dest.getReg(), StatePtrTy, 0}));
+ CallLowering::ArgInfo({Dest.getReg(), StatePtrTy, 0}));
}
LegalizerHelper::LegalizeResult
@@ -3778,7 +3778,7 @@ LegalizerHelper::lower(MachineInstr &MI, unsigned TypeIdx, LLT LowerHintTy) {
return lowerEXT(MI);
case G_TRUNC:
return lowerTRUNC(MI);
- GISEL_VECREDUCE_CASES_NONSEQ
+ GISEL_VECREDUCE_CASES_NONSEQ
return lowerVectorReduction(MI);
}
}
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 2dfdddad3..809e85679 100644
--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -2001,7 +2001,8 @@ SDValue DAGCombiner::visit(SDNode *N) {
case ISD::FSUB: return visitFSUB(N);
case ISD::FMUL: return visitFMUL(N);
case ISD::FMA: return visitFMA<EmptyMatchContext>(N);
- case ISD::FMAD: return visitFMAD(N);
+ case ISD::FMAD:
+ return visitFMAD(N);
case ISD::FDIV: return visitFDIV(N);
case ISD::FREM: return visitFREM(N);
case ISD::FSQRT: return visitFSQRT(N);
diff --git a/llvm/lib/IR/AsmWriter.cpp b/llvm/lib/IR/AsmWriter.cpp
index bd8b3e9ad..8d53ebd90 100644
--- a/llvm/lib/IR/AsmWriter.cpp
+++ b/llvm/lib/IR/AsmWriter.cpp
@@ -350,7 +350,9 @@ static void PrintCallingConv(unsigned cc, raw_ostream &Out) {
break;
case CallingConv::AMDGPU_KERNEL: Out << "amdgpu_kernel"; break;
case CallingConv::AMDGPU_Gfx: Out << "amdgpu_gfx"; break;
- case CallingConv::M68k_RTD: Out << "m68k_rtdcc"; break;
+ case CallingConv::M68k_RTD:
+ Out << "m68k_rtdcc";
+ break;
}
}
diff --git a/llvm/lib/Passes/PassBuilder.cpp b/llvm/lib/Passes/PassBuilder.cpp
index fde759026..13d7210c6 100644
--- a/llvm/lib/Passes/PassBuilder.cpp
+++ b/llvm/lib/Passes/PassBuilder.cpp
@@ -234,8 +234,8 @@
#include "llvm/Transforms/Utils/CanonicalizeAliases.h"
#include "llvm/Transforms/Utils/CanonicalizeFreezeInLoops.h"
#include "llvm/Transforms/Utils/CountVisits.h"
-#include "llvm/Transforms/Utils/Debugify.h"
#include "llvm/Transforms/Utils/DXILUpgrade.h"
+#include "llvm/Transforms/Utils/Debugify.h"
#include "llvm/Transforms/Utils/EntryExitInstrumenter.h"
#include "llvm/Transforms/Utils/FixIrreducible.h"
#include "llvm/Transforms/Utils/HelloWorld.h"
diff --git a/llvm/lib/ProfileData/SampleProfReader.cpp b/llvm/lib/ProfileData/SampleProfReader.cpp
index a69e9d584..04017e408 100644
--- a/llvm/lib/ProfileData/SampleProfReader.cpp
+++ b/llvm/lib/ProfileData/SampleProfReader.cpp
@@ -405,10 +405,10 @@ std::error_code SampleProfileReaderText::readImpl() {
}
FunctionSamples &FProfile = *InlineStack.back();
for (const auto &name_count : TargetCountMap) {
- MergeResult(Result, FProfile.addCalledTargetSamples(
- LineOffset, Discriminator,
- FunctionId(name_count.first),
- name_count.second));
+ MergeResult(Result,
+ FProfile.addCalledTargetSamples(
+ LineOffset, Discriminator,
+ FunctionId(name_count.first), name_count.second));
}
MergeResult(Result, FProfile.addBodySamples(LineOffset, Discriminator,
NumSamples));
@@ -1231,8 +1231,7 @@ SampleProfileReaderExtBinaryBase::readFuncMetadata(bool ProfileHasAttribute,
if (FProfile) {
CalleeProfile = const_cast<FunctionSamples *>(
&FProfile->functionSamplesAt(LineLocation(
- *LineOffset,
- *Discriminator))[FContext.getFunction()]);
+ *LineOffset, *Discriminator))[FContext.getFunction()]);
}
if (std::error_code EC =
readFuncMetadata(ProfileHasAttribute, CalleeProfile))
@@ -1712,8 +1711,7 @@ std::error_code SampleProfileReaderGCC::readOneFunctionProfile(
if (Update)
FProfile->addCalledTargetSamples(LineOffset, Discriminator,
- FunctionId(TargetName),
- TargetCount);
+ FunctionId(TargetName), TargetCount);
}
}
diff --git a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
index a16a102e4..5d3e17a07 100644
--- a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+++ b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
@@ -7417,10 +7417,10 @@ AArch64TargetLowering::LowerCall(CallLoweringInfo &CLI,
TPIDR2ObjAddr);
OptimizationRemarkEmitter ORE(&MF.getFunction());
ORE.emit([&]() {
- auto R = CLI.CB ? OptimizationRemarkAnalysis("sme", "SMELazySaveZA",
- CLI.CB)
- : OptimizationRemarkAnalysis("sme", "SMELazySaveZA",
- &MF.getFunction());
+ auto R = CLI.CB
+ ? OptimizationRemarkAnalysis("sme", "SMELazySaveZA", CLI.CB)
+ : OptimizationRemarkAnalysis("sme", "SMELazySaveZA",
+ &MF.getFunction());
DescribeCallsite(R) << " sets up a lazy save for ZA";
if (CalleeAttrs.preservesZA())
R << ", but callee preserves ZA, so we request 0 slices to be saved";
@@ -7439,10 +7439,10 @@ AArch64TargetLowering::LowerCall(CallLoweringInfo &CLI,
PStateSM = getPStateSM(DAG, Chain, CallerAttrs, DL, MVT::i64);
OptimizationRemarkEmitter ORE(&MF.getFunction());
ORE.emit([&]() {
- auto R = CLI.CB ? OptimizationRemarkAnalysis("sme", "SMETransition",
- CLI.CB)
- : OptimizationRemarkAnalysis("sme", "SMETransition",
- &MF.getFunction());
+ auto R = CLI.CB
+ ? OptimizationRemarkAnalysis("sme", "SMETransition", CLI.CB)
+ : OptimizationRemarkAnalysis("sme", "SMETransition",
+ &MF.getFunction());
DescribeCallsite(R) << " requires a streaming mode transition";
return R;
});
diff --git a/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp b/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
index 7f1421549..8b9b5324c 100644
--- a/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+++ b/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
@@ -10,8 +10,8 @@
//
//===----------------------------------------------------------------------===//
-#include "AArch64ExpandImm.h"
#include "AArch64InstrInfo.h"
+#include "AArch64ExpandImm.h"
#include "AArch64FrameLowering.h"
#include "AArch64MachineFunctionInfo.h"
#include "AArch64PointerAuth.h"
diff --git a/llvm/lib/Target/AArch64/AArch64PointerAuth.h b/llvm/lib/Target/AArch64/AArch64PointerAuth.h
index e1ceaed58..983f3ef93 100644
--- a/llvm/lib/Target/AArch64/AArch64PointerAuth.h
+++ b/llvm/lib/Target/AArch64/AArch64PointerAuth.h
@@ -74,8 +74,8 @@ enum class AuthCheckMethod {
};
#define AUTH_CHECK_METHOD_CL_VALUES_COMMON \
- clEnumValN(AArch64PAuth::AuthCheckMethod::None, "none", \
- "Do not check authenticated address"), \
+ clEnumValN(AArch64PAuth::AuthCheckMethod::None, "none", \
+ "Do not check authenticated address"), \
clEnumValN(AArch64PAuth::AuthCheckMethod::DummyLoad, "load", \
"Perform dummy load from authenticated address"), \
clEnumValN(AArch64PAuth::AuthCheckMethod::HighBitsNoTBI, \
@@ -83,7 +83,7 @@ enum class AuthCheckMethod {
"Compare bits 62 and 61 of address (TBI should be disabled)")
#define AUTH_CHECK_METHOD_CL_VALUES_LR \
- AUTH_CHECK_METHOD_CL_VALUES_COMMON, \
+ AUTH_CHECK_METHOD_CL_VALUES_COMMON, \
clEnumValN(AArch64PAuth::AuthCheckMethod::XPACHint, "xpac-hint", \
"Compare with the result of XPACLRI")
diff --git a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
index 3d70ed150..456a2a9ff 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
@@ -5917,8 +5917,8 @@ bool AMDGPULegalizerInfo::legalizeBufferAtomic(MachineInstr &MI,
std::tie(VOffset, ImmOffset) = splitBufferOffsets(B, VOffset);
auto MIB = B.buildInstr(getBufferAtomicPseudo(IID))
- .addDef(Dst)
- .addUse(VData); // vdata
+ .addDef(Dst)
+ .addUse(VData); // vdata
if (IsCmpSwap)
MIB.addReg(CmpVal);
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
index dc7321cd5..7356a5c10 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
@@ -349,10 +349,10 @@ static cl::opt<bool> EnableRewritePartialRegUses(
cl::desc("Enable rewrite partial reg uses pass"), cl::init(false),
cl::Hidden);
-static cl::opt<bool> EnableHipStdPar(
- "amdgpu-enable-hipstdpar",
- cl::desc("Enable HIP Standard Parallelism Offload support"), cl::init(false),
- cl::Hidden);
+static cl::opt<bool>
+ EnableHipStdPar("amdgpu-enable-hipstdpar",
+ cl::desc("Enable HIP Standard Parallelism Offload support"),
+ cl::init(false), cl::Hidden);
extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAMDGPUTarget() {
// Register the target
diff --git a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
index d6733bfa0..7a935c983 100644
--- a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+++ b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
@@ -3250,10 +3250,10 @@ bool SIInstrInfo::FoldImmediate(MachineInstr &UseMI, MachineInstr &DefMI,
bool Is16Bit = OpSize == 2;
bool Is64Bit = OpSize == 8;
bool isVGPRCopy = RI.isVGPR(*MRI, DstReg);
- unsigned NewOpc = isVGPRCopy ? Is64Bit ? AMDGPU::V_MOV_B64_PSEUDO
- : AMDGPU::V_MOV_B32_e32
- : Is64Bit ? AMDGPU::S_MOV_B64_IMM_PSEUDO
- : AMDGPU::S_MOV_B32;
+ unsigned NewOpc =
+ isVGPRCopy ? Is64Bit ? AMDGPU::V_MOV_B64_PSEUDO : AMDGPU::V_MOV_B32_e32
+ : Is64Bit ? AMDGPU::S_MOV_B64_IMM_PSEUDO
+ : AMDGPU::S_MOV_B32;
APInt Imm(Is64Bit ? 64 : 32, getImmFor(UseMI.getOperand(1)));
if (RI.isAGPR(*MRI, DstReg)) {
diff --git a/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp b/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
index 604f22d71..d5bdb42fc 100644
--- a/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
+++ b/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
@@ -135,9 +135,9 @@ public:
ARMDisassembler(const MCSubtargetInfo &STI, MCContext &Ctx,
const MCInstrInfo *MCII)
: MCDisassembler(STI, Ctx), MCII(MCII) {
- InstructionEndianness = STI.hasFeature(ARM::ModeBigEndianInstructions)
- ? llvm::endianness::big
- : llvm::endianness::little;
+ InstructionEndianness = STI.hasFeature(ARM::ModeBigEndianInstructions)
+ ? llvm::endianness::big
+ : llvm::endianness::little;
}
~ARMDisassembler() override = default;
diff --git a/llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp b/llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
index a33ad8a19..85b899503 100644
--- a/llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
+++ b/llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
@@ -664,7 +664,9 @@ bool RISCVOptWInstrs::stripWSuffixes(MachineFunction &MF,
default:
continue;
case RISCV::ADDW: Opc = RISCV::ADD; break;
- case RISCV::ADDIW: Opc = RISCV::ADDI; break;
+ case RISCV::ADDIW:
+ Opc = RISCV::ADDI;
+ break;
case RISCV::MULW: Opc = RISCV::MUL; break;
case RISCV::SLLIW: Opc = RISCV::SLLI; break;
}
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h b/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
index 1e5a3606f..07eaad70c 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
@@ -584,32 +584,32 @@ namespace X86II {
// PseudoFrm - This represents an instruction that is a pseudo instruction
// or one that has not been implemented yet. It is illegal to code generate
// it, but tolerated for intermediate implementation stages.
- Pseudo = 0,
+ Pseudo = 0,
/// Raw - This form is for instructions that don't have any operands, so
/// they are just a fixed opcode value, like 'leave'.
- RawFrm = 1,
+ RawFrm = 1,
/// AddRegFrm - This form is used for instructions like 'push r32' that have
/// their one register operand added to their opcode.
- AddRegFrm = 2,
+ AddRegFrm = 2,
/// RawFrmMemOffs - This form is for instructions that store an absolute
/// memory offset as an immediate with a possible segment override.
- RawFrmMemOffs = 3,
+ RawFrmMemOffs = 3,
/// RawFrmSrc - This form is for instructions that use the source index
/// register SI/ESI/RSI with a possible segment override.
- RawFrmSrc = 4,
+ RawFrmSrc = 4,
/// RawFrmDst - This form is for instructions that use the destination index
/// register DI/EDI/RDI.
- RawFrmDst = 5,
+ RawFrmDst = 5,
/// RawFrmDstSrc - This form is for instructions that use the source index
/// register SI/ESI/RSI with a possible segment override, and also the
/// destination index register DI/EDI/RDI.
- RawFrmDstSrc = 6,
+ RawFrmDstSrc = 6,
/// RawFrmImm8 - This is used for the ENTER instruction, which has two
/// immediates, the first of which is a 16-bit immediate (specified by
@@ -630,7 +630,8 @@ namespace X86II {
/// byte like data16 or rep.
PrefixByte = 10,
- /// MRMDestMem4VOp3CC - This form is used for instructions that use the Mod/RM
+ /// MRMDestMem4VOp3CC - This form is used for instructions that use the
+ /// Mod/RM
/// byte to specify a destination which in this case is memory and operand 3
/// with VEX.VVVV, and also encodes a condition code.
MRMDestMem4VOp3CC = 20,
@@ -644,7 +645,7 @@ namespace X86II {
MRMr0 = 21,
/// MRMSrcMem - But force to use the SIB field.
- MRMSrcMemFSIB = 22,
+ MRMSrcMemFSIB = 22,
/// MRMDestMem - But force to use the SIB field.
MRMDestMemFSIB = 23,
@@ -652,12 +653,12 @@ namespace X86II {
/// MRMDestMem - This form is used for instructions that use the Mod/RM byte
/// to specify a destination, which in this case is memory.
///
- MRMDestMem = 24,
+ MRMDestMem = 24,
/// MRMSrcMem - This form is used for instructions that use the Mod/RM byte
/// to specify a source, which in this case is memory.
///
- MRMSrcMem = 25,
+ MRMSrcMem = 25,
/// MRMSrcMem4VOp3 - This form is used for instructions that encode
/// operand 3 with VEX.VVVV and load from memory.
@@ -667,12 +668,12 @@ namespace X86II {
/// MRMSrcMemOp4 - This form is used for instructions that use the Mod/RM
/// byte to specify the fourth source, which in this case is memory.
///
- MRMSrcMemOp4 = 27,
+ MRMSrcMemOp4 = 27,
/// MRMSrcMemCC - This form is used for instructions that use the Mod/RM
/// byte to specify the operands and also encodes a condition code.
///
- MRMSrcMemCC = 28,
+ MRMSrcMemCC = 28,
/// MRMXm - This form is used for instructions that use the Mod/RM byte
/// to specify a memory source, but doesn't use the middle field. And has
@@ -686,18 +687,24 @@ namespace X86II {
MRMXm = 31,
// Next, instructions that operate on a memory r/m operand...
- MRM0m = 32, MRM1m = 33, MRM2m = 34, MRM3m = 35, // Format /0 /1 /2 /3
- MRM4m = 36, MRM5m = 37, MRM6m = 38, MRM7m = 39, // Format /4 /5 /6 /7
+ MRM0m = 32,
+ MRM1m = 33,
+ MRM2m = 34,
+ MRM3m = 35, // Format /0 /1 /2 /3
+ MRM4m = 36,
+ MRM5m = 37,
+ MRM6m = 38,
+ MRM7m = 39, // Format /4 /5 /6 /7
/// MRMDestReg - This form is used for instructions that use the Mod/RM byte
/// to specify a destination, which in this case is a register.
///
- MRMDestReg = 40,
+ MRMDestReg = 40,
/// MRMSrcReg - This form is used for instructions that use the Mod/RM byte
/// to specify a source, which in this case is a register.
///
- MRMSrcReg = 41,
+ MRMSrcReg = 41,
/// MRMSrcReg4VOp3 - This form is used for instructions that encode
/// operand 3 with VEX.VVVV and do not load from memory.
@@ -707,12 +714,12 @@ namespace X86II {
/// MRMSrcRegOp4 - This form is used for instructions that use the Mod/RM
/// byte to specify the fourth source, which in this case is a register.
///
- MRMSrcRegOp4 = 43,
+ MRMSrcRegOp4 = 43,
/// MRMSrcRegCC - This form is used for instructions that use the Mod/RM
/// byte to specify the operands and also encodes a condition code
///
- MRMSrcRegCC = 44,
+ MRMSrcRegCC = 44,
/// MRMXCCr - This form is used for instructions that use the Mod/RM byte
/// to specify a register source, but doesn't use the middle field. And has
@@ -726,32 +733,92 @@ namespace X86II {
MRMXr = 47,
// Instructions that operate on a register r/m operand...
- MRM0r = 48, MRM1r = 49, MRM2r = 50, MRM3r = 51, // Format /0 /1 /2 /3
- MRM4r = 52, MRM5r = 53, MRM6r = 54, MRM7r = 55, // Format /4 /5 /6 /7
+ MRM0r = 48,
+ MRM1r = 49,
+ MRM2r = 50,
+ MRM3r = 51, // Format /0 /1 /2 /3
+ MRM4r = 52,
+ MRM5r = 53,
+ MRM6r = 54,
+ MRM7r = 55, // Format /4 /5 /6 /7
// Instructions that operate that have mod=11 and an opcode but ignore r/m.
- MRM0X = 56, MRM1X = 57, MRM2X = 58, MRM3X = 59, // Format /0 /1 /2 /3
- MRM4X = 60, MRM5X = 61, MRM6X = 62, MRM7X = 63, // Format /4 /5 /6 /7
+ MRM0X = 56,
+ MRM1X = 57,
+ MRM2X = 58,
+ MRM3X = 59, // Format /0 /1 /2 /3
+ MRM4X = 60,
+ MRM5X = 61,
+ MRM6X = 62,
+ MRM7X = 63, // Format /4 /5 /6 /7
/// MRM_XX - A mod/rm byte of exactly 0xXX.
- MRM_C0 = 64, MRM_C1 = 65, MRM_C2 = 66, MRM_C3 = 67,
- MRM_C4 = 68, MRM_C5 = 69, MRM_C6 = 70, MRM_C7 = 71,
- MRM_C8 = 72, MRM_C9 = 73, MRM_CA = 74, MRM_CB = 75,
- MRM_CC = 76, MRM_CD = 77, MRM_CE = 78, MRM_CF = 79,
- MRM_D0 = 80, MRM_D1 = 81, MRM_D2 = 82, MRM_D3 = 83,
- MRM_D4 = 84, MRM_D5 = 85, MRM_D6 = 86, MRM_D7 = 87,
- MRM_D8 = 88, MRM_D9 = 89, MRM_DA = 90, MRM_DB = 91,
- MRM_DC = 92, MRM_DD = 93, MRM_DE = 94, MRM_DF = 95,
- MRM_E0 = 96, MRM_E1 = 97, MRM_E2 = 98, MRM_E3 = 99,
- MRM_E4 = 100, MRM_E5 = 101, MRM_E6 = 102, MRM_E7 = 103,
- MRM_E8 = 104, MRM_E9 = 105, MRM_EA = 106, MRM_EB = 107,
- MRM_EC = 108, MRM_ED = 109, MRM_EE = 110, MRM_EF = 111,
- MRM_F0 = 112, MRM_F1 = 113, MRM_F2 = 114, MRM_F3 = 115,
- MRM_F4 = 116, MRM_F5 = 117, MRM_F6 = 118, MRM_F7 = 119,
- MRM_F8 = 120, MRM_F9 = 121, MRM_FA = 122, MRM_FB = 123,
- MRM_FC = 124, MRM_FD = 125, MRM_FE = 126, MRM_FF = 127,
-
- FormMask = 127,
+ MRM_C0 = 64,
+ MRM_C1 = 65,
+ MRM_C2 = 66,
+ MRM_C3 = 67,
+ MRM_C4 = 68,
+ MRM_C5 = 69,
+ MRM_C6 = 70,
+ MRM_C7 = 71,
+ MRM_C8 = 72,
+ MRM_C9 = 73,
+ MRM_CA = 74,
+ MRM_CB = 75,
+ MRM_CC = 76,
+ MRM_CD = 77,
+ MRM_CE = 78,
+ MRM_CF = 79,
+ MRM_D0 = 80,
+ MRM_D1 = 81,
+ MRM_D2 = 82,
+ MRM_D3 = 83,
+ MRM_D4 = 84,
+ MRM_D5 = 85,
+ MRM_D6 = 86,
+ MRM_D7 = 87,
+ MRM_D8 = 88,
+ MRM_D9 = 89,
+ MRM_DA = 90,
+ MRM_DB = 91,
+ MRM_DC = 92,
+ MRM_DD = 93,
+ MRM_DE = 94,
+ MRM_DF = 95,
+ MRM_E0 = 96,
+ MRM_E1 = 97,
+ MRM_E2 = 98,
+ MRM_E3 = 99,
+ MRM_E4 = 100,
+ MRM_E5 = 101,
+ MRM_E6 = 102,
+ MRM_E7 = 103,
+ MRM_E8 = 104,
+ MRM_E9 = 105,
+ MRM_EA = 106,
+ MRM_EB = 107,
+ MRM_EC = 108,
+ MRM_ED = 109,
+ MRM_EE = 110,
+ MRM_EF = 111,
+ MRM_F0 = 112,
+ MRM_F1 = 113,
+ MRM_F2 = 114,
+ MRM_F3 = 115,
+ MRM_F4 = 116,
+ MRM_F5 = 117,
+ MRM_F6 = 118,
+ MRM_F7 = 119,
+ MRM_F8 = 120,
+ MRM_F9 = 121,
+ MRM_FA = 122,
+ MRM_FB = 123,
+ MRM_FC = 124,
+ MRM_FD = 125,
+ MRM_FE = 126,
+ MRM_FF = 127,
+
+ FormMask = 127,
//===------------------------------------------------------------------===//
// Actual flags...
@@ -763,18 +830,18 @@ namespace X86II {
OpSizeShift = 7,
OpSizeMask = 0x3 << OpSizeShift,
- OpSizeFixed = 0 << OpSizeShift,
- OpSize16 = 1 << OpSizeShift,
- OpSize32 = 2 << OpSizeShift,
+ OpSizeFixed = 0 << OpSizeShift,
+ OpSize16 = 1 << OpSizeShift,
+ OpSize32 = 2 << OpSizeShift,
// AsSize - AdSizeX implies this instruction determines its need of 0x67
// prefix from a normal ModRM memory operand. The other types indicate that
// an operand is encoded with a specific width and a prefix is needed if
// it differs from the current mode.
AdSizeShift = OpSizeShift + 2,
- AdSizeMask = 0x3 << AdSizeShift,
+ AdSizeMask = 0x3 << AdSizeShift,
- AdSizeX = 0 << AdSizeShift,
+ AdSizeX = 0 << AdSizeShift,
AdSize16 = 1 << AdSizeShift,
AdSize32 = 2 << AdSizeShift,
AdSize64 = 3 << AdSizeShift,
@@ -785,7 +852,7 @@ namespace X86II {
// no prefix.
//
OpPrefixShift = AdSizeShift + 2,
- OpPrefixMask = 0x3 << OpPrefixShift,
+ OpPrefixMask = 0x3 << OpPrefixShift,
// PD - Prefix code for packed double precision vector floating point
// operations performed in the SSE registers.
@@ -793,14 +860,15 @@ namespace X86II {
// XS, XD - These prefix codes are for single and double precision scalar
// floating point operations performed in the SSE registers.
- XS = 2 << OpPrefixShift, XD = 3 << OpPrefixShift,
+ XS = 2 << OpPrefixShift,
+ XD = 3 << OpPrefixShift,
//===------------------------------------------------------------------===//
// OpMap - This field determines which opcode map this instruction
// belongs to. i.e. one-byte, two-byte, 0x0f 0x38, 0x0f 0x3a, etc.
//
OpMapShift = OpPrefixShift + 2,
- OpMapMask = 0xF << OpMapShift,
+ OpMapMask = 0xF << OpMapShift,
// OB - OneByte - Set if this instruction has a one byte opcode.
OB = 0 << OpMapShift,
@@ -810,7 +878,8 @@ namespace X86II {
TB = 1 << OpMapShift,
// T8, TA - Prefix after the 0x0F prefix.
- T8 = 2 << OpMapShift, TA = 3 << OpMapShift,
+ T8 = 2 << OpMapShift,
+ TA = 3 << OpMapShift,
// XOP8 - Prefix to include use of imm byte.
XOP8 = 4 << OpMapShift,
@@ -840,39 +909,39 @@ namespace X86II {
// etc. We only cares about REX.W and REX.R bits and only the former is
// statically determined.
//
- REXShift = OpMapShift + 4,
- REX_W = 1 << REXShift,
+ REXShift = OpMapShift + 4,
+ REX_W = 1 << REXShift,
//===------------------------------------------------------------------===//
// This three-bit field describes the size of an immediate operand. Zero is
// unused so that we can tell if we forgot to set a value.
ImmShift = REXShift + 1,
- ImmMask = 15 << ImmShift,
- Imm8 = 1 << ImmShift,
- Imm8PCRel = 2 << ImmShift,
- Imm8Reg = 3 << ImmShift,
- Imm16 = 4 << ImmShift,
+ ImmMask = 15 << ImmShift,
+ Imm8 = 1 << ImmShift,
+ Imm8PCRel = 2 << ImmShift,
+ Imm8Reg = 3 << ImmShift,
+ Imm16 = 4 << ImmShift,
Imm16PCRel = 5 << ImmShift,
- Imm32 = 6 << ImmShift,
+ Imm32 = 6 << ImmShift,
Imm32PCRel = 7 << ImmShift,
- Imm32S = 8 << ImmShift,
- Imm64 = 9 << ImmShift,
+ Imm32S = 8 << ImmShift,
+ Imm64 = 9 << ImmShift,
//===------------------------------------------------------------------===//
// FP Instruction Classification... Zero is non-fp instruction.
// FPTypeMask - Mask for all of the FP types...
FPTypeShift = ImmShift + 4,
- FPTypeMask = 7 << FPTypeShift,
+ FPTypeMask = 7 << FPTypeShift,
// NotFP - The default, set for instructions that do not use FP registers.
- NotFP = 0 << FPTypeShift,
+ NotFP = 0 << FPTypeShift,
// ZeroArgFP - 0 arg FP instruction which implicitly pushes ST(0), f.e. fld0
- ZeroArgFP = 1 << FPTypeShift,
+ ZeroArgFP = 1 << FPTypeShift,
// OneArgFP - 1 arg FP instructions which implicitly read ST(0), such as fst
- OneArgFP = 2 << FPTypeShift,
+ OneArgFP = 2 << FPTypeShift,
// OneArgFPRW - 1 arg FP instruction which implicitly read ST(0) and write a
// result back to ST(0). For example, fcos, fsqrt, etc.
@@ -882,17 +951,17 @@ namespace X86II {
// TwoArgFP - 2 arg FP instructions which implicitly read ST(0), and an
// explicit argument, storing the result to either ST(0) or the implicit
// argument. For example: fadd, fsub, fmul, etc...
- TwoArgFP = 4 << FPTypeShift,
+ TwoArgFP = 4 << FPTypeShift,
// CompareFP - 2 arg FP instructions which implicitly read ST(0) and an
// explicit argument, but have no destination. Example: fucom, fucomi, ...
- CompareFP = 5 << FPTypeShift,
+ CompareFP = 5 << FPTypeShift,
// CondMovFP - "2 operand" floating point conditional move instructions.
- CondMovFP = 6 << FPTypeShift,
+ CondMovFP = 6 << FPTypeShift,
// SpecialFP - Special instruction forms. Dispatch by opcode explicitly.
- SpecialFP = 7 << FPTypeShift,
+ SpecialFP = 7 << FPTypeShift,
// Lock prefix
LOCKShift = FPTypeShift + 3,
@@ -923,36 +992,36 @@ namespace X86II {
EVEX = 3 << EncodingShift,
// Opcode
- OpcodeShift = EncodingShift + 2,
+ OpcodeShift = EncodingShift + 2,
/// VEX_4V - Used to specify an additional AVX/SSE register. Several 2
/// address instructions in SSE are represented as 3 address ones in AVX
/// and the additional register is encoded in VEX_VVVV prefix.
VEX_4VShift = OpcodeShift + 8,
- VEX_4V = 1ULL << VEX_4VShift,
+ VEX_4V = 1ULL << VEX_4VShift,
/// VEX_L - Stands for a bit in the VEX opcode prefix meaning the current
/// instruction uses 256-bit wide registers. This is usually auto detected
/// if a VR256 register is used, but some AVX instructions also have this
/// field marked when using a f256 memory references.
VEX_LShift = VEX_4VShift + 1,
- VEX_L = 1ULL << VEX_LShift,
+ VEX_L = 1ULL << VEX_LShift,
// EVEX_K - Set if this instruction requires masking
EVEX_KShift = VEX_LShift + 1,
- EVEX_K = 1ULL << EVEX_KShift,
+ EVEX_K = 1ULL << EVEX_KShift,
// EVEX_Z - Set if this instruction has EVEX.Z field set.
EVEX_ZShift = EVEX_KShift + 1,
- EVEX_Z = 1ULL << EVEX_ZShift,
+ EVEX_Z = 1ULL << EVEX_ZShift,
// EVEX_L2 - Set if this instruction has EVEX.L' field set.
EVEX_L2Shift = EVEX_ZShift + 1,
- EVEX_L2 = 1ULL << EVEX_L2Shift,
+ EVEX_L2 = 1ULL << EVEX_L2Shift,
// EVEX_B - Set if this instruction has EVEX.B field set.
EVEX_BShift = EVEX_L2Shift + 1,
- EVEX_B = 1ULL << EVEX_BShift,
+ EVEX_B = 1ULL << EVEX_BShift,
// The scaling factor for the AVX512's 8-bit compressed displacement.
CD8_Scale_Shift = EVEX_BShift + 1,
diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp
index 4c6854da0..851c72520 100644
--- a/llvm/lib/Target/X86/X86InstrInfo.cpp
+++ b/llvm/lib/Target/X86/X86InstrInfo.cpp
@@ -4810,124 +4810,124 @@ static unsigned ConvertALUrr2ALUri(unsigned Opcode, bool &CanConvert2Copy,
ShiftRotate = false;
unsigned NewOpcode = 0;
switch (Opcode) {
- case X86::ADD64rr:
- NewOpcode = X86::ADD64ri32;
- CanConvert2Copy = true;
- break;
- case X86::ADC64rr:
- NewOpcode = X86::ADC64ri32;
- break;
- case X86::SUB64rr:
- NewOpcode = X86::SUB64ri32;
- CanConvert2Copy = true;
- break;
- case X86::SBB64rr:
- NewOpcode = X86::SBB64ri32;
- break;
- case X86::AND64rr:
- NewOpcode = X86::AND64ri32;
- break;
- case X86::OR64rr:
- NewOpcode = X86::OR64ri32;
- CanConvert2Copy = true;
- break;
- case X86::XOR64rr:
- NewOpcode = X86::XOR64ri32;
- CanConvert2Copy = true;
- break;
- case X86::TEST64rr:
- NewOpcode = X86::TEST64ri32;
- break;
- case X86::CMP64rr:
- NewOpcode = X86::CMP64ri32;
- break;
- case X86::SHR64rCL:
- NewOpcode = X86::SHR64ri;
- ShiftRotate = true;
- break;
- case X86::SHL64rCL:
- NewOpcode = X86::SHL64ri;
- ShiftRotate = true;
- break;
- case X86::SAR64rCL:
- NewOpcode = X86::SAR64ri;
- ShiftRotate = true;
- break;
- case X86::ROL64rCL:
- NewOpcode = X86::ROL64ri;
- ShiftRotate = true;
- break;
- case X86::ROR64rCL:
- NewOpcode = X86::ROR64ri;
- ShiftRotate = true;
- break;
- case X86::RCL64rCL:
- NewOpcode = X86::RCL64ri;
- ShiftRotate = true;
- break;
- case X86::RCR64rCL:
- NewOpcode = X86::RCR64ri;
- ShiftRotate = true;
- break;
- case X86::ADD32rr:
- NewOpcode = X86::ADD32ri;
- CanConvert2Copy = true;
- break;
- case X86::ADC32rr:
- NewOpcode = X86::ADC32ri;
- break;
- case X86::SUB32rr:
- NewOpcode = X86::SUB32ri;
- CanConvert2Copy = true;
- break;
- case X86::SBB32rr:
- NewOpcode = X86::SBB32ri;
- break;
- case X86::AND32rr:
- NewOpcode = X86::AND32ri;
- break;
- case X86::OR32rr:
- NewOpcode = X86::OR32ri;
- CanConvert2Copy = true;
- break;
- case X86::XOR32rr:
- NewOpcode = X86::XOR32ri;
- CanConvert2Copy = true;
- break;
- case X86::TEST32rr:
- NewOpcode = X86::TEST32ri;
- break;
- case X86::CMP32rr:
- NewOpcode = X86::CMP32ri;
- break;
- case X86::SHR32rCL:
- NewOpcode = X86::SHR32ri;
- ShiftRotate = true;
- break;
- case X86::SHL32rCL:
- NewOpcode = X86::SHL32ri;
- ShiftRotate = true;
- break;
- case X86::SAR32rCL:
- NewOpcode = X86::SAR32ri;
- ShiftRotate = true;
- break;
- case X86::ROL32rCL:
- NewOpcode = X86::ROL32ri;
- ShiftRotate = true;
- break;
- case X86::ROR32rCL:
- NewOpcode = X86::ROR32ri;
- ShiftRotate = true;
- break;
- case X86::RCL32rCL:
- NewOpcode = X86::RCL32ri;
- ShiftRotate = true;
- break;
- case X86::RCR32rCL:
- NewOpcode = X86::RCR32ri;
- ShiftRotate = true;
- break;
+ case X86::ADD64rr:
+ NewOpcode = X86::ADD64ri32;
+ CanConvert2Copy = true;
+ break;
+ case X86::ADC64rr:
+ NewOpcode = X86::ADC64ri32;
+ break;
+ case X86::SUB64rr:
+ NewOpcode = X86::SUB64ri32;
+ CanConvert2Copy = true;
+ break;
+ case X86::SBB64rr:
+ NewOpcode = X86::SBB64ri32;
+ break;
+ case X86::AND64rr:
+ NewOpcode = X86::AND64ri32;
+ break;
+ case X86::OR64rr:
+ NewOpcode = X86::OR64ri32;
+ CanConvert2Copy = true;
+ break;
+ case X86::XOR64rr:
+ NewOpcode = X86::XOR64ri32;
+ CanConvert2Copy = true;
+ break;
+ case X86::TEST64rr:
+ NewOpcode = X86::TEST64ri32;
+ break;
+ case X86::CMP64rr:
+ NewOpcode = X86::CMP64ri32;
+ break;
+ case X86::SHR64rCL:
+ NewOpcode = X86::SHR64ri;
+ ShiftRotate = true;
+ break;
+ case X86::SHL64rCL:
+ NewOpcode = X86::SHL64ri;
+ ShiftRotate = true;
+ break;
+ case X86::SAR64rCL:
+ NewOpcode = X86::SAR64ri;
+ ShiftRotate = true;
+ break;
+ case X86::ROL64rCL:
+ NewOpcode = X86::ROL64ri;
+ ShiftRotate = true;
+ break;
+ case X86::ROR64rCL:
+ NewOpcode = X86::ROR64ri;
+ ShiftRotate = true;
+ break;
+ case X86::RCL64rCL:
+ NewOpcode = X86::RCL64ri;
+ ShiftRotate = true;
+ break;
+ case X86::RCR64rCL:
+ NewOpcode = X86::RCR64ri;
+ ShiftRotate = true;
+ break;
+ case X86::ADD32rr:
+ NewOpcode = X86::ADD32ri;
+ CanConvert2Copy = true;
+ break;
+ case X86::ADC32rr:
+ NewOpcode = X86::ADC32ri;
+ break;
+ case X86::SUB32rr:
+ NewOpcode = X86::SUB32ri;
+ CanConvert2Copy = true;
+ break;
+ case X86::SBB32rr:
+ NewOpcode = X86::SBB32ri;
+ break;
+ case X86::AND32rr:
+ NewOpcode = X86::AND32ri;
+ break;
+ case X86::OR32rr:
+ NewOpcode = X86::OR32ri;
+ CanConvert2Copy = true;
+ break;
+ case X86::XOR32rr:
+ NewOpcode = X86::XOR32ri;
+ CanConvert2Copy = true;
+ break;
+ case X86::TEST32rr:
+ NewOpcode = X86::TEST32ri;
+ break;
+ case X86::CMP32rr:
+ NewOpcode = X86::CMP32ri;
+ break;
+ case X86::SHR32rCL:
+ NewOpcode = X86::SHR32ri;
+ ShiftRotate = true;
+ break;
+ case X86::SHL32rCL:
+ NewOpcode = X86::SHL32ri;
+ ShiftRotate = true;
+ break;
+ case X86::SAR32rCL:
+ NewOpcode = X86::SAR32ri;
+ ShiftRotate = true;
+ break;
+ case X86::ROL32rCL:
+ NewOpcode = X86::ROL32ri;
+ ShiftRotate = true;
+ break;
+ case X86::ROR32rCL:
+ NewOpcode = X86::ROR32ri;
+ ShiftRotate = true;
+ break;
+ case X86::RCL32rCL:
+ NewOpcode = X86::RCL32ri;
+ ShiftRotate = true;
+ break;
+ case X86::RCR32rCL:
+ NewOpcode = X86::RCR32ri;
+ ShiftRotate = true;
+ break;
}
return NewOpcode;
}
@@ -4996,8 +4996,8 @@ bool X86InstrInfo::FoldImmediateImpl(MachineInstr &UseMI, MachineInstr *DefMI,
if (ImmVal == 0) {
// MOV32r0 clobbers EFLAGS.
const TargetRegisterInfo *TRI = &getRegisterInfo();
- if (UseMI.getParent()->computeRegisterLiveness(TRI, X86::EFLAGS, UseMI)
- != MachineBasicBlock::LQR_Dead)
+ if (UseMI.getParent()->computeRegisterLiveness(
+ TRI, X86::EFLAGS, UseMI) != MachineBasicBlock::LQR_Dead)
return false;
// MOV32r0 is different than other cases because it doesn't encode the
@@ -5006,10 +5006,10 @@ bool X86InstrInfo::FoldImmediateImpl(MachineInstr &UseMI, MachineInstr *DefMI,
return true;
UseMI.setDesc(get(X86::MOV32r0));
UseMI.removeOperand(UseMI.findRegisterUseOperandIdx(Reg));
- UseMI.addOperand(MachineOperand::CreateReg(X86::EFLAGS, /*isDef=*/ true,
- /*isImp=*/ true,
- /*isKill=*/ false,
- /*isDead=*/ true));
+ UseMI.addOperand(MachineOperand::CreateReg(X86::EFLAGS, /*isDef=*/true,
+ /*isImp=*/true,
+ /*isKill=*/false,
+ /*isDead=*/true));
Modified = true;
}
} else if (GR8Reg)
@@ -5071,7 +5071,7 @@ bool X86InstrInfo::FoldImmediateImpl(MachineInstr &UseMI, MachineInstr *DefMI,
unsigned Op1 = 1, Op2 = CommuteAnyOperandIndex;
unsigned ImmOpNum = 2;
if (!UseMI.getOperand(0).isDef()) {
- Op1 = 0; // TEST, CMP
+ Op1 = 0; // TEST, CMP
ImmOpNum = 1;
}
if (Opc == TargetOpcode::COPY)
diff --git a/llvm/lib/TargetParser/Host.cpp b/llvm/lib/TargetParser/Host.cpp
index b320911d3..1f7e28cdb 100644
--- a/llvm/lib/TargetParser/Host.cpp
+++ b/llvm/lib/TargetParser/Host.cpp
@@ -1796,7 +1796,7 @@ bool sys::getHostCPUFeatures(StringMap<bool> &Features) {
Features["amx-complex"] = HasLeaf7Subleaf1 && ((EDX >> 8) & 1) && HasAMXSave;
Features["avxvnniint16"] = HasLeaf7Subleaf1 && ((EDX >> 10) & 1) && HasAVXSave;
Features["prefetchi"] = HasLeaf7Subleaf1 && ((EDX >> 14) & 1);
- Features["usermsr"] = HasLeaf7Subleaf1 && ((EDX >> 15) & 1);
+ Features["usermsr"] = HasLeaf7Subleaf1 && ((EDX >> 15) & 1);
bool HasLeafD = MaxLevel >= 0xd &&
!getX86CpuIDAndInfoEx(0xd, 0x1, &EAX, &EBX, &ECX, &EDX);
diff --git a/llvm/lib/Transforms/HipStdPar/HipStdPar.cpp b/llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
index fb7cba9ed..570044d2c 100644
--- a/llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
+++ b/llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
@@ -41,9 +41,9 @@
#include "llvm/Transforms/HipStdPar/HipStdPar.h"
+#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
-#include "llvm/ADT/STLExtras.h"
#include "llvm/Analysis/CallGraph.h"
#include "llvm/Analysis/OptimizationRemarkEmitter.h"
#include "llvm/IR/Constants.h"
@@ -58,8 +58,7 @@
using namespace llvm;
-template<typename T>
-static inline void eraseFromModule(T &ToErase) {
+template <typename T> static inline void eraseFromModule(T &ToErase) {
ToErase.replaceAllUsesWith(PoisonValue::get(ToErase.getType()));
ToErase.eraseFromParent();
}
@@ -77,7 +76,7 @@ static inline bool checkIfSupported(GlobalVariable &G) {
raw_string_ostream OS(W);
OS << "Accelerator does not support the thread_local variable "
- << G.getName();
+ << G.getName();
Instruction *I = nullptr;
SmallVector<User *> Tmp(G.user_begin(), G.user_end());
@@ -99,9 +98,8 @@ static inline bool checkIfSupported(GlobalVariable &G) {
assert(I && "thread_local global should have at least one non-constant use.");
- G.getContext().diagnose(
- DiagnosticInfoUnsupported(*I->getParent()->getParent(), W,
- I->getDebugLoc(), DS_Error));
+ G.getContext().diagnose(DiagnosticInfoUnsupported(
+ *I->getParent()->getParent(), W, I->getDebugLoc(), DS_Error));
return false;
}
@@ -137,9 +135,10 @@ static inline void maybeHandleGlobals(Module &M) {
}
}
-template<unsigned N>
-static inline void removeUnreachableFunctions(
- const SmallPtrSet<const Function *, N>& Reachable, Module &M) {
+template <unsigned N>
+static inline void
+removeUnreachableFunctions(const SmallPtrSet<const Function *, N> &Reachable,
+ Module &M) {
removeFromUsedLists(M, [&](Constant *C) {
if (auto F = dyn_cast<Function>(C))
return !Reachable.contains(F);
@@ -156,10 +155,10 @@ static inline void removeUnreachableFunctions(
}
static inline bool isAcceleratorExecutionRoot(const Function *F) {
- if (!F)
- return false;
+ if (!F)
+ return false;
- return F->getCallingConv() == CallingConv::AMDGPU_KERNEL;
+ return F->getCallingConv() == CallingConv::AMDGPU_KERNEL;
}
static inline bool checkIfSupported(const Function *F, const CallBase *CB) {
@@ -175,21 +174,21 @@ static inline bool checkIfSupported(const Function *F, const CallBase *CB) {
if (N == "__ASM")
OS << "Accelerator does not support the ASM block:\n"
- << cast<ConstantDataArray>(CB->getArgOperand(0))->getAsCString();
+ << cast<ConstantDataArray>(CB->getArgOperand(0))->getAsCString();
else
OS << "Accelerator does not support the " << N << " function.";
auto Caller = CB->getParent()->getParent();
Caller->getContext().diagnose(
- DiagnosticInfoUnsupported(*Caller, W, CB->getDebugLoc(), DS_Error));
+ DiagnosticInfoUnsupported(*Caller, W, CB->getDebugLoc(), DS_Error));
return false;
}
PreservedAnalyses
- HipStdParAcceleratorCodeSelectionPass::run(Module &M,
- ModuleAnalysisManager &MAM) {
+HipStdParAcceleratorCodeSelectionPass::run(Module &M,
+ ModuleAnalysisManager &MAM) {
auto &CGA = MAM.getResult<CallGraphAnalysis>(M);
SmallPtrSet<const Function *, 32> Reachable;
@@ -233,48 +232,47 @@ PreservedAnalyses
}
static constexpr std::pair<StringLiteral, StringLiteral> ReplaceMap[]{
- {"aligned_alloc", "__hipstdpar_aligned_alloc"},
- {"calloc", "__hipstdpar_calloc"},
- {"free", "__hipstdpar_free"},
- {"malloc", "__hipstdpar_malloc"},
- {"memalign", "__hipstdpar_aligned_alloc"},
- {"posix_memalign", "__hipstdpar_posix_aligned_alloc"},
- {"realloc", "__hipstdpar_realloc"},
- {"reallocarray", "__hipstdpar_realloc_array"},
- {"_ZdaPv", "__hipstdpar_operator_delete"},
- {"_ZdaPvm", "__hipstdpar_operator_delete_sized"},
- {"_ZdaPvSt11align_val_t", "__hipstdpar_operator_delete_aligned"},
- {"_ZdaPvmSt11align_val_t", "__hipstdpar_operator_delete_aligned_sized"},
- {"_ZdlPv", "__hipstdpar_operator_delete"},
- {"_ZdlPvm", "__hipstdpar_operator_delete_sized"},
- {"_ZdlPvSt11align_val_t", "__hipstdpar_operator_delete_aligned"},
- {"_ZdlPvmSt11align_val_t", "__hipstdpar_operator_delete_aligned_sized"},
- {"_Znam", "__hipstdpar_operator_new"},
- {"_ZnamRKSt9nothrow_t", "__hipstdpar_operator_new_nothrow"},
- {"_ZnamSt11align_val_t", "__hipstdpar_operator_new_aligned"},
- {"_ZnamSt11align_val_tRKSt9nothrow_t",
- "__hipstdpar_operator_new_aligned_nothrow"},
-
- {"_Znwm", "__hipstdpar_operator_new"},
- {"_ZnwmRKSt9nothrow_t", "__hipstdpar_operator_new_nothrow"},
- {"_ZnwmSt11align_val_t", "__hipstdpar_operator_new_aligned"},
- {"_ZnwmSt11align_val_tRKSt9nothrow_t",
- "__hipstdpar_operator_new_aligned_nothrow"},
- {"__builtin_calloc", "__hipstdpar_calloc"},
- {"__builtin_free", "__hipstdpar_free"},
- {"__builtin_malloc", "__hipstdpar_malloc"},
- {"__builtin_operator_delete", "__hipstdpar_operator_delete"},
- {"__builtin_operator_new", "__hipstdpar_operator_new"},
- {"__builtin_realloc", "__hipstdpar_realloc"},
- {"__libc_calloc", "__hipstdpar_calloc"},
- {"__libc_free", "__hipstdpar_free"},
- {"__libc_malloc", "__hipstdpar_malloc"},
- {"__libc_memalign", "__hipstdpar_aligned_alloc"},
- {"__libc_realloc", "__hipstdpar_realloc"}
-};
+ {"aligned_alloc", "__hipstdpar_aligned_alloc"},
+ {"calloc", "__hipstdpar_calloc"},
+ {"free", "__hipstdpar_free"},
+ {"malloc", "__hipstdpar_malloc"},
+ {"memalign", "__hipstdpar_aligned_alloc"},
+ {"posix_memalign", "__hipstdpar_posix_aligned_alloc"},
+ {"realloc", "__hipstdpar_realloc"},
+ {"reallocarray", "__hipstdpar_realloc_array"},
+ {"_ZdaPv", "__hipstdpar_operator_delete"},
+ {"_ZdaPvm", "__hipstdpar_operator_delete_sized"},
+ {"_ZdaPvSt11align_val_t", "__hipstdpar_operator_delete_aligned"},
+ {"_ZdaPvmSt11align_val_t", "__hipstdpar_operator_delete_aligned_sized"},
+ {"_ZdlPv", "__hipstdpar_operator_delete"},
+ {"_ZdlPvm", "__hipstdpar_operator_delete_sized"},
+ {"_ZdlPvSt11align_val_t", "__hipstdpar_operator_delete_aligned"},
+ {"_ZdlPvmSt11align_val_t", "__hipstdpar_operator_delete_aligned_sized"},
+ {"_Znam", "__hipstdpar_operator_new"},
+ {"_ZnamRKSt9nothrow_t", "__hipstdpar_operator_new_nothrow"},
+ {"_ZnamSt11align_val_t", "__hipstdpar_operator_new_aligned"},
+ {"_ZnamSt11align_val_tRKSt9nothrow_t",
+ "__hipstdpar_operator_new_aligned_nothrow"},
+
+ {"_Znwm", "__hipstdpar_operator_new"},
+ {"_ZnwmRKSt9nothrow_t", "__hipstdpar_operator_new_nothrow"},
+ {"_ZnwmSt11align_val_t", "__hipstdpar_operator_new_aligned"},
+ {"_ZnwmSt11align_val_tRKSt9nothrow_t",
+ "__hipstdpar_operator_new_aligned_nothrow"},
+ {"__builtin_calloc", "__hipstdpar_calloc"},
+ {"__builtin_free", "__hipstdpar_free"},
+ {"__builtin_malloc", "__hipstdpar_malloc"},
+ {"__builtin_operator_delete", "__hipstdpar_operator_delete"},
+ {"__builtin_operator_new", "__hipstdpar_operator_new"},
+ {"__builtin_realloc", "__hipstdpar_realloc"},
+ {"__libc_calloc", "__hipstdpar_calloc"},
+ {"__libc_free", "__hipstdpar_free"},
+ {"__libc_malloc", "__hipstdpar_malloc"},
+ {"__libc_memalign", "__hipstdpar_aligned_alloc"},
+ {"__libc_realloc", "__hipstdpar_realloc"}};
PreservedAnalyses
-HipStdParAllocationInterpositionPass::run(Module &M, ModuleAnalysisManager&) {
+HipStdParAllocationInterpositionPass::run(Module &M, ModuleAnalysisManager &) {
SmallDenseMap<StringRef, StringRef> AllocReplacements(std::cbegin(ReplaceMap),
std::cend(ReplaceMap));
@@ -291,12 +289,11 @@ HipStdParAllocationInterpositionPass::run(Module &M, ModuleAnalysisManager&) {
raw_string_ostream OS(W);
OS << "cannot be interposed, missing: " << AllocReplacements[F.getName()]
- << ". Tried to run the allocation interposition pass without the "
- << "replacement functions available.";
+ << ". Tried to run the allocation interposition pass without the "
+ << "replacement functions available.";
- F.getContext().diagnose(DiagnosticInfoUnsupported(F, W,
- F.getSubprogram(),
- DS_Warning));
+ F.getContext().diagnose(
+ DiagnosticInfoUnsupported(F, W, F.getSubprogram(), DS_Warning));
}
}
diff --git a/llvm/lib/Transforms/IPO/SampleContextTracker.cpp b/llvm/lib/Transforms/IPO/SampleContextTracker.cpp
index 09dd5c11b..91be5c252 100644
--- a/llvm/lib/Transforms/IPO/SampleContextTracker.cpp
+++ b/llvm/lib/Transforms/IPO/SampleContextTracker.cpp
@@ -232,7 +232,7 @@ SampleContextTracker::getCalleeContextSamplesFor(const CallBase &Inst,
return nullptr;
CalleeName = FunctionSamples::getCanonicalFnName(CalleeName);
-
+
FunctionId FName = getRepInFormat(CalleeName);
// For indirect call, CalleeName will be empty, in which case the context
@@ -487,9 +487,8 @@ ContextTrieNode *SampleContextTracker::getContextFor(const DILocation *DIL) {
StringRef Name = PrevDIL->getScope()->getSubprogram()->getLinkageName();
if (Name.empty())
Name = PrevDIL->getScope()->getSubprogram()->getName();
- S.push_back(
- std::make_pair(FunctionSamples::getCallSiteIdentifier(DIL),
- getRepInFormat(Name)));
+ S.push_back(std::make_pair(FunctionSamples::getCallSiteIdentifier(DIL),
+ getRepInFormat(Name)));
PrevDIL = DIL;
}
@@ -498,8 +497,7 @@ ContextTrieNode *SampleContextTracker::getContextFor(const DILocation *DIL) {
StringRef RootName = PrevDIL->getScope()->getSubprogram()->getLinkageName();
if (RootName.empty())
RootName = PrevDIL->getScope()->getSubprogram()->getName();
- S.push_back(std::make_pair(LineLocation(0, 0),
- getRepInFormat(RootName)));
+ S.push_back(std::make_pair(LineLocation(0, 0), getRepInFormat(RootName)));
ContextTrieNode *ContextNode = &RootContext;
int I = S.size();
@@ -527,8 +525,7 @@ SampleContextTracker::getOrCreateContextPath(const SampleContext &Context,
ContextNode =
ContextNode->getOrCreateChildContext(CallSiteLoc, Callsite.Func);
} else {
- ContextNode =
- ContextNode->getChildContext(CallSiteLoc, Callsite.Func);
+ ContextNode = ContextNode->getChildContext(CallSiteLoc, Callsite.Func);
}
CallSiteLoc = Callsite.Location;
}
diff --git a/llvm/lib/Transforms/IPO/SampleProfile.cpp b/llvm/lib/Transforms/IPO/SampleProfile.cpp
index a7773737e..9030f63b3 100644
--- a/llvm/lib/Transforms/IPO/SampleProfile.cpp
+++ b/llvm/lib/Transforms/IPO/SampleProfile.cpp
@@ -477,8 +477,7 @@ private:
std::map<LineLocation, StringRef> &IRAnchors);
void findProfileAnchors(
const FunctionSamples &FS,
- std::map<LineLocation, std::unordered_set<FunctionId>>
- &ProfileAnchors);
+ std::map<LineLocation, std::unordered_set<FunctionId>> &ProfileAnchors);
void countMismatchedSamples(const FunctionSamples &FS);
void countProfileMismatches(
const Function &F, const FunctionSamples &FS,
@@ -995,16 +994,16 @@ bool SampleProfileLoader::tryPromoteAndInlineCandidate(
// recursive. As llvm does not inline recursive calls, we will
// simply ignore it instead of handling it explicitly.
if (!R->second->isDeclaration() && R->second->getSubprogram() &&
- R->second->hasFnAttribute("use-sample-profile") &&
- R->second != &F && isLegalToPromote(CI, R->second, &Reason)) {
+ R->second->hasFnAttribute("use-sample-profile") && R->second != &F &&
+ isLegalToPromote(CI, R->second, &Reason)) {
// For promoted target, set its value with NOMORE_ICP_MAGICNUM count
// in the value profile metadata so the target won't be promoted again.
SmallVector<InstrProfValueData, 1> SortedCallTargets = {InstrProfValueData{
Function::getGUID(R->second->getName()), NOMORE_ICP_MAGICNUM}};
updateIDTMetaData(CI, SortedCallTargets, 0);
- auto *DI = &pgo::promoteIndirectCall(
- CI, R->second, Candidate.CallsiteCount, Sum, false, ORE);
+ auto *DI = &pgo::promoteIndirectCall(CI, R->second, Candidate.CallsiteCount,
+ Sum, false, ORE);
if (DI) {
Sum -= Candidate.CallsiteCount;
// Do not prorate the indirect callsite distribution since the original
@@ -1034,8 +1033,8 @@ bool SampleProfileLoader::tryPromoteAndInlineCandidate(
} else {
LLVM_DEBUG(dbgs() << "\nFailed to promote indirect call to "
<< FunctionSamples::getCanonicalFnName(
- Candidate.CallInstr->getName())<< " because "
- << Reason << "\n");
+ Candidate.CallInstr->getName())
+ << " because " << Reason << "\n");
}
return false;
}
@@ -1129,7 +1128,7 @@ void SampleProfileLoader::findExternalInlineCandidate(
CalleeSample->getContext().hasAttribute(ContextShouldBeInlined);
if (!PreInline && CalleeSample->getHeadSamplesEstimate() < Threshold)
continue;
-
+
Function *Func = SymbolMap.lookup(CalleeSample->getFunction());
// Add to the import list only when it's defined out of module.
if (!Func || Func->isDeclaration())
@@ -1648,8 +1647,7 @@ static SmallVector<InstrProfValueData, 2>
GetSortedValueDataFromCallTargets(const SampleRecord::CallTargetMap &M) {
SmallVector<InstrProfValueData, 2> R;
for (const auto &I : SampleRecord::SortCallTargets(M)) {
- R.emplace_back(
- InstrProfValueData{I.first.getHashCode(), I.second});
+ R.emplace_back(InstrProfValueData{I.first.getHashCode(), I.second});
}
return R;
}
@@ -1877,7 +1875,7 @@ SampleProfileLoader::buildProfiledCallGraph(Module &M) {
if (F.isDeclaration() || !F.hasFnAttribute("use-sample-profile"))
continue;
ProfiledCG->addProfiledFunction(
- getRepInFormat(FunctionSamples::getCanonicalFnName(F)));
+ getRepInFormat(FunctionSamples::getCanonicalFnName(F)));
}
return ProfiledCG;
@@ -2291,8 +2289,9 @@ void SampleProfileMatcher::countProfileCallsiteMismatches(
}
}
-void SampleProfileMatcher::findProfileAnchors(const FunctionSamples &FS,
- std::map<LineLocation, std::unordered_set<FunctionId>> &ProfileAnchors) {
+void SampleProfileMatcher::findProfileAnchors(
+ const FunctionSamples &FS,
+ std::map<LineLocation, std::unordered_set<FunctionId>> &ProfileAnchors) {
auto isInvalidLineOffset = [](uint32_t LineOffset) {
return LineOffset & 0x8000;
};
@@ -2302,8 +2301,8 @@ void SampleProfileMatcher::findProfileAnchors(const FunctionSamples &FS,
if (isInvalidLineOffset(Loc.LineOffset))
continue;
for (const auto &I : I.second.getCallTargets()) {
- auto Ret = ProfileAnchors.try_emplace(Loc,
- std::unordered_set<FunctionId>());
+ auto Ret =
+ ProfileAnchors.try_emplace(Loc, std::unordered_set<FunctionId>());
Ret.first->second.insert(I.first);
}
}
@@ -2314,8 +2313,8 @@ void SampleProfileMatcher::findProfileAnchors(const FunctionSamples &FS,
continue;
const auto &CalleeMap = I.second;
for (const auto &I : CalleeMap) {
- auto Ret = ProfileAnchors.try_emplace(Loc,
- std::unordered_set<FunctionId>());
+ auto Ret =
+ ProfileAnchors.try_emplace(Loc, std::unordered_set<FunctionId>());
Ret.first->second.insert(I.first);
}
}
@@ -2339,8 +2338,7 @@ void SampleProfileMatcher::findProfileAnchors(const FunctionSamples &FS,
// [1, 2, 3(foo), 4, 7, 8(bar), 9]
// The output mapping: [2->3, 3->4, 5->7, 6->8, 7->9].
void SampleProfileMatcher::runStaleProfileMatching(
- const Function &F,
- const std::map<LineLocation, StringRef> &IRAnchors,
+ const Function &F, const std::map<LineLocation, StringRef> &IRAnchors,
const std::map<LineLocation, std::unordered_set<FunctionId>>
&ProfileAnchors,
LocToLocMap &IRToProfileLocationMap) {
@@ -2349,8 +2347,7 @@ void SampleProfileMatcher::runStaleProfileMatching(
assert(IRToProfileLocationMap.empty() &&
"Run stale profile matching only once per function");
- std::unordered_map<FunctionId, std::set<LineLocation>>
- CalleeToCallsitesMap;
+ std::unordered_map<FunctionId, std::set<LineLocation>> CalleeToCallsitesMap;
for (const auto &I : ProfileAnchors) {
const auto &Loc = I.first;
const auto &Callees = I.second;
@@ -2379,8 +2376,8 @@ void SampleProfileMatcher::runStaleProfileMatching(
bool IsMatchedAnchor = false;
// Match the anchor location in lexical order.
if (!CalleeName.empty()) {
- auto CandidateAnchors = CalleeToCallsitesMap.find(
- getRepInFormat(CalleeName));
+ auto CandidateAnchors =
+ CalleeToCallsitesMap.find(getRepInFormat(CalleeName));
if (CandidateAnchors != CalleeToCallsitesMap.end() &&
!CandidateAnchors->second.empty()) {
auto CI = CandidateAnchors->second.begin();
diff --git a/llvm/lib/Transforms/Scalar/Scalarizer.cpp b/llvm/lib/Transforms/Scalar/Scalarizer.cpp
index 111c47733..b585e07d9 100644
--- a/llvm/lib/Transforms/Scalar/Scalarizer.cpp
+++ b/llvm/lib/Transforms/Scalar/Scalarizer.cpp
@@ -1251,7 +1251,8 @@ bool ScalarizerVisitor::finish() {
return true;
}
-PreservedAnalyses ScalarizerPass::run(Function &F, FunctionAnalysisManager &AM) {
+PreservedAnalyses ScalarizerPass::run(Function &F,
+ FunctionAnalysisManager &AM) {
DominatorTree *DT = &AM.getResult<DominatorTreeAnalysis>(F);
ScalarizerVisitor Impl(LLVMContext::MD_mem_parallel_loop_access, DT, Options);
bool Changed = Impl.visit(F);
diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
index 14c5c0d18..7e6d73c79 100644
--- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
@@ -9141,53 +9141,54 @@ void LoopVectorizationPlanner::adjustRecipesForReductions(
Builder.setInsertPoint(&*LatchVPBB->begin());
for (VPRecipeBase &R :
Plan->getVectorLoopRegion()->getEntryBasicBlock()->phis()) {
- VPReductionPHIRecipe *PhiR = dyn_cast<VPReductionPHIRecipe>(&R);
- if (!PhiR || PhiR->isInLoop())
- continue;
+ VPReductionPHIRecipe *PhiR = dyn_cast<VPReductionPHIRecipe>(&R);
+ if (!PhiR || PhiR->isInLoop())
+ continue;
- const RecurrenceDescriptor &RdxDesc = PhiR->getRecurrenceDescriptor();
- auto *Result = PhiR->getBackedgeValue()->getDefiningRecipe();
- // If tail is folded by masking, introduce selects between the phi
- // and the live-out instruction of each reduction, at the beginning of the
- // dedicated latch block.
- if (CM.foldTailByMasking()) {
- VPValue *Cond =
- RecipeBuilder.createBlockInMask(OrigLoop->getHeader(), *Plan);
- VPValue *Red = PhiR->getBackedgeValue();
- assert(Red->getDefiningRecipe()->getParent() != LatchVPBB &&
- "reduction recipe must be defined before latch");
- FastMathFlags FMFs = RdxDesc.getFastMathFlags();
- Type *PhiTy = PhiR->getOperand(0)->getLiveInIRValue()->getType();
- Result =
- PhiTy->isFloatingPointTy()
- ? new VPInstruction(Instruction::Select, {Cond, Red, PhiR}, FMFs)
- : new VPInstruction(Instruction::Select, {Cond, Red, PhiR});
- Result->insertBefore(&*Builder.getInsertPoint());
- if (PreferPredicatedReductionSelect ||
- TTI.preferPredicatedReductionSelect(
- PhiR->getRecurrenceDescriptor().getOpcode(), PhiTy,
- TargetTransformInfo::ReductionFlags()))
- PhiR->setOperand(1, Result->getVPSingleValue());
- }
- // If the vector reduction can be performed in a smaller type, we truncate
- // then extend the loop exit value to enable InstCombine to evaluate the
- // entire expression in the smaller type.
- Type *PhiTy = PhiR->getStartValue()->getLiveInIRValue()->getType();
- if (PhiTy != RdxDesc.getRecurrenceType()) {
- assert(!PhiR->isInLoop() && "Unexpected truncated inloop reduction!");
- Type *RdxTy = RdxDesc.getRecurrenceType();
- auto *Trunc = new VPWidenCastRecipe(Instruction::Trunc,
- Result->getVPSingleValue(), RdxTy);
- auto *Extnd =
- RdxDesc.isSigned()
- ? new VPWidenCastRecipe(Instruction::SExt, Trunc, PhiTy)
- : new VPWidenCastRecipe(Instruction::ZExt, Trunc, PhiTy);
-
- Trunc->insertAfter(Result);
- Extnd->insertAfter(Trunc);
- Result->getVPSingleValue()->replaceAllUsesWith(Extnd);
- Trunc->setOperand(0, Result->getVPSingleValue());
- }
+ const RecurrenceDescriptor &RdxDesc = PhiR->getRecurrenceDescriptor();
+ auto *Result = PhiR->getBackedgeValue()->getDefiningRecipe();
+ // If tail is folded by masking, introduce selects between the phi
+ // and the live-out instruction of each reduction, at the beginning of the
+ // dedicated latch block.
+ if (CM.foldTailByMasking()) {
+ VPValue *Cond =
+ RecipeBuilder.createBlockInMask(OrigLoop->getHeader(), *Plan);
+ VPValue *Red = PhiR->getBackedgeValue();
+ assert(Red->getDefiningRecipe()->getParent() != LatchVPBB &&
+ "reduction recipe must be defined before latch");
+ FastMathFlags FMFs = RdxDesc.getFastMathFlags();
+ Type *PhiTy = PhiR->getOperand(0)->getLiveInIRValue()->getType();
+ Result =
+ PhiTy->isFloatingPointTy()
+ ? new VPInstruction(Instruction::Select, {Cond, Red, PhiR},
+ FMFs)
+ : new VPInstruction(Instruction::Select, {Cond, Red, PhiR});
+ Result->insertBefore(&*Builder.getInsertPoint());
+ if (PreferPredicatedReductionSelect ||
+ TTI.preferPredicatedReductionSelect(
+ PhiR->getRecurrenceDescriptor().getOpcode(), PhiTy,
+ TargetTransformInfo::ReductionFlags()))
+ PhiR->setOperand(1, Result->getVPSingleValue());
+ }
+ // If the vector reduction can be performed in a smaller type, we truncate
+ // then extend the loop exit value to enable InstCombine to evaluate the
+ // entire expression in the smaller type.
+ Type *PhiTy = PhiR->getStartValue()->getLiveInIRValue()->getType();
+ if (PhiTy != RdxDesc.getRecurrenceType()) {
+ assert(!PhiR->isInLoop() && "Unexpected truncated inloop reduction!");
+ Type *RdxTy = RdxDesc.getRecurrenceType();
+ auto *Trunc = new VPWidenCastRecipe(Instruction::Trunc,
+ Result->getVPSingleValue(), RdxTy);
+ auto *Extnd =
+ RdxDesc.isSigned()
+ ? new VPWidenCastRecipe(Instruction::SExt, Trunc, PhiTy)
+ : new VPWidenCastRecipe(Instruction::ZExt, Trunc, PhiTy);
+
+ Trunc->insertAfter(Result);
+ Extnd->insertAfter(Trunc);
+ Result->getVPSingleValue()->replaceAllUsesWith(Extnd);
+ Trunc->setOperand(0, Result->getVPSingleValue());
+ }
}
VPlanTransforms::clearReductionWrapFlags(*Plan);
diff --git a/llvm/tools/llvm-profdata/llvm-profdata.cpp b/llvm/tools/llvm-profdata/llvm-profdata.cpp
index 7d665a800..f6211b726 100644
--- a/llvm/tools/llvm-profdata/llvm-profdata.cpp
+++ b/llvm/tools/llvm-profdata/llvm-profdata.cpp
@@ -905,8 +905,8 @@ remapSamples(const sampleprof::FunctionSamples &Samples,
BodySample.second.getSamples());
for (const auto &Target : BodySample.second.getCallTargets()) {
Result.addCalledTargetSamples(BodySample.first.LineOffset,
- MaskedDiscriminator,
- Remapper(Target.first), Target.second);
+ MaskedDiscriminator, Remapper(Target.first),
+ Target.second);
}
}
for (const auto &CallsiteSamples : Samples.getCallsiteSamples()) {
diff --git a/llvm/tools/llvm-profgen/ProfileGenerator.cpp b/llvm/tools/llvm-profgen/ProfileGenerator.cpp
index c4028e6b1..39295d7ec 100644
--- a/llvm/tools/llvm-profgen/ProfileGenerator.cpp
+++ b/llvm/tools/llvm-profgen/ProfileGenerator.cpp
@@ -585,8 +585,8 @@ void ProfileGenerator::populateBoundarySamplesWithProbesForAllFunctions(
getLeafProfileAndAddTotalSamples(FrameVec, 0);
FunctionProfile.addCalledTargetSamples(
FrameVec.back().Location.LineOffset,
- FrameVec.back().Location.Discriminator,
- FunctionId(CalleeName), Count);
+ FrameVec.back().Location.Discriminator, FunctionId(CalleeName),
+ Count);
}
}
}
@@ -609,8 +609,7 @@ FunctionSamples &ProfileGenerator::getLeafProfileAndAddTotalSamples(
getBaseDiscriminator(FrameVec[I - 1].Location.Discriminator));
FunctionSamplesMap &SamplesMap =
FunctionProfile->functionSamplesAt(Callsite);
- auto Ret =
- SamplesMap.emplace(FrameVec[I].Func, FunctionSamples());
+ auto Ret = SamplesMap.emplace(FrameVec[I].Func, FunctionSamples());
if (Ret.second) {
SampleContext Context(FrameVec[I].Func);
Ret.first->second.setContext(Context);
@@ -901,16 +900,14 @@ void CSProfileGenerator::populateBoundarySamplesForFunction(
CallerNode->getFunctionSamples()->addCalledTargetSamples(
LeafLoc->Location.LineOffset,
getBaseDiscriminator(LeafLoc->Location.Discriminator),
- FunctionId(CalleeName),
- Count);
+ FunctionId(CalleeName), Count);
// Record head sample for called target(callee)
CalleeCallSite = LeafLoc->Location;
}
}
- ContextTrieNode *CalleeNode =
- CallerNode->getOrCreateChildContext(CalleeCallSite,
- FunctionId(CalleeName));
+ ContextTrieNode *CalleeNode = CallerNode->getOrCreateChildContext(
+ CalleeCallSite, FunctionId(CalleeName));
FunctionSamples *CalleeProfile = getOrCreateFunctionSamples(CalleeNode);
CalleeProfile->addHeadSamples(Count);
}
diff --git a/llvm/tools/llvm-profgen/ProfiledBinary.cpp b/llvm/tools/llvm-profgen/ProfiledBinary.cpp
index 6db25b554..b1d690e16 100644
--- a/llvm/tools/llvm-profgen/ProfiledBinary.cpp
+++ b/llvm/tools/llvm-profgen/ProfiledBinary.cpp
@@ -144,9 +144,8 @@ void BinarySizeContextTracker::trackInlineesOptimizedAway(
for (auto &ProbeFrame : reverse(ProbeContext)) {
StringRef CallerName = ProbeFrame.first;
LineLocation CallsiteLoc(ProbeFrame.second, 0);
- SizeContext =
- SizeContext->getOrCreateChildContext(CallsiteLoc,
- FunctionId(CallerName));
+ SizeContext = SizeContext->getOrCreateChildContext(
+ CallsiteLoc, FunctionId(CallerName));
}
// Add 0 size to make known.
SizeContext->addFunctionSize(0);
@@ -840,7 +839,6 @@ void ProfiledBinary::loadSymbolsFromDWARF(ObjectFile &Obj) {
WithColor::warning() << "Loading of DWARF info completed, but no binary "
"functions have been retrieved.\n";
-
// Populate the hash binary function map for MD5 function name lookup. This
// is done after BinaryFunctions are finalized.
for (auto &BinaryFunction : BinaryFunctions) {
diff --git a/llvm/tools/llvm-profgen/ProfiledBinary.h b/llvm/tools/llvm-profgen/ProfiledBinary.h
index 8c607d665..e3c0f399e 100644
--- a/llvm/tools/llvm-profgen/ProfiledBinary.h
+++ b/llvm/tools/llvm-profgen/ProfiledBinary.h
@@ -480,7 +480,7 @@ public:
void setProfiledFunctions(std::unordered_set<const BinaryFunction *> &Funcs) {
ProfiledFunctions = Funcs;
}
-
+
BinaryFunction *getBinaryFunction(FunctionId FName) {
if (FName.isStringRef()) {
auto I = BinaryFunctions.find(FName.str());
diff --git a/llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp b/llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
index ad81a2fcd..35c36f314 100644
--- a/llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
+++ b/llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
@@ -4006,7 +4006,6 @@ TEST(GSYMTest, TestEmptyRangeWarnings) {
EXPECT_TRUE(errors.find("error:") == std::string::npos);
}
-
TEST(GSYMTest, TestEmptyLinkageName) {
// This example has a single compile unit that has a DW_TAG_subprogram that
// has a function that has an empty linkage name and a valid normal name.
@@ -4031,7 +4030,6 @@ TEST(GSYMTest, TestEmptyLinkageName) {
//
// 0x0000002e: NULL
-
StringRef yamldata = R"(
debug_str:
- ''
diff --git a/llvm/unittests/ProfileData/SampleProfTest.cpp b/llvm/unittests/ProfileData/SampleProfTest.cpp
index 3abba4743..fb2be4113 100644
--- a/llvm/unittests/ProfileData/SampleProfTest.cpp
+++ b/llvm/unittests/ProfileData/SampleProfTest.cpp
@@ -254,9 +254,8 @@ struct SampleProfTest : ::testing::Test {
// inline instance for GooName. Test the correct FunctionSamples can be
// found with Remapper support.
const FunctionSamples *ReadGooSamples =
- ReadFooSamples->findFunctionSamplesAt(LineLocation(7, 0),
- GooName.stringRef(),
- Reader->getRemapper());
+ ReadFooSamples->findFunctionSamplesAt(
+ LineLocation(7, 0), GooName.stringRef(), Reader->getRemapper());
ASSERT_TRUE(ReadGooSamples != nullptr);
ASSERT_EQ(502u, ReadGooSamples->getTotalSamples());
@@ -264,9 +263,8 @@ struct SampleProfTest : ::testing::Test {
// no inline instance for GooName. Test no FunctionSamples will be
// found with Remapper support.
const FunctionSamples *ReadGooSamplesAgain =
- ReadFooSamples->findFunctionSamplesAt(LineLocation(9, 0),
- GooName.stringRef(),
- Reader->getRemapper());
+ ReadFooSamples->findFunctionSamplesAt(
+ LineLocation(9, 0), GooName.stringRef(), Reader->getRemapper());
ASSERT_TRUE(ReadGooSamplesAgain == nullptr);
// The inline instance of Hoo is inside of the inline instance of Goo.
@@ -274,9 +272,8 @@ struct SampleProfTest : ::testing::Test {
// inline instance for HooName. Test the correct FunctionSamples can be
// found with Remapper support.
const FunctionSamples *ReadHooSamples =
- ReadGooSamples->findFunctionSamplesAt(LineLocation(9, 0),
- HooName.stringRef(),
- Reader->getRemapper());
+ ReadGooSamples->findFunctionSamplesAt(
+ LineLocation(9, 0), HooName.stringRef(), Reader->getRemapper());
ASSERT_TRUE(ReadHooSamples != nullptr);
ASSERT_EQ(317u, ReadHooSamples->getTotalSamples());
@@ -307,7 +304,7 @@ struct SampleProfTest : ::testing::Test {
FunctionSamples *ReadBooSamples = Reader->getSamplesFor(BooName);
ASSERT_TRUE(ReadBooSamples != nullptr);
ASSERT_EQ(1232u, ReadBooSamples->getTotalSamples());
-
+
FunctionId MconstructRep = getRepInFormat(MconstructName);
FunctionId StringviewRep = getRepInFormat(StringviewName);
ASSERT_EQ(1000u, CTMap.get()[MconstructRep]);
diff --git a/llvm/unittests/Support/UTCTimeTest.cpp b/llvm/unittests/Support/UTCTimeTest.cpp
index 64e04d293..aa2b8716d 100644
--- a/llvm/unittests/Support/UTCTimeTest.cpp
+++ b/llvm/unittests/Support/UTCTimeTest.cpp
@@ -7,10 +7,10 @@
//===----------------------------------------------------------------------===//
#include "llvm/Support/Chrono.h"
-#include "gtest/gtest.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/FormatProviders.h"
#include "llvm/Support/FormatVariadic.h"
+#include "gtest/gtest.h"
namespace llvm {
namespace sys {
@@ -34,7 +34,6 @@ TEST(UTCTime, convertutc) {
// Compare the formatted strings.
EXPECT_EQ(customResultString, StringRef(gmtimeResultString, 19));
-
}
} // namespace
} // namespace sys
diff --git a/llvm/utils/TableGen/X86RecognizableInstr.cpp b/llvm/utils/TableGen/X86RecognizableInstr.cpp
index 962da623b..d4966bce9 100644
--- a/llvm/utils/TableGen/X86RecognizableInstr.cpp
+++ b/llvm/utils/TableGen/X86RecognizableInstr.cpp
@@ -791,7 +791,9 @@ void RecognizableInstr::emitDecodePath(DisassemblerTables &tables) const {
case X86Local::ThreeDNow: opcodeType = THREEDNOW_MAP; break;
case X86Local::T_MAP5: opcodeType = MAP5; break;
case X86Local::T_MAP6: opcodeType = MAP6; break;
- case X86Local::T_MAP7: opcodeType = MAP7; break;
+ case X86Local::T_MAP7:
+ opcodeType = MAP7;
+ break;
}
std::unique_ptr<ModRMFilter> filter;
diff --git a/llvm/utils/TableGen/X86RecognizableInstr.h b/llvm/utils/TableGen/X86RecognizableInstr.h
index 38bca87bf..a3222dc5f 100644
--- a/llvm/utils/TableGen/X86RecognizableInstr.h
+++ b/llvm/utils/TableGen/X86RecognizableInstr.h
@@ -136,8 +136,17 @@ namespace X86Local {
};
enum {
- OB = 0, TB = 1, T8 = 2, TA = 3, XOP8 = 4, XOP9 = 5, XOPA = 6, ThreeDNow = 7,
- T_MAP5 = 8, T_MAP6 = 9, T_MAP7 = 10
+ OB = 0,
+ TB = 1,
+ T8 = 2,
+ TA = 3,
+ XOP8 = 4,
+ XOP9 = 5,
+ XOPA = 6,
+ ThreeDNow = 7,
+ T_MAP5 = 8,
+ T_MAP6 = 9,
+ T_MAP7 = 10
};
enum {
diff --git a/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.h b/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.h
index ebbc52212..15f1fa0e5 100644
--- a/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.h
+++ b/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.h
@@ -1,5 +1,5 @@
//===- SparseTensorInterfaces.h - sparse tensor operations
-//interfaces-------===//
+// interfaces-------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
diff --git a/mlir/lib/TableGen/Constraint.cpp b/mlir/lib/TableGen/Constraint.cpp
index 4ccbd0a68..bc1842022 100644
--- a/mlir/lib/TableGen/Constraint.cpp
+++ b/mlir/lib/TableGen/Constraint.cpp
@@ -30,7 +30,7 @@ Constraint::Constraint(const llvm::Record *record)
kind = CK_Region;
} else if (def->isSubClassOf("SuccessorConstraint")) {
kind = CK_Successor;
- } else if(!def->isSubClassOf("Constraint")) {
+ } else if (!def->isSubClassOf("Constraint")) {
llvm::errs() << "Expected a constraint but got: \n" << *def << "\n";
llvm::report_fatal_error("Abort");
}
|
Currently, places where we call __libcpp_allocate must drop type information on the ground even when they actually have such information available. That is unfortunate since some toolchains and system allocators are able to provide improved security when they know what type is being allocated. This is the purpose of http://wg21.link/p2719, where we introduce a new variant of `operator new` which takes a type in its interface. A different but related issue is that `std::allocator` does not honor any in-class `T::operator new` since it is specified to call the global `::operator new` instead. This patch closes the gap to make it trivial for implementations that provide typed memory allocators to actually benefit from that information in more contexts, and also makes libc++ forward-compatible with future proposals that would fix the existing defects in `std::allocator`. It also makes the internal allocation API higher level by operating on objects instead of operating on bytes of memory. Since this is a widely-used function and making this a template could have an impact on debug info sizes, I tried minimizing the number of templated layers by removing `__do_deallocate_handle_size`, which was easy to replace with a macro (and IMO this leads to cleaner code).
We had a 15 year old occurence of __uint32_t, likely from a time when uint32_t was not available everywhere.
This extension is questionable and non-conforming. Perhaps we should deprecate and then remove it. Towards #112856.
…CAT is free (#122485) This extends the existing fold which concatenates X and Y if they are sequential subvectors extracted from the same source. By using combineConcatVectorOps we can recognise other patterns where X and Y can be concatenated for free (e.g. sequential loads, concatenating repeated instructions etc.), which allows the VPERMV3 fold to be a lot more aggressive. This required combineConcatVectorOps to be extended to fold the additional case of "concat(extract_subvector(x,lo), extract_subvector(x,hi)) -> extract_subvector(x)", similar to the original VPERMV3 fold where "x" was larger than the concat result type. This also exposes more cases where we have repeated vector/subvector loads if they have multiple uses - e.g. where we're loading a ymm and the lo/hi xmm pairs independently - in the past we've always considered this to be relatively benign, but I'm not certain if we should now do more to keep these from splitting?
This fixes the misaligned display of addresses for this p_type. Previous: ``` STACK off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**64 filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw- PROPERTY off 0x0000000000000358 vaddr 0x0000000000000358 paddr 0x0000000000000358 align 2**3 filesz 0x0000000000000020 memsz 0x0000000000000020 flags r-- NOTE off 0x0000000000000334 vaddr 0x0000000000000334 paddr 0x0000000000000334 align 2**2 filesz 0x0000000000000020 memsz 0x0000000000000020 flags r-- ``` After: ``` STACK off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**64 filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw- PROPERTY off 0x0000000000000358 vaddr 0x0000000000000358 paddr 0x0000000000000358 align 2**3 filesz 0x0000000000000020 memsz 0x0000000000000020 flags r-- NOTE off 0x0000000000000334 vaddr 0x0000000000000334 paddr 0x0000000000000334 align 2**2 filesz 0x0000000000000020 memsz 0x0000000000000020 flags r-- ```
…122489) This follows the same path we've been doing for all platforms so far, moving away from the old definition of the locale base API. Co-authored-by: Daniel Thornburgh <[email protected]>
…h python 3.8 and old pybind11 (#122697) Description: - Remove StandaloneExtensionPybind11.cpp FT update as does not work with python 3.8 and old pybind11 This should also fix the failing toy.test: #122684 (comment) cc @jpienaar
…#120235) This patch adds several instructions seen when trying to run a executable built with ASan with llvm-mingw. (x86 and x86_64, using the git tip in llvm-project). Also includes instructions collected by Roman Pišl and Eric Pouech in the Wine bug reports below. ``` Related: #96270 Co-authored-by: Roman Pišl <[email protected]> https://bugs.winehq.org/show_bug.cgi?id=50993 https://bugs.winehq.org/attachment.cgi?id=70233 Co-authored-by: Eric Pouech <[email protected]> https://bugs.winehq.org/show_bug.cgi?id=52386 https://bugs.winehq.org/attachment.cgi?id=71626 ``` CC: @zmodem
Reverts #110657 It seems that this patch is causing the sanitizer bot to fail. Reverting while I investigate
…hared_mutex (#107876) Holding the associated lock while calling notify_* on a condition_variable is generally considered a pessimization, as the notified thread might "instantly" wake up, notice that it can't acquire the lock, and then goes back to sleep.
The function `selectImageWriteIntrinsic` and `selectReadImageIntrinsic` are void functions. The should return true if they succeed, and false otherwise. This commit updates the code to do this.
If the buildvector node fully matched another node, need to exclude subvectors, when building final shuffle, just a shuffle of the original node must be emitted. Fixes #122584
Original pull request [here](#108385) Fixes issue #105960 If a member in a struct is also a struct, accessing a member partway through this inner struct currently causes a false positive. This is because when checking aliasing, the access offset is seen as greater than the starting offset of the inner struct, so the loop continues one iteration, and believes we are accessing the member after the inner struct. The next member's offset is greater than the offset we are looking for, so when we subtract the next member's offset from what we are looking for, the offset underflows. To fix this, we check if the member we think we are accessing has a greater offset than the offset we are looking for. If so, we take a step back. We cannot do this in the loop, since the loop does not check the final member. This means the penultimate member would still cause false positives.
- **[InstCombine] Add tests for folding `(ct{t,l}z Pow2)`; NFC** - **[InstCombine] Fold `(ct{t,l}z Pow2)` -> `Log2(Pow2)`** Do so we can find `Log2(Pow2)` for "free" with `takeLog2` https://alive2.llvm.org/ce/z/CL77fo
) In JAX, I observed a race between two PyOperation destructors from different threads updating the same `liveOperations` map, despite not intentionally sharing the context between different threads. Since I don't think we can be completely sure when GC happens and on which thread, it seems safest simply to add locking here. We may also want to explicitly support sharing a context between threads in the future, which would require this change or something similar.
This patch is to handle the alignment requirement for the `bind(c)` derived type component that is real type and larger than 4 bytes. The alignment of such component is 4-byte.
…22717) Trying to constrain two results to be of the same type using `AllTypesMatch` would cause `mlir-tablgen` to crash on this assertion[1]. Example: ```tblgen def OpL5 : NS_Op<"op_with_same_but_unconstraint_results", [AllTypesMatch<["result_a", "result_b"]>]> { let results = (outs AnyType:$result_a, AnyType:$result_b); } ``` This is because there was a small bug when constructing the `inferences` graph from these constraints: The sources should be specified by the combined arg/result index (in other words, with results negative) not with the result index. [1] https://github.com/llvm/llvm-project/blob/99612a3a18e0c40aac9c52b68e67b106f97ed4fa/mlir/lib/TableGen/Operator.cpp#L526
This patch adds test for [CWG170](https://cplusplus.github.io/CWG/issues/170.html). The resolution adds explicit undefined behavior, so I think the best we can do is to put the test into constexpr evaluator. Change to [expr.static.cast] is not tested, because it was a drive-by fix that removed an impossible case (I confirmed it using minutes). Minutes mention several times a comprehensive paper in this design space which no one seem to remember. I believe it's [P0149R0](https://wg21.link/p0149r0) "Generalised member pointers".
Create an abstraction over isImplied{True,False}ByMatchingCmp to faithfully communicate the result of both functions, cleaning up code in callsites. While at it, fix a bug in the implied-false version of the function, which was inadvertedenly dropping samesign information.
The 20204-12 ISA update release adds a new feature: FEAT_SSVE_BitPerm, which allows the sve-bitperm instructions to run in streaming mode. It also removes the requirement of FEAT_SVE2 for FEAT_SVE_BitPerm. The sve2-bitperm feature is now an alias for sve-bitperm and sve2. A new feature flag sve-bitperm is added to reflect the change that the instructions under FEAT_SVE_BitPerm are supported if: on non streaming mode with FEAT_SVE2 and FEAT_SVE_BitPerm or in streaming mode with FEAT_SME and FEAT_SSVE_BitPerm
…122639) Support discovering LLVM, Clang and MLIR via the standard CMake logic in addition to explicitly specified `LLVM_DIR`, etc. To prevent breaking anyone's workflow the way #120914 did, this change explicitly introduces two possible code paths based on variables provided: 1. If `LLVM_DIR`, etc. are defined, the current logic is used as-is. 2. If they are not defined, `find_package()` is called normally to discover the packages using the standard CMake logic, and the discovered paths are added --------- Co-authored-by: Slava Zakharin <[email protected]>
…121988) true16 codegen pattern for v_pack_b32_f16
A direct access READ that tries to read past the end of the file must recover the error via an ERR= label, not an END= label (which is not allowed to be present). Fixes #122150.
Always assume that predefined unit 0 is a terminal, so that output to it is never buffered.
A module can't USE itself, either directly within the top-level module or from one of its submodules. Add a test for this case (which we already caught), and improve the diagnostic for the more confusing case involving a submodule.
Commas being optional in FORMAT statements, the tokenization of things like 3I9HHOLLERITH is tricky. After tokenizing the initial '3', we don't want to then take apparent identifier "I9HHOLLERITH" as the next token. So the prescanner just consumes the letter ("I") as its own token in this context. A recent bug report complained that this can lead to incorrect results when (in this case) the letter is a defined preprocessing macro. I updated the prescanner to check that the letter is actually followed by an instance of a problematic Hollerith literal. And this broke two tests in the Fujitsu Fortran test suite that Linaro runs, as it couldn't detect a following Hollerith literal that wasn't on the same source line. We can't do look-ahead line continuation processing in NextToken(), either. So here's a second attempt at fixing the original problem: namely, the letter that follows a decimal integer token is checked to see whether it's the name of a defined macro.
Instead of "Cannot read ...", distinguish true errors in finding and parsing module files from problems with unexpected hash codes by using "Cannot parse" or "Cannot use" wording as appropriate.
#122921) We were seeing occasional test failures with expensive checks enabled. The issue was tracked down to a `sort` which should instead be a `stable_sort` to ensure determinism. Checked locally and the non-determinism went away.
…with explicit `this` (#122897) We currently don't emit `DW_AT_object_pointer` on function declarations or definitions. GCC suffers from the same issue: https://godbolt.org/z/h4jeT54G5 Fixing this will help LLDB in identifying static vs. non-static member functions (see #120856). If I interpreted the DWARFv5 spec correctly, it doesn't mandate this attribute be present *only* for implicit object parameters: ``` If the member function entry describes a non-static member function, then that entry has a DW_AT_object_pointer attribute whose value is a reference to the formal parameter entry that corresponds to the object for which the function is called. That parameter also has a DW_AT_artificial attribute whose value is true. ``` This patch attaches the `DW_AT_object_pointer` for function *defintions*. The declarations will be handled in a separate patch. The part about `DW_AT_artificial` seems overly restrictive, and not true for explicit object parameters. We probably should relax this part of the DWARF spec. Partially fixes #120974
…vailable (#114667) There doesn't seem to be much benefit in always providing declarations for the sized deallocations from C++14 onwards if the user explicitly passed `-fno-sized-deallocation` to disable them. This patch simplifies the declarations to be available exactly when the compiler expects sized deallocation functions to be available.
Added `# keep sorted` to a couple of long-ish lists of files that buildifier didn't automatically sort by default. Changed a couple of one-element `toolchains` attributes to the single-line format.
PointerUnion's `is`, `get`, and `dyn_cast` have been deprecated in favour of using `isa`, `cast`, and `dyn_cast` directly. Migrate these uses over.
Adds: 1. tosa shape type to Tosa dialect e.g., !tosa.shape<4> is a type for rank-4 shape values (size-4 array of index values) 2. const_shape operator 3. trait TosaShapeOperator, added to tosa shape operators, and a verifier that all operands and results of operator are tosa shapes 4. trait TosaResolvableShapeOperands, added to all tosa operators, and a verifier that every tosa shape operand is produced by a tosa shape operator (indicated by trait TosaShapeOperator) 5. trait TosaShapeOperatorWithSameRanks, added to Tosa_ElementwiseShapeOp and a verifier that all operands and result shapes have same ranks 5. changed TileOp's multiples from attribute to input, of !tosa.shape type. 6. add folder for tosa ConstShape operator This patch was originally authored by Tai Ly <[email protected]> Signed-off-by: Jerry Ge <[email protected]> Signed-off-by: Tai Ly <[email protected]>
…#122946) The ThinLTO index bitcode writer uses a helper forEachSummary to manage preparation and writing of summaries needed for each distributed index file. For alias summaries, it invokes the provided callback for the aliasee as well, as we at least need to produce a value id for the alias's summary. However, all summary generation for the aliasee itself should be skipped on calls when IsAliasee is true. We invoke the callback again if that value's summary is to be written as well. We were asserting in debug mode when invoking collectMemProfCallStacks, because a given stack id index was not in the StackIdIndicesToIndex map. It was not added because the forEachSummary invocation that records these ids in the map (invoked from the IndexBitcodeWriter constructor) was correctly skipping this handling when invoked for aliasees. We need the same guard in the invocation that calls collectMemProfCallStacks. Note that this doesn't cause any real problems in a non-asserts build as the missing map lookup will return the default 0 value from the map, which isn't used since we don't actually write the corresponding summary.
…0300) The first API is clang_visitCXXBaseClasses: this allows visiting the base classes without going through the generic child visitor (which is awkward, and doesn't work for template instantiations). The second API is clang_getOffsetOfBase; this allows computing the offset of a base in the class layout, the same way clang_Cursor_getOffsetOfField computes the offset of a field. Also, add a Python binding for the existing function clang_isVirtualBase.
Currently we fail to detect the case where BTC + 1 wraps, i.e. the vector trip count is 0, In those cases, the minimum iteration count check will fail, and the vector code will never be executed. Explicitly check for this condition in computeMaxVF and avoid trying to vectorize alltogether. Note that a number of tests needed to be updated, because the vector loop would never be executed given the input IR. Fixes #122558.
…122801) For MinGW environments, the regular C/C++ toolchains usually use "w64" for the vendor field in triples, while Rust toolchains usually use "pc" in the vendor field. The differences in the vendor field have no bearing on whether the IR is compatible on this platform. (This probably goes for most other OSes as well, but limiting the scope of the change to the specific case.) Add a unit test for the isCompatibleWith, including some existing test cases found in existing tests.
Fixes on 32-bit hosts.
Note that PointerUnion::dyn_cast has been soft deprecated in PointerUnion.h: // FIXME: Replace the uses of is(), get() and dyn_cast() with // isa<T>, cast<T> and the llvm::dyn_cast<T> Literal migration would result in dyn_cast_if_present (see the definition of PointerUnion::dyn_cast), but this patch uses dyn_cast because we expect Source to be nonnull.
Note that PointerUnion::dyn_cast has been soft deprecated in PointerUnion.h: // FIXME: Replace the uses of is(), get() and dyn_cast() with // isa<T>, cast<T> and the llvm::dyn_cast<T> Literal migration would result in dyn_cast_if_present (see the definition of PointerUnion::dyn_cast), but this patch uses dyn_cast because we expect DeclOrVector to be nonnull.
) Note that PointerUnion::dyn_cast has been soft deprecated in PointerUnion.h: // FIXME: Replace the uses of is(), get() and dyn_cast() with // isa<T>, cast<T> and the llvm::dyn_cast<T> Literal migration would result in dyn_cast_if_present (see the definition of PointerUnion::dyn_cast), but this patch uses dyn_cast because we expect Storage to be nonnull.
…e database (#120348) A change list may include files that are not part of the compile database, which can cause clang-tidy to fail (e.g., due to missing included headers). To prevent false negatives, we should allow to skip processing these files.
…normalize` (#122935) Currently, the output of `Triple::normalize` can vary depending on how the `Triple` object is constructed, producing a 3-field, 4-field, or even 5-field string. However, there is no way to control the format of the output, as all forms are considered canonical according to the LangRef. This lack of control can be inconvenient when a specific format is required. To address this, this PR introduces an argument to specify the desired format (3, 4, or 5 identifiers), with the default set to none to maintain the current behavior. If the requested format requires more components than are available in the actual `Data`, `"unknown"` is appended as needed.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )