This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch stable in repository llvm.
from 64184ec178e Creating branches/google/testing and tags/google/testing/20 [...] adds 652842ec9ac [mips] Use register scavenging with MSA. adds a223e909914 [X86] Fix bug in legalize vector types - Split large loads adds f08c3d1d13d [ExpandMemCmp] Split ExpandMemCmp from CodeGen into its own pass. adds c0222867301 Revert "[ExpandMemCmp] Split ExpandMemCmp from CodeGen into [...] adds 2880b72d32a [RS4GC] Strip off invariant.start because memory locations [...] adds 685fd434908 Revert "[RS4GC] Strip off invariant.start because memory lo [...] adds 9cca1f183a2 [dsymutil] Add a manpage for dsymutil adds 0416327f197 [TargetParser][AArch64] Reorder enum to preserve 5.0.0 libL [...] adds 4c88213d82f Fixed line length style issue. adds 0c059eff813 Strip off invariant.start because memory locations arent invariant adds 2f759d471a7 [dsymutil][doc] Improve wording in manpage and rename file. adds 161385fddde [X86] Change getHostCPUName fallback code to not select 'x8 [...] adds 2bbdf002305 [X86] Simplify the pentium4 code in getHostCPUName to be ba [...] adds ce68f2c6292 [test] Move llvm-lib tests into tools/llvm-lib. NFC. adds 15f5deb8cb6 Fix llvm-dsymutil test in -DLLVM_ENABLE_THREADS=OFF mode adds c626458f762 [cmake] Remove policy conditionals adds 37bbee84d83 AMDGPU: Remove outdated fixme (it was already fixed) adds 2e63034efd7 Add missing header guards. adds b69a2a9ae35 [LoopPredication] Enable predication when latchCheckIV is w [...] adds dc666ea9df6 Clean up comments in include/llvm-c/DebugInfo.h adds fbb50d9079f [tools] Add option to install binutils symlinks adds da35e5e8bec [Hexagon] Prefer L2_loadrub_io over L4_loadrub_rr adds dd33e177dd8 Irreducible loop metadata for more accurate block frequency [...] adds f79fab6f98f AMDGPU: Fix warning discovered by r317266 [-Wunused-private-field] adds 56898c12450 Add feature to determine if host architecture is 64-bit in [...] adds a555cf06835 IndVarSimplify: preserve debug information attached to wide [...] adds 6d06c893037 [X86] Give AVX512VL instructions priority over their AVX eq [...] adds 89fd072604f [llvm-objcopy] Fix bug in how segment alignment was being handled adds 0ae3f32f564 mir-canon: First commit. adds 87cdca2231e [AArch64][RegisterBankInfo] Add FPR16 support in value mapping. adds d8375d73687 [AArch64][RegisterBankInfo] Add mapping for G_FPEXT. adds b57c6f4150d [Verifier] Remove the -verify-debug-info cl::opt adds c7ddffcd329 Reland "Add feature to determine if host architecture is 64 [...] adds 1bd292583c0 Avoid PLT for external calls when attribute nonlazybind is used. adds 931b3020257 [LSR] Clarify a comment. NFC. adds 06d5ebdc631 [TableGen] Add an extra blank line to DAGISel output file t [...] adds c43a693efb0 [X86] Remove PALIGNR/VALIGN handling from combineBitcastFor [...] adds 37104fff45a [llvm-nm] Print 'I' for import table data in COFF adds f30757f3b07 [llvm-nm] Don't error out on multiple occurrances of the -g [...] adds 691ff5f8503 [NFC] Get rid of hard-coded value ID in test adds 19a3ba35df2 [AArch64] Use dwarf exception handling on MinGW adds ba9125e489d [PEI] Simplify handling of targets with no phys regs. NFC adds 74ecc3ab6b5 [Analysis] Refine matching and merging of TBAA tags adds 52811121613 [ARM GlobalISel] Move the check for Thumb higher up adds a7372f15c92 [globalisel][tablegen] Skip src child predicates adds 6cd2a99eb67 [PartialInliner] Skip call sites where inlining fails. adds eb7c044ce99 [X86][SSE] Add PACKUS support to combineVectorTruncation adds 3d456013b6b re-land [ExpandMemCmp] Split ExpandMemCmp from CodeGen into [...] adds 9e5188ca177 [ADCE] Use MapVector for BlockInfo to make iteration order [...] adds c9ed638d214 [LoopPredication] NFC: Refactored code to separate out func [...] adds d1f487bc595 Fix for Bug 34475 - LOCK/REP/REPNE prefixes emitted as inst [...] adds 876a9b9b65e [mips] Match 'ins' and its' variants with C++ code adds d16b502afd1 [SLP] Test for PR23510, NFC. adds 7c2eb4ec8b2 [LICM] sink through non-trivially replicable PHI adds 604f04f397e Invoke salvageDebugInfo from CodeGenPrepare's SinkCast() adds 761cb9cc0a2 [X86] Initialize Type and Subtype in getHostCPUName to 0. adds aaf1db11f9e [CodeGen] Remove unnecessary semicolons to fix a warning. NFC adds 6a8da4f6fee Revert "Invoke salvageDebugInfo from CodeGenPrepare's SinkCast()" adds aba0da108e9 The patch fixes PR35131 adds 8f805056c27 [AArch64] Fix the number of iterations for the Newton series adds a8631b87aef [llvm-objcopy] Add support for dwarf fission adds 1b91c5e8aad Add CallSiteSplitting pass adds 06dbf5ad006 Reland "Add support for writing 64-bit symbol tables for ar [...] adds c86c85f907f Revert "Add CallSiteSplitting pass" adds b24883f402d [X86] Promote athlon, athlon-xp, k8, and k8-sse3 to types i [...] adds b72a3a9da43 [cfi-verify] Add an interesting unit test where undef searc [...] adds bdc30c02fb2 Add llvm::for_each as a range-based extensions to <algorith [...] adds 2619256bd71 Correcting some CRLFs that snuck in with my previous commit; NFC. adds af481e4f940 [llvm-ar] Support an options string that start with a dash adds ceb5b1b4346 Modularize: Include some required headers adds f4beb75be0f Recommit r317351 : Add CallSiteSplitting pass adds 79eed6909a1 [cfi-verify] Add blacklist parsing for result filtering. adds 352adf2ec9c llvm-objdump: Fix unused-lambda-capture warning by removing [...] adds 7711c315b29 GCOV: Move GCOV from IR & Support into ProfileData to fix layering adds 4fedc84270a [SimplifyCFG] When merging conditional stores, don't count [...] adds 9cf32a0f1d2 Revert r317046, "Object: Move some code from ELF.h into ELF.cpp." adds ce8f24e6d75 Fix a crash in llvm-objdump when printing a bad x86_64 relo [...] adds cdc57825ed6 [LTO][ThinLTO] Use the linker resolutions to mark global va [...] adds 29c52e4fc98 Invoke salvageDebugInfo from CodeGenPrepare's SinkCast() adds 803f827385f Move TargetFrameLowering.h to CodeGen where it's implemented adds be2858c001c [X86] Give unary PERMI priority over SHUF128 in lowerV8I64V [...] adds 1024a3777d9 [CallSiteSplitting] Silence GCC's -Wparentheses. NFCI. adds f0732934fcd [CallSiteSplitting] clang-format my last commit. NFCI. adds f1b2e0b26a4 Revert "[LTO][ThinLTO] Use the linker resolutions to mark g [...] adds ac439ba1eaa llvm/test/Object/archive-SYM64-write.test: Delete large tem [...] adds 5473af66611 CMake: Let LLVM_BUILD_32_BITS aware of large file. adds 19bc3f9a843 [X86] Teach shuffle lowering to use 256-bit SHUF128 when possible. adds ce4da272347 llvm/test/lit.cfg.py: Don't set the feature "llvm-64-bits" [...] adds dcf1ffe8a08 [LTO][ThinLTO] Use the linker resolutions to mark global va [...] adds 35934f8100a [AMDGPU] Remove hardcoded address space value from AMDGPULibFunc adds e775c347e59 [X86] Teach EVEX->VEX pass to turn SHUFI32X4/SHUFF32X4/SHUF [...] adds cf0e1f6fa73 [X86] Regenerate a couple more tests that I missed in r317410. adds 1b23a75d3e2 [X86] Don't use RCP14 and RSQRT14 for reciprocal estimation [...] adds 010bb80a59a Move these CMake projects into the Tests folder on IDEs lik [...] adds 33cfb89938b Move the LLVMCFIVerify project into the Libraries folder on [...] adds 3639f551552 Move the srpm, ocaml_make_directory, llvm_vcsrevision_h, an [...] adds 60528d6193e Move the llvm-tblgen project into the Tablegenning folder o [...] adds 73fca577073 Use code voice for DIBuilder in LLVM C API adds c80a0ef3c0c [X86][AVX] Regenerate test. NFCI. adds 30669bbc403 [CGP] Extends the scope of optimizeMemoryInst optimization adds 6479e734e3c [CGP] Extends the scope of optimizeMemoryInst optimization. NFC adds d3469412e0c [CGP] Fix the bug found by asan. adds 1511d2e7fef [LV][X86] update the cost of interleaving mem. access of floats adds 08eb02abdb5 [REVERT][LV][X86] update the cost of interleaving mem. acce [...] adds ee9947c063c [SLPVectorizer] minimize tests and auto-generate full checks; NFC adds ee5e3180393 [LV/LAA] Avoid specializing a loop for stride=1 when this p [...] adds 56069612804 [X86][SSE] Tests for integer min/max horizontal reductions adds f99fcce45b7 [X86] Fix outdated comment. NFC adds 3594a87170e [X86] Remove some more RCP and RSQRT patterns from InstrAVX [...] adds d864a8df8f6 [X86] Add missing predicate to a pattern. NFC adds c8200b76884 [PassManager, SimplifyCFG] Revert r316908 and r316869. adds 67a801250fe [X86] Use EVEX encoded instructions for legacy scalar sqrt [...] adds 105371319b2 [X86] Simplify command lines on the fma-instrinsics-x86.ll [...] adds 9b9ae41a885 [X86] Add avx512vl command line to fma-instrinsics-x86.ll adds af14030ea20 [X86] Add scalar FMA ISD nodes without rounding mode. NFC adds f9f3d363763 [X86] Use EVEX encoded intrinsics for legacy FMA intrinsics [...] adds 2513e7c5ce7 adding a pattern for broadcastm adds 028edca1226 [x86][AVX512] Lowering Broadcastm intrinsics to LLVM IR adds 8738ed486fb [ObjectYAML] Map relocation types for COFF ARMNT and ARM64 adds 708a132cbc0 [test] Add test files that were missed from SVN r317459 adds 150ca1191c0 Revert "adding a pattern for broadcastm" adds 807235c9ea1 X86 ISel: Basic support for variable-index vector permutations adds 16b230fc73d [X86] Replace duplicate function call with variable. NFC adds d8ea26422cf [X86][AVX512] Improve lowering of AVX512 test intrinsics adds d64a5991124 Fixed dead links in WritingAnLLVMPass.rst adds 194c54be450 [mips] Fix PR35140 adds 84066df4d90 [LV][X86] update the cost of interleaving mem. access of floats adds 2b2534cd857 [docs] Update code block for compatibility with Sphinx 1.5.1 adds dfaa4d2c2bc [mips] Add movep for microMIPS32R6 and fix microMIPS32r3 version adds 13a223e6e62 [AMDGPU] Fix assertion due to assuming pointer in default a [...] adds 044ea898ddf [SystemZ] implement hasDivRemOp() adds ec1f0cc416a [AMDGPU] Change alloca addr space of r600 to 5 for amdgiz e [...] adds 6e1c5e0143d [X86][SSE] Combine EXTRACT_VECTOR_ELT with combineExtractWi [...] adds d27af430ac1 [SLP] Test for PR35047, NFC. adds ae8a0007cb8 [X86][SSE] Merge combineExtractVectorElt_SSE into combineEx [...] adds 00e900afdbd [IR] redefine 'UnsafeAlgebra' / 'reassoc' fast-math-flags a [...] adds 94bed7d9687 Canonicalize spelling of long-form-options in dsymutil.rst adds bd04b64cd12 AMDGPU: Select v_mad_u64_u32 and v_mad_i64_i32 adds 6e029979011 Make MCAsmBackend and MCCodeEmiiter passed by unique_ptr rval adds 416cdcce390 [PPC] Use xxbrd to speed up bswap64 adds 0ec29cbb9c9 [cfi-verify] Added a simple check that stops division-by-ze [...] adds 561a742524f Include already promoted counts when computing SUM for VP. adds 20a90ab7468 Adds code to PPC ISEL lowering to recognize byte inserts fr [...] adds e005ea7d878 Fix buildbot breakages from r317503. Add parentheses to as [...] adds 82cd943eb1d update_mir_test_checks: Be careful about replacing entire vregs adds aceaaf0aecb [InstCombine] Pull shifts through a select plus binop with [...] adds 4cbab70b625 [MIRPrinter] Use %subreg.xxx syntax for subregister index operands adds cebfaaf903b Fix comment /NFC adds 2c99ae89abb Revert r316064 "Fix the incorrect detection of ICONV_LIBRARY_PATH" adds e209a1a12de Revert r317510 "[InstCombine] Pull shifts through a select [...] adds 618cf290880 [ValueTracking] readonly (const) is a requirement for conve [...] adds 490bc3940dd [X86] Make FeatureAVX512 imply FeatureFMA. adds acf8758c20c [X86] Make FeatureAVX512 imply FeatureF16C. adds 790be31f8c5 InstCombine: salvage the debug info of DCE'ed add instructions. adds b67df9f5a06 [Support][Chrono] Use explicit cast of text output of time values. adds 0ffa8796b2c [DebugInfo] Unify logic to merge DILocations. NFC. adds db6cc311a07 AMDGPU: Remove redundant combine adds 964a48a5b6b [IPO/LowerTypesTest] Skip blockaddress(es) when replacing uses. adds ed2657e43a7 [XRay] Minimal tool to convert xray traces to Chrome's Trac [...] adds 0227fe59a98 Make DIExpression::createFragmentExpression() return an Optional. adds 59aa4918d09 [Support/UNIX] posix_fallocate() can fail with EINVAL. adds 0b9dcde0fae [X86] Remove 'Requires' from instructions with no patterns. NFC adds f14ad9a908a [X86] Use IMPLICIT_DEF in VEX/EVEX vcvtss2sd/vcvtsd2ss patt [...] adds 60b616c374b [X86] Add AVX512VL command line to f16c intrinsic test to s [...] adds 0c6a9e1d8e3 [X86] Add support for using EVEX instructions for the legac [...] adds bfc01346197 [X86] Remove alignment from a load in the f16c intrinsic te [...] adds 2765e2df21a [X86] Add a test for a 128-bit vector load feeding a cvtph2 [...] adds 7f4581842bd [X86] Add patterns for folding a v16i8 with the VEX vcvtph2 [...] adds c305f3d45a5 [X86] Add patterns to fold a 64-bit load into the EVEX vcvt [...] adds c1c411e7a86 [X86] Don't clobber reserved registers with stack adjustments adds 51bcf5f4a57 [docs][ARM] Add HowTo for cross compiling and testing compi [...] adds e82a7f1476b [CGP] Disable Select instruction handling in optimizeMemory [...] adds b79469ca2fb [GlobalISel] Enable legalizing non-power-of-2 sized types. adds 8aa5d0fb6a1 [AArch64][SVE] Asm: Extend EnforceVectorSubVectorTypeIs to [...] adds 55f6a859ccb Silence C4715 warning from MSVC (NFC). adds c5e08cf67c8 [AArch64][SVE] Asm: Replace 'IsVector' by 'RegKind' in AArc [...] adds 1ed4428b8f0 [X86] Regenerate select tests adds 7c37aa1189e Add a -D flag to FileCheck to define variables adds 81d5ecb65cb Mark intentional fall-through with LLVM_FALLTHROUGH. adds 25ff19d87a3 [SLP] Fix PR35047: Fix default cost model for cast op in X86. adds d142ab12fc9 Silence MSVC error C2398 adds 8cec6c49168 Reland "Correct dwarf unwind information in function epilog [...] adds 861d2963c7a [AArch64][SVE] Asm: Set SVE as unsupported feature for exis [...] adds 70b92b659fe [SelectionDAG] Fix typo in comment. NFC adds 6cf02b953eb [AArch64][SVE] Asm: Add SVE (Z) Register definitions and pa [...] adds 99835246622 [AArch64][SVE] Asm: Add support for (ADD|SUB)_ZZZ adds 5933b2471c8 [Hexagon] Make a test more flexible in HexagonLoopIdiomRecognition adds 3c64d8ff3ae [InstCombine] Update stale comment. NFC adds 7e1904e9c8a Recommit r317510 "[InstCombine] Pull shifts through a selec [...] adds e9d757c19ed [DWARFv5] Support DW_FORM_strp in the .debug_line header. adds a2fd1c7e77b [DWARFv5] Add new test for previous commit. adds 2725af04109 Convert a dwarfdump test from checked-in binary to assemble [...] adds 5363e7a31e7 Use new vector insert half-word and byte instructions when [...] adds c062c8dc61d [CodeGenPrepare] Fix typo in comment. NFC adds 56fec39d44a Extend SpecialCaseList to allow users to blame matches on e [...] adds c7c5ad77745 [SLPVectorizer] Failure to beneficially vectorize 'copyable [...] adds 595a4486c10 Allow yaml2obj to order implicit sections for ELF adds d8660fa5dc3 [NVPTX] Implement __nvvm_atom_add_gen_d builtin. adds 1d494b9e822 Fix build bots after r317622 adds aa34334e90f Revert r317609, test fails on one bot adds 7c6de050f84 Revert "Allow yaml2obj to order implicit sections for ELF" adds d37de6a8652 Reapply r317609 with a simpler sed script, thanks to Justin [...] adds ea30756f682 Attribute nonlazybind should not affect calls to functions [...] adds cee04762ca1 Revert rL317618 adds a932c3f118f AMDGPU: Set correct sched model on v_mad_u64_u32 adds 9fd7184f642 Reapply: Allow yaml2obj to order implicit sections for ELF adds 48319238e40 Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to ma [...] adds 0fa582d74a7 Convert FileOutputBuffer to Expected. NFC. adds 29fa40c962b Update unittest too. adds aeaece745d6 Revert "Reapply: Allow yaml2obj to order implicit sections [...] adds 14c636043c9 Convert FileOutputBuffer::commit to Error. adds c30df5f3d38 [X86] Allow legacy vcvtps2ph intrinsics to select EVEX enco [...] adds d550a31777f [X86] Add patterns to fold EVEX store with EVEX encoded vcv [...] adds 2c8a33ad124 [CGP] Enable extending scope of optimizeMemoryInst adds 600fc9c8370 Revert "[CGP] Enable extending scope of optimizeMemoryInst" adds 19b50e8dffa DAG: Add computeKnownBitsForFrameIndex adds 4d211caa376 [NFCI] Ensure TargetOpcode::* are compatible with guessInst [...] adds 4514930eb0a BasicAA: fix bug where we would return partialalias instead [...] adds d036c9c4396 [mips] Guard indirect and tailcall pseudo instructions correctly. adds 96342ebf2a0 [Analysis] Fix merging TBAA tags with different final access types adds c5abad3f598 [RISCV] Codegen support for materializing constants adds 21ae2e7a569 [RISCV] Codegen support for memory operations adds 6c9938cf11d [RISCV] Codegen support for memory operations on global addresses adds eacca308e4e [RISCV] Codegen for conditional branches adds da781c72957 [RISCV] Initial support for function calls adds a3ad9bd475b [utils] Add RISC-V support to update_llc_test_checks.py adds 41dfa199812 [CMake] Add custom target to create build directory adds d44ed288f9e [CMake] Remove target to build native tablegen adds 15443bdc4b6 [X86] Add some initial scheduling tests for generic x86 ins [...] adds 27b6b3117fa Handle inlined variables in SelectionDAGBuilder::EmitFuncAr [...] adds cf89e1c2fe8 NFC: Rename MCSafeSEHFragment to MCSymbolIdFragment adds 8e0d3d4cd77 [WebAssembly] Revise the strategy for inline asm. adds 29ba7f646bb Un-XFAIL a test after the bugfix in r317702. adds 40486d7dcf7 [WebAssembly] Call signExtend to get sign extended register adds 94964bb7560 [WebAssembly] Add a test for inline-asm "m" constraints. adds ca3cf87eee5 [ValueTracking] Use APInt::isNullValue/isOneValue which are [...] adds 9799e6facce [X86] Don't call validateInstruction from MatchAndEmitInstr [...] adds dcf64df89bc [ThinLTO] Ensure sanitizer passes are run new 6281d8cca4f Creating branches/google/stable and tags/google/stable/ fro [...]
The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: CMakeLists.txt | 45 +- cmake/config-ix.cmake | 2 +- cmake/modules/AddOCaml.cmake | 1 + cmake/modules/CrossCompile.cmake | 5 +- cmake/modules/HandleLLVMOptions.cmake | 5 + cmake/modules/TableGen.cmake | 15 +- docs/CMake.rst | 4 + docs/CMakeLists.txt | 11 +- docs/CommandGuide/FileCheck.rst | 5 + docs/CommandGuide/dsymutil.rst | 89 + docs/CommandGuide/index.rst | 1 + docs/CommandGuide/lli.rst | 12 +- docs/CommandGuide/llvm-pdbutil.rst | 8 +- docs/GetElementPtr.rst | 2 +- docs/HowToCrossCompileBuiltinsOnArm.rst | 201 ++ docs/LangRef.rst | 281 +- docs/SourceLevelDebugging.rst | 2 +- docs/WritingAnLLVMPass.rst | 4 +- docs/index.rst | 4 + include/llvm-c/DebugInfo.h | 148 +- include/llvm/ADT/MapVector.h | 7 + include/llvm/ADT/STLExtras.h | 7 + include/llvm/Analysis/BlockFrequencyInfo.h | 4 + include/llvm/Analysis/BlockFrequencyInfoImpl.h | 49 +- .../CodeGen/GlobalISel/InstructionSelectorImpl.h | 2 +- include/llvm/CodeGen/GlobalISel/LegalizerInfo.h | 377 ++- include/llvm/CodeGen/MachineBasicBlock.h | 10 + include/llvm/CodeGen/MachineBlockFrequencyInfo.h | 2 + include/llvm/CodeGen/MachineInstr.h | 15 + include/llvm/CodeGen/Passes.h | 6 + include/llvm/CodeGen/ResourcePriorityQueue.h | 2 +- include/llvm/CodeGen/StackMaps.h | 2 +- include/llvm/CodeGen/TailDuplicator.h | 4 +- .../llvm/{Target => CodeGen}/TargetFrameLowering.h | 14 +- include/llvm/{Target => CodeGen}/TargetInstrInfo.h | 2 +- include/llvm/DebugInfo/DWARF/DWARFDebugLine.h | 8 +- include/llvm/DebugInfo/DWARF/DWARFFormValue.h | 14 +- include/llvm/IR/BasicBlock.h | 2 + include/llvm/IR/DebugInfoMetadata.h | 26 +- include/llvm/IR/Instruction.h | 24 +- include/llvm/IR/IntrinsicsNVVM.td | 7 +- include/llvm/IR/LLVMContext.h | 1 + include/llvm/IR/MDBuilder.h | 3 + include/llvm/IR/ModuleSummaryIndex.h | 12 +- include/llvm/IR/ModuleSummaryIndexYAML.h | 8 +- include/llvm/IR/Operator.h | 113 +- include/llvm/IR/Value.h | 6 + include/llvm/InitializePasses.h | 4 + include/llvm/LinkAllPasses.h | 1 + include/llvm/MC/MCFragment.h | 11 +- include/llvm/Object/ELF.h | 263 ++ include/llvm/ObjectYAML/COFFYAML.h | 10 + include/llvm/{Support => ProfileData}/GCOV.h | 4 +- include/llvm/ProfileData/SampleProfReader.h | 2 +- include/llvm/Support/CMakeLists.txt | 1 + include/llvm/Support/FileOutputBuffer.h | 6 +- include/llvm/Support/LowLevelTypeImpl.h | 45 - include/llvm/Support/MemoryBuffer.h | 3 +- include/llvm/Support/SpecialCaseList.h | 37 +- include/llvm/Support/TargetParser.h | 8 +- include/llvm/Target/Target.td | 18 +- include/llvm/Target/TargetLowering.h | 9 + include/llvm/Transforms/PGOInstrumentation.h | 2 + include/llvm/Transforms/Scalar.h | 10 +- include/llvm/Transforms/Scalar/CallSiteSplitting.h | 29 + include/llvm/Transforms/Utils/LoopUtils.h | 6 +- lib/Analysis/BasicAliasAnalysis.cpp | 6 +- lib/Analysis/BlockFrequencyInfo.cpp | 5 + lib/Analysis/BlockFrequencyInfoImpl.cpp | 21 + lib/Analysis/LoopAccessAnalysis.cpp | 45 +- lib/Analysis/ModuleSummaryAnalysis.cpp | 9 +- lib/Analysis/TypeBasedAliasAnalysis.cpp | 178 +- lib/Analysis/ValueTracking.cpp | 13 +- lib/AsmParser/LLLexer.cpp | 2 + lib/AsmParser/LLParser.h | 4 +- lib/AsmParser/LLToken.h | 2 + lib/Bitcode/Reader/BitcodeReader.cpp | 10 +- lib/Bitcode/Writer/BitcodeWriter.cpp | 8 +- lib/Bitcode/Writer/ValueEnumerator.h | 2 + lib/CodeGen/AggressiveAntiDepBreaker.cpp | 2 +- lib/CodeGen/Analysis.cpp | 2 +- lib/CodeGen/AsmPrinter/ARMException.cpp | 2 +- lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 4 +- lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp | 2 +- lib/CodeGen/AsmPrinter/CodeViewDebug.cpp | 2 +- lib/CodeGen/AsmPrinter/DwarfCFIException.cpp | 2 +- lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp | 2 +- lib/CodeGen/AsmPrinter/DwarfFile.h | 2 +- lib/CodeGen/AsmPrinter/WinException.cpp | 2 +- lib/CodeGen/BranchFolding.cpp | 63 +- lib/CodeGen/BranchRelaxation.cpp | 2 +- lib/CodeGen/CFIInstrInserter.cpp | 319 +++ lib/CodeGen/CMakeLists.txt | 3 + lib/CodeGen/CalcSpillWeights.cpp | 2 +- lib/CodeGen/CodeGen.cpp | 3 + lib/CodeGen/CodeGenPrepare.cpp | 1154 ++++----- lib/CodeGen/CriticalAntiDepBreaker.cpp | 2 +- lib/CodeGen/DFAPacketizer.cpp | 2 +- lib/CodeGen/DeadMachineInstructionElim.cpp | 2 +- lib/CodeGen/DetectDeadLanes.cpp | 2 +- lib/CodeGen/EarlyIfConversion.cpp | 2 +- lib/CodeGen/ExecutionDepsFix.cpp | 2 +- lib/CodeGen/ExpandMemCmp.cpp | 828 ++++++ lib/CodeGen/ExpandPostRAPseudos.cpp | 2 +- lib/CodeGen/ExpandReductions.cpp | 2 +- lib/CodeGen/FEntryInserter.cpp | 4 +- lib/CodeGen/GCRootLowering.cpp | 4 +- lib/CodeGen/GlobalISel/IRTranslator.cpp | 2 +- lib/CodeGen/GlobalISel/Legalizer.cpp | 2 +- lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 74 +- lib/CodeGen/GlobalISel/LegalizerInfo.cpp | 383 ++- lib/CodeGen/GlobalISel/MachineIRBuilder.cpp | 2 +- lib/CodeGen/GlobalISel/RegisterBankInfo.cpp | 2 +- lib/CodeGen/GlobalISel/Utils.cpp | 2 +- lib/CodeGen/IfConversion.cpp | 2 +- lib/CodeGen/ImplicitNullChecks.cpp | 2 +- lib/CodeGen/InlineSpiller.cpp | 2 +- lib/CodeGen/LiveDebugValues.cpp | 4 +- lib/CodeGen/LiveDebugVariables.cpp | 2 +- lib/CodeGen/LiveRangeEdit.cpp | 2 +- lib/CodeGen/LiveVariables.cpp | 2 +- lib/CodeGen/LocalStackSlotAllocation.cpp | 2 +- lib/CodeGen/MIRCanonicalizerPass.cpp | 626 +++++ lib/CodeGen/MIRParser/MIParser.cpp | 6 +- lib/CodeGen/MIRPrinter.cpp | 33 +- lib/CodeGen/MachineBasicBlock.cpp | 10 +- lib/CodeGen/MachineBlockFrequencyInfo.cpp | 6 + lib/CodeGen/MachineBlockPlacement.cpp | 2 +- lib/CodeGen/MachineCSE.cpp | 2 +- lib/CodeGen/MachineCombiner.cpp | 2 +- lib/CodeGen/MachineCopyPropagation.cpp | 2 +- lib/CodeGen/MachineFrameInfo.cpp | 4 +- lib/CodeGen/MachineFunction.cpp | 2 +- lib/CodeGen/MachineInstr.cpp | 52 +- lib/CodeGen/MachineInstrBundle.cpp | 2 +- lib/CodeGen/MachineLICM.cpp | 2 +- lib/CodeGen/MachineOutliner.cpp | 2 +- lib/CodeGen/MachinePipeliner.cpp | 2 +- lib/CodeGen/MachineRegisterInfo.cpp | 2 +- lib/CodeGen/MachineSSAUpdater.cpp | 2 +- lib/CodeGen/MachineScheduler.cpp | 2 +- lib/CodeGen/MachineSink.cpp | 2 +- lib/CodeGen/MachineVerifier.cpp | 2 +- lib/CodeGen/MacroFusion.cpp | 2 +- lib/CodeGen/OptimizePHIs.cpp | 2 +- lib/CodeGen/PHIElimination.cpp | 2 +- lib/CodeGen/PatchableFunction.cpp | 4 +- lib/CodeGen/PeepholeOptimizer.cpp | 2 +- lib/CodeGen/PostRAHazardRecognizer.cpp | 2 +- lib/CodeGen/PostRASchedulerList.cpp | 2 +- lib/CodeGen/ProcessImplicitDefs.cpp | 2 +- lib/CodeGen/PrologEpilogInserter.cpp | 20 +- lib/CodeGen/PseudoSourceValue.cpp | 2 +- lib/CodeGen/RegAllocFast.cpp | 2 +- lib/CodeGen/RegAllocGreedy.cpp | 2 +- lib/CodeGen/RegUsageInfoCollector.cpp | 2 +- lib/CodeGen/RegisterClassInfo.cpp | 2 +- lib/CodeGen/RegisterCoalescer.cpp | 4 +- lib/CodeGen/RegisterScavenging.cpp | 4 +- lib/CodeGen/RenameIndependentSubregs.cpp | 2 +- lib/CodeGen/ScheduleDAG.cpp | 2 +- lib/CodeGen/ScoreboardHazardRecognizer.cpp | 2 +- lib/CodeGen/SelectionDAG/FastISel.cpp | 2 +- lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp | 4 +- lib/CodeGen/SelectionDAG/InstrEmitter.cpp | 2 +- lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 2 +- lib/CodeGen/SelectionDAG/LegalizeTypes.cpp | 13 +- lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp | 2 +- lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp | 2 +- lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp | 2 +- lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp | 2 +- lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp | 2 +- lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 6 +- lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 28 +- lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp | 2 +- lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 4 +- lib/CodeGen/SelectionDAG/TargetLowering.cpp | 13 + lib/CodeGen/ShrinkWrap.cpp | 6 +- lib/CodeGen/SlotIndexes.cpp | 2 +- lib/CodeGen/SplitKit.cpp | 2 +- lib/CodeGen/StackSlotColoring.cpp | 2 +- lib/CodeGen/TailDuplicator.cpp | 10 +- lib/CodeGen/TargetFrameLoweringImpl.cpp | 11 +- lib/CodeGen/TargetInstrInfo.cpp | 4 +- lib/CodeGen/TargetOptionsImpl.cpp | 2 +- lib/CodeGen/TargetPassConfig.cpp | 10 +- lib/CodeGen/TargetRegisterInfo.cpp | 2 +- lib/CodeGen/TargetSchedule.cpp | 2 +- lib/CodeGen/TargetSubtargetInfo.cpp | 2 +- lib/CodeGen/TwoAddressInstructionPass.cpp | 2 +- lib/CodeGen/UnreachableBlockElim.cpp | 2 +- lib/CodeGen/VirtRegMap.cpp | 2 +- lib/CodeGen/XRayInstrumentation.cpp | 2 +- .../DWARF/DWARFAbbreviationDeclaration.cpp | 2 +- lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp | 10 +- lib/DebugInfo/DWARF/DWARFContext.cpp | 8 +- lib/DebugInfo/DWARF/DWARFDebugLine.cpp | 20 +- lib/DebugInfo/DWARF/DWARFDie.cpp | 5 +- lib/DebugInfo/DWARF/DWARFFormValue.cpp | 13 +- lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp | 5 +- lib/IR/AsmWriter.cpp | 8 +- lib/IR/AutoUpgrade.cpp | 11 +- lib/IR/BasicBlock.cpp | 13 + lib/IR/CMakeLists.txt | 1 - lib/IR/DebugInfo.cpp | 20 +- lib/IR/DebugInfoMetadata.cpp | 47 +- lib/IR/Instruction.cpp | 30 +- lib/IR/LLVMContext.cpp | 1 + lib/IR/MDBuilder.cpp | 7 + lib/IR/Value.cpp | 22 + lib/IR/Verifier.cpp | 2 - lib/LTO/LTO.cpp | 21 +- lib/LTO/LTOCodeGenerator.cpp | 20 +- lib/MC/MCAssembler.cpp | 6 +- lib/MC/MCFragment.cpp | 10 +- lib/MC/MCWinCOFFStreamer.cpp | 2 +- lib/Object/ArchiveWriter.cpp | 64 +- lib/Object/ELF.cpp | 263 -- lib/ObjectYAML/COFFYAML.cpp | 48 + lib/Passes/PassBuilder.cpp | 9 +- lib/Passes/PassRegistry.def | 1 + lib/ProfileData/CMakeLists.txt | 1 + lib/{IR => ProfileData}/GCOV.cpp | 2 +- lib/Support/Chrono.cpp | 6 +- lib/Support/FileOutputBuffer.cpp | 28 +- lib/Support/Host.cpp | 93 +- lib/Support/LowLevelType.cpp | 2 +- lib/Support/SpecialCaseList.cpp | 83 +- lib/Support/Unix/Path.inc | 2 +- lib/Target/AArch64/AArch64A53Fix835769.cpp | 2 +- lib/Target/AArch64/AArch64CallingConvention.h | 2 +- lib/Target/AArch64/AArch64CondBrTuning.cpp | 2 +- lib/Target/AArch64/AArch64ConditionOptimizer.cpp | 2 +- lib/Target/AArch64/AArch64ConditionalCompares.cpp | 2 +- .../AArch64/AArch64DeadRegisterDefinitionsPass.cpp | 2 +- lib/Target/AArch64/AArch64FrameLowering.cpp | 2 +- lib/Target/AArch64/AArch64FrameLowering.h | 2 +- lib/Target/AArch64/AArch64GenRegisterBankInfo.def | 106 +- lib/Target/AArch64/AArch64ISelLowering.cpp | 4 +- lib/Target/AArch64/AArch64InstrInfo.h | 2 +- lib/Target/AArch64/AArch64InstrInfo.td | 2 + lib/Target/AArch64/AArch64LegalizerInfo.cpp | 169 +- lib/Target/AArch64/AArch64MacroFusion.cpp | 2 +- lib/Target/AArch64/AArch64RegisterBankInfo.cpp | 40 +- lib/Target/AArch64/AArch64RegisterBankInfo.h | 27 +- lib/Target/AArch64/AArch64RegisterInfo.cpp | 2 +- lib/Target/AArch64/AArch64RegisterInfo.td | 131 +- lib/Target/AArch64/AArch64SVEInstrInfo.td | 17 + lib/Target/AArch64/AArch64SchedA53.td | 2 + lib/Target/AArch64/AArch64SchedA57.td | 2 + lib/Target/AArch64/AArch64SchedCyclone.td | 2 + lib/Target/AArch64/AArch64SchedFalkor.td | 2 + lib/Target/AArch64/AArch64SchedKryo.td | 2 + lib/Target/AArch64/AArch64SchedM1.td | 2 + lib/Target/AArch64/AArch64SchedThunderX.td | 2 + lib/Target/AArch64/AArch64SchedThunderX2T99.td | 2 + lib/Target/AArch64/AArch64StorePairSuppress.cpp | 2 +- lib/Target/AArch64/AArch64VectorByElementOpt.cpp | 2 +- lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp | 266 +- .../AArch64/Disassembler/AArch64Disassembler.cpp | 24 + .../AArch64/InstPrinter/AArch64InstPrinter.cpp | 20 + .../AArch64/InstPrinter/AArch64InstPrinter.h | 3 + .../AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp | 4 +- .../MCTargetDesc/AArch64WinCOFFStreamer.cpp | 8 + lib/Target/AArch64/SVEInstrFormats.td | 41 + lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp | 2 +- lib/Target/AMDGPU/AMDGPUFrameLowering.h | 2 +- lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | 19 + lib/Target/AMDGPU/AMDGPUISelLowering.cpp | 57 +- lib/Target/AMDGPU/AMDGPUISelLowering.h | 5 +- lib/Target/AMDGPU/AMDGPUInstrInfo.h | 2 +- lib/Target/AMDGPU/AMDGPULibCalls.cpp | 6 +- lib/Target/AMDGPU/AMDGPULibFunc.cpp | 29 +- lib/Target/AMDGPU/AMDGPULibFunc.h | 20 +- lib/Target/AMDGPU/AMDGPUSubtarget.cpp | 2 +- lib/Target/AMDGPU/AMDGPUSubtarget.h | 4 + lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | 4 + lib/Target/AMDGPU/SIISelLowering.cpp | 62 +- lib/Target/AMDGPU/SIMachineFunctionInfo.h | 8 +- lib/Target/AMDGPU/VOP3Instructions.td | 2 + lib/Target/ARC/ARCBranchFinalize.cpp | 2 +- lib/Target/ARC/ARCFrameLowering.h | 2 +- lib/Target/ARC/ARCInstrInfo.h | 2 +- lib/Target/ARC/ARCRegisterInfo.cpp | 2 +- lib/Target/ARM/ARMBaseInstrInfo.cpp | 2 +- lib/Target/ARM/ARMBaseInstrInfo.h | 2 +- lib/Target/ARM/ARMBaseRegisterInfo.cpp | 2 +- lib/Target/ARM/ARMCallLowering.cpp | 12 +- lib/Target/ARM/ARMCallingConv.h | 2 +- lib/Target/ARM/ARMFastISel.cpp | 2 +- lib/Target/ARM/ARMFrameLowering.cpp | 2 +- lib/Target/ARM/ARMFrameLowering.h | 2 +- lib/Target/ARM/ARMISelLowering.cpp | 2 +- lib/Target/ARM/ARMLegalizerInfo.cpp | 71 +- lib/Target/ARM/ARMLoadStoreOptimizer.cpp | 6 +- lib/Target/ARM/ARMMacroFusion.cpp | 2 +- lib/Target/ARM/Thumb1FrameLowering.cpp | 2 +- lib/Target/ARM/Thumb2SizeReduction.cpp | 2 +- lib/Target/ARM/ThumbRegisterInfo.cpp | 2 +- lib/Target/AVR/AVRFrameLowering.h | 2 +- lib/Target/AVR/AVRInstrInfo.h | 2 +- lib/Target/AVR/AVRRegisterInfo.cpp | 2 +- lib/Target/BPF/BPFFrameLowering.h | 2 +- lib/Target/BPF/BPFInstrInfo.h | 2 +- lib/Target/BPF/BPFRegisterInfo.cpp | 4 +- lib/Target/Hexagon/HexagonCFGOptimizer.cpp | 2 +- lib/Target/Hexagon/HexagonFixupHwLoops.cpp | 2 +- lib/Target/Hexagon/HexagonFrameLowering.h | 2 +- lib/Target/Hexagon/HexagonInstrInfo.cpp | 2 +- lib/Target/Hexagon/HexagonInstrInfo.h | 2 +- lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp | 69 +- lib/Target/Hexagon/HexagonMachineScheduler.cpp | 2 +- lib/Target/Hexagon/HexagonMachineScheduler.h | 2 +- lib/Target/Hexagon/HexagonPatterns.td | 134 +- lib/Target/Hexagon/HexagonPeephole.cpp | 2 +- lib/Target/Hexagon/HexagonRegisterInfo.cpp | 2 +- .../Hexagon/HexagonSplitConst32AndConst64.cpp | 2 +- .../Hexagon/HexagonVectorLoopCarriedReuse.cpp | 15 +- lib/Target/Hexagon/RDFGraph.cpp | 2 +- lib/Target/Lanai/LanaiDelaySlotFiller.cpp | 2 +- lib/Target/Lanai/LanaiFrameLowering.h | 2 +- lib/Target/Lanai/LanaiInstrInfo.h | 2 +- lib/Target/Lanai/LanaiMemAluCombiner.cpp | 2 +- lib/Target/Lanai/LanaiRegisterInfo.cpp | 4 +- lib/Target/Lanai/LanaiSubtarget.h | 2 +- lib/Target/Lanai/LanaiTargetMachine.h | 2 +- lib/Target/MSP430/MSP430FrameLowering.h | 2 +- lib/Target/MSP430/MSP430InstrInfo.h | 2 +- lib/Target/MSP430/MSP430TargetMachine.h | 2 +- lib/Target/Mips/Disassembler/MipsDisassembler.cpp | 6 +- lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp | 23 + lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h | 3 + lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp | 8 +- lib/Target/Mips/MicroMips32r6InstrFormats.td | 15 + lib/Target/Mips/MicroMips32r6InstrInfo.td | 11 + lib/Target/Mips/MicroMips64r6InstrInfo.td | 7 +- lib/Target/Mips/MicroMipsInstrInfo.td | 15 +- lib/Target/Mips/Mips16FrameLowering.cpp | 2 +- lib/Target/Mips/Mips16ISelLowering.cpp | 2 +- lib/Target/Mips/Mips16RegisterInfo.cpp | 4 +- lib/Target/Mips/Mips64InstrInfo.td | 6 +- lib/Target/Mips/MipsFastISel.cpp | 2 +- lib/Target/Mips/MipsFrameLowering.cpp | 35 +- lib/Target/Mips/MipsFrameLowering.h | 2 +- lib/Target/Mips/MipsISelLowering.cpp | 6 +- lib/Target/Mips/MipsInstrInfo.h | 2 +- lib/Target/Mips/MipsInstrInfo.td | 26 +- lib/Target/Mips/MipsOptimizePICCall.cpp | 2 +- lib/Target/Mips/MipsRegisterInfo.cpp | 2 +- lib/Target/Mips/MipsRegisterInfo.td | 1 + lib/Target/Mips/MipsSEFrameLowering.cpp | 10 +- lib/Target/Mips/MipsSEISelDAGToDAG.cpp | 58 + lib/Target/Mips/MipsSEISelLowering.cpp | 2 +- lib/Target/Mips/MipsSERegisterInfo.cpp | 4 +- lib/Target/Mips/MipsScheduleGeneric.td | 1 + lib/Target/NVPTX/NVPTXFrameLowering.cpp | 2 +- lib/Target/NVPTX/NVPTXFrameLowering.h | 2 +- lib/Target/NVPTX/NVPTXISelLowering.cpp | 1 + lib/Target/NVPTX/NVPTXInstrInfo.h | 2 +- lib/Target/NVPTX/NVPTXIntrinsics.td | 13 + lib/Target/NVPTX/NVPTXPeephole.cpp | 2 +- lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp | 2 +- lib/Target/NVPTX/NVPTXRegisterInfo.cpp | 2 +- lib/Target/NVPTX/NVPTXTargetMachine.h | 2 +- lib/Target/Nios2/Nios2FrameLowering.h | 2 +- lib/Target/Nios2/Nios2InstrInfo.h | 2 +- lib/Target/PowerPC/PPCBranchCoalescing.cpp | 4 +- lib/Target/PowerPC/PPCFrameLowering.h | 2 +- lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 2 +- lib/Target/PowerPC/PPCISelLowering.cpp | 164 +- lib/Target/PowerPC/PPCISelLowering.h | 6 + lib/Target/PowerPC/PPCInstrAltivec.td | 7 +- lib/Target/PowerPC/PPCInstrInfo.h | 2 +- lib/Target/PowerPC/PPCInstrVSX.td | 7 + lib/Target/PowerPC/PPCRegisterInfo.cpp | 4 +- lib/Target/RISCV/RISCV.h | 12 +- lib/Target/RISCV/RISCV.td | 4 +- lib/Target/RISCV/RISCVAsmPrinter.cpp | 7 +- lib/Target/RISCV/RISCVCallingConv.td | 3 + lib/Target/RISCV/RISCVFrameLowering.h | 8 +- lib/Target/RISCV/RISCVISelLowering.cpp | 161 ++ lib/Target/RISCV/RISCVISelLowering.h | 6 +- lib/Target/RISCV/RISCVInstrInfo.cpp | 48 +- lib/Target/RISCV/RISCVInstrInfo.h | 18 +- lib/Target/RISCV/RISCVInstrInfo.td | 120 +- lib/Target/RISCV/RISCVMCInstLower.cpp | 83 +- lib/Target/RISCV/RISCVRegisterInfo.cpp | 41 +- lib/Target/RISCV/RISCVRegisterInfo.h | 5 + lib/Target/Sparc/DelaySlotFiller.cpp | 2 +- lib/Target/Sparc/SparcFrameLowering.h | 2 +- lib/Target/Sparc/SparcInstrInfo.h | 2 +- lib/Target/Sparc/SparcRegisterInfo.cpp | 2 +- lib/Target/Sparc/SparcSubtarget.h | 2 +- lib/Target/SystemZ/SystemZFrameLowering.h | 2 +- lib/Target/SystemZ/SystemZInstrInfo.cpp | 2 +- lib/Target/SystemZ/SystemZInstrInfo.h | 2 +- lib/Target/SystemZ/SystemZLDCleanup.cpp | 2 +- lib/Target/SystemZ/SystemZRegisterInfo.cpp | 2 +- lib/Target/SystemZ/SystemZTargetTransformInfo.cpp | 5 + lib/Target/SystemZ/SystemZTargetTransformInfo.h | 1 + lib/Target/TargetMachine.cpp | 7 + lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp | 11 +- .../WebAssembly/WebAssemblyExplicitLocals.cpp | 20 + lib/Target/WebAssembly/WebAssemblyFastISel.cpp | 2 +- lib/Target/WebAssembly/WebAssemblyFrameLowering.h | 2 +- lib/Target/WebAssembly/WebAssemblyInstrInfo.h | 2 +- lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp | 2 +- lib/Target/X86/AsmParser/X86AsmParser.cpp | 4 +- lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp | 6 +- lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp | 6 +- lib/Target/X86/X86.td | 14 +- lib/Target/X86/X86CallFrameOptimization.cpp | 2 +- lib/Target/X86/X86CallLowering.cpp | 2 +- lib/Target/X86/X86CmovConversion.cpp | 2 +- lib/Target/X86/X86EvexToVex.cpp | 20 +- lib/Target/X86/X86FixupBWInsts.cpp | 2 +- lib/Target/X86/X86FixupLEAs.cpp | 2 +- lib/Target/X86/X86FloatingPoint.cpp | 2 +- lib/Target/X86/X86FrameLowering.cpp | 48 + lib/Target/X86/X86FrameLowering.h | 6 +- lib/Target/X86/X86ISelDAGToDAG.cpp | 12 +- lib/Target/X86/X86ISelLowering.cpp | 305 ++- lib/Target/X86/X86ISelLowering.h | 12 +- lib/Target/X86/X86InstrAVX512.td | 331 ++- lib/Target/X86/X86InstrFMA.td | 80 +- lib/Target/X86/X86InstrFragmentsSIMD.td | 22 +- lib/Target/X86/X86InstrInfo.h | 2 +- lib/Target/X86/X86InstrInfo.td | 1 - lib/Target/X86/X86InstrSSE.td | 104 +- lib/Target/X86/X86IntrinsicsInfo.h | 78 +- lib/Target/X86/X86LegalizerInfo.cpp | 66 +- lib/Target/X86/X86MacroFusion.cpp | 2 +- lib/Target/X86/X86PadShortFunction.cpp | 2 +- lib/Target/X86/X86RegisterInfo.cpp | 4 +- lib/Target/X86/X86Subtarget.cpp | 2 + lib/Target/X86/X86Subtarget.h | 2 +- lib/Target/X86/X86TargetMachine.cpp | 7 + lib/Target/X86/X86TargetTransformInfo.cpp | 7 +- lib/Target/X86/X86VZeroUpper.cpp | 2 +- lib/Target/X86/X86WinAllocaExpander.cpp | 2 +- lib/Target/XCore/XCoreFrameLowering.h | 2 +- lib/Target/XCore/XCoreInstrInfo.h | 2 +- lib/Target/XCore/XCoreRegisterInfo.cpp | 2 +- lib/Transforms/IPO/GlobalOpt.cpp | 10 +- lib/Transforms/IPO/LowerTypeTests.cpp | 2 +- lib/Transforms/IPO/PartialInlining.cpp | 16 +- lib/Transforms/IPO/PassManagerBuilder.cpp | 9 + lib/Transforms/IPO/SampleProfile.cpp | 26 +- lib/Transforms/InstCombine/InstCombineAddSub.cpp | 8 +- lib/Transforms/InstCombine/InstCombineCalls.cpp | 2 +- lib/Transforms/InstCombine/InstCombineCompares.cpp | 3 +- .../InstCombine/InstCombineMulDivRem.cpp | 11 +- lib/Transforms/InstCombine/InstCombineShifts.cpp | 109 +- .../Instrumentation/PGOInstrumentation.cpp | 28 +- lib/Transforms/Scalar/ADCE.cpp | 4 +- lib/Transforms/Scalar/CMakeLists.txt | 1 + lib/Transforms/Scalar/CallSiteSplitting.cpp | 492 ++++ lib/Transforms/Scalar/IndVarSimplify.cpp | 10 + lib/Transforms/Scalar/JumpThreading.cpp | 7 +- lib/Transforms/Scalar/LICM.cpp | 196 +- lib/Transforms/Scalar/LoopIdiomRecognize.cpp | 6 +- lib/Transforms/Scalar/LoopPredication.cpp | 234 +- lib/Transforms/Scalar/LoopStrengthReduce.cpp | 2 +- lib/Transforms/Scalar/Reassociate.cpp | 12 +- lib/Transforms/Scalar/RewriteStatepointsForGC.cpp | 42 +- lib/Transforms/Scalar/SROA.cpp | 6 +- lib/Transforms/Scalar/Scalar.cpp | 1 + lib/Transforms/Utils/FunctionImportUtils.cpp | 17 + lib/Transforms/Utils/Local.cpp | 37 +- lib/Transforms/Utils/LoopUtils.cpp | 12 +- lib/Transforms/Utils/SimplifyCFG.cpp | 4 +- lib/Transforms/Utils/SimplifyLibCalls.cpp | 37 +- lib/Transforms/Utils/SplitModule.cpp | 18 +- lib/Transforms/Vectorize/LoopVectorize.cpp | 6 +- lib/Transforms/Vectorize/SLPVectorizer.cpp | 4 +- .../Analysis/BlockFrequencyInfo/irreducible_pgo.ll | 208 ++ .../CostModel/X86/interleaved-load-float.ll | 141 ++ test/Assembler/fast-math-flags.ll | 32 +- test/Bitcode/compatibility-3.6.ll | 4 +- test/Bitcode/compatibility-3.7.ll | 4 +- test/Bitcode/compatibility-3.8.ll | 8 +- test/Bitcode/compatibility-3.9.ll | 8 +- test/Bitcode/compatibility-4.0.ll | 8 +- test/Bitcode/compatibility-5.0.ll | 8 +- test/Bitcode/compatibility.ll | 4 + test/Bitcode/thinlto-summary-local-5.0.ll | 22 + test/Bitcode/thinlto-summary-local-5.0.ll.bc | Bin 0 -> 1028 bytes test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll | 67 + .../AArch64/GlobalISel/arm64-regbankselect.mir | 104 + test/CodeGen/AArch64/GlobalISel/legalize-add.mir | 91 + .../AArch64/GlobalISel/legalize-inserts.mir | 19 + .../AArch64/GlobalISel/select-insert-extract.mir | 4 +- test/CodeGen/AArch64/GlobalISel/select-int-ext.mir | 6 +- test/CodeGen/AArch64/dwarf-cfi.ll | 36 + test/CodeGen/AArch64/recp-fastmath.ll | 34 +- test/CodeGen/AArch64/sqrt-fastmath.ll | 83 +- .../AMDGPU/GlobalISel/inst-select-load-smrd.mir | 12 +- test/CodeGen/AMDGPU/detect-dead-lanes.mir | 44 +- test/CodeGen/AMDGPU/mad_64_32.ll | 168 ++ test/CodeGen/AMDGPU/mul.ll | 125 +- test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir | 32 +- test/CodeGen/AMDGPU/private-memory-r600.ll | 249 +- test/CodeGen/AMDGPU/simplify-libcalls.ll | 122 +- test/CodeGen/AMDGPU/unknown-processor.ll | 9 +- test/CodeGen/AMDGPU/unsupported-calls.ll | 4 +- .../GlobalISel/arm-instruction-select-combos.mir | 35 + .../ARM/GlobalISel/arm-instruction-select.mir | 16 +- test/CodeGen/Generic/llc-start-stop.ll | 6 +- test/CodeGen/Hexagon/isel-prefer.ll | 10 + .../CodeGen/MIR/X86/subregister-index-operands.mir | 6 +- test/CodeGen/Mips/brind-tailcall.ll | 60 + test/CodeGen/Mips/dins.ll | 14 +- test/CodeGen/Mips/msa/emergency-spill.mir | 221 ++ test/CodeGen/Mips/msa/frameindex.ll | 49 +- test/CodeGen/Mips/tailcall/tailcall.ll | 15 +- test/CodeGen/NVPTX/atomics-sm60.ll | 19 + test/CodeGen/NVPTX/generic-to-nvvm-ir.ll | 2 +- test/CodeGen/PowerPC/bswap64.ll | 13 + test/CodeGen/PowerPC/p9-vinsert-vextract.ll | 822 ++++++ test/CodeGen/PowerPC/subreg-postra-2.ll | 8 +- test/CodeGen/RISCV/alu32.ll | 1 - test/CodeGen/RISCV/branch.ll | 121 + test/CodeGen/RISCV/calls.ll | 83 + test/CodeGen/RISCV/imm.ll | 47 + test/CodeGen/RISCV/mem.ll | 202 ++ test/CodeGen/RISCV/wide-mem.ll | 34 + test/CodeGen/WebAssembly/inline-asm-m.ll | 13 + test/CodeGen/WebAssembly/inline-asm.ll | 56 +- test/CodeGen/WebAssembly/signext-arg.ll | 22 + test/CodeGen/X86/2009-03-16-PHIElimInLPad.ll | 1 + test/CodeGen/X86/2011-10-19-widen_vselect.ll | 1 + test/CodeGen/X86/GlobalISel/add-scalar.ll | 1 + test/CodeGen/X86/GlobalISel/brcond.ll | 1 + test/CodeGen/X86/GlobalISel/callingconv.ll | 21 + test/CodeGen/X86/GlobalISel/frameIndex.ll | 1 + test/CodeGen/X86/GlobalISel/select-cmp.mir | 26 +- test/CodeGen/X86/GlobalISel/select-copy.mir | 6 +- test/CodeGen/X86/GlobalISel/select-ext-x86-64.mir | 10 +- test/CodeGen/X86/GlobalISel/select-ext.mir | 12 +- .../select-intrinsic-x86-flags-read-u32.mir | 2 +- test/CodeGen/X86/O0-pipeline.ll | 1 + test/CodeGen/X86/TruncAssertZext.ll | 1 + test/CodeGen/X86/avg.ll | 185 +- test/CodeGen/X86/avx-basic.ll | 7 - test/CodeGen/X86/avx-intrinsics-x86.ll | 52 +- test/CodeGen/X86/avx-schedule.ll | 8 +- test/CodeGen/X86/avx512-mask-op.ll | 10 +- test/CodeGen/X86/avx512-regcall-Mask.ll | 22 +- test/CodeGen/X86/avx512-regcall-NoMask.ll | 17 + test/CodeGen/X86/avx512-schedule.ll | 4 + test/CodeGen/X86/avx512-select.ll | 1 + test/CodeGen/X86/avx512-shuffle-schedule.ll | 736 +++--- test/CodeGen/X86/avx512-shuffles/shuffle-vec.ll | 368 ++- test/CodeGen/X86/avx512-skx-insert-subvec.ll | 2 - test/CodeGen/X86/avx512-vbroadcast.ll | 2 + test/CodeGen/X86/avx512bw-intrinsics-fast-isel.ll | 2 + test/CodeGen/X86/avx512bw-intrinsics-upgrade.ll | 12 + test/CodeGen/X86/avx512bw-intrinsics.ll | 4 + test/CodeGen/X86/avx512bw-vec-test-testn.ll | 32 +- test/CodeGen/X86/avx512bwvl-vec-test-testn.ll | 64 +- test/CodeGen/X86/avx512cd-intrinsics-fast-isel.ll | 37 + test/CodeGen/X86/avx512cd-intrinsics-upgrade.ll | 23 + test/CodeGen/X86/avx512cd-intrinsics.ll | 22 - test/CodeGen/X86/avx512cdvl-intrinsics-upgrade.ll | 44 + test/CodeGen/X86/avx512cdvl-intrinsics.ll | 43 - test/CodeGen/X86/avx512f-vec-test-testn.ll | 32 +- test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll | 30 + test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll | 4 +- test/CodeGen/X86/avx512vl-intrinsics.ll | 12 +- test/CodeGen/X86/avx512vl-vbroadcast.ll | 3 + test/CodeGen/X86/avx512vl-vec-masked-cmp.ll | 520 +++- test/CodeGen/X86/avx512vl-vec-test-testn.ll | 128 +- .../CodeGen/X86/avx512vlcd-intrinsics-fast-isel.ll | 75 + test/CodeGen/X86/bitcast-and-setcc-256.ll | 1 + test/CodeGen/X86/bitcast-and-setcc-512.ll | 4 + .../CodeGen/X86/bitcast-int-to-vector-bool-zext.ll | 6 + test/CodeGen/X86/bitcast-setcc-256.ll | 1 + test/CodeGen/X86/bitcast-setcc-512.ll | 4 + test/CodeGen/X86/bool-vector.ll | 3 + test/CodeGen/X86/broadcastm-lowering.ll | 7 +- test/CodeGen/X86/cmp.ll | 3 + test/CodeGen/X86/combine-srl.ll | 2 +- test/CodeGen/X86/compress_expand.ll | 4 +- test/CodeGen/X86/emutls-pie.ll | 6 + test/CodeGen/X86/emutls.ll | 16 + test/CodeGen/X86/epilogue-cfi-fp.ll | 43 + test/CodeGen/X86/epilogue-cfi-no-fp.ll | 46 + test/CodeGen/X86/f16c-intrinsics.ll | 271 +- test/CodeGen/X86/fast-isel-int-float-conversion.ll | 12 + test/CodeGen/X86/fast-isel-store.ll | 10 + test/CodeGen/X86/fma-intrinsics-x86.ll | 874 ++++--- .../X86/frame-lowering-debug-intrinsic-2.ll | 18 +- test/CodeGen/X86/frame-lowering-debug-intrinsic.ll | 4 + test/CodeGen/X86/haddsub-2.ll | 12 + test/CodeGen/X86/hipe-cc64.ll | 1 + test/CodeGen/X86/horizontal-reduce-smax.ll | 1896 ++++++++++++++ test/CodeGen/X86/horizontal-reduce-smin.ll | 1898 ++++++++++++++ test/CodeGen/X86/horizontal-reduce-umax.ll | 2203 ++++++++++++++++ test/CodeGen/X86/horizontal-reduce-umin.ll | 2207 ++++++++++++++++ test/CodeGen/X86/illegal-bitfield-loadstore.ll | 1 + test/CodeGen/X86/imul.ll | 3 + test/CodeGen/X86/inline-asm-A-constraint.ll | 3 +- test/CodeGen/X86/lea-opt-cse1.ll | 1 + test/CodeGen/X86/lea-opt-cse2.ll | 2 + test/CodeGen/X86/lea-opt-cse3.ll | 2 + test/CodeGen/X86/lea-opt-cse4.ll | 3 + test/CodeGen/X86/legalize-shift-64.ll | 5 + test/CodeGen/X86/live-out-reg-info.ll | 1 + test/CodeGen/X86/load-combine.ll | 2 + test/CodeGen/X86/masked_gather_scatter.ll | 34 +- test/CodeGen/X86/masked_memop.ll | 12 +- test/CodeGen/X86/memcmp-optsize.ll | 224 +- test/CodeGen/X86/memcmp.ll | 240 +- test/CodeGen/X86/memset-nonzero.ll | 1 + test/CodeGen/X86/merge-consecutive-loads-128.ll | 19 + test/CodeGen/X86/movtopush.ll | 4 +- test/CodeGen/X86/mul-constant-result.ll | 59 + test/CodeGen/X86/mul-i256.ll | 8 + test/CodeGen/X86/mul128.ll | 5 + test/CodeGen/X86/no-plt.ll | 30 + test/CodeGen/X86/pop-stack-cleanup-msvc.ll | 26 + test/CodeGen/X86/pr21792.ll | 1 + test/CodeGen/X86/pr29061.ll | 2 + test/CodeGen/X86/pr29112.ll | 1 + test/CodeGen/X86/pr30430.ll | 1 + test/CodeGen/X86/pr32241.ll | 2 + test/CodeGen/X86/pr32256.ll | 1 + test/CodeGen/X86/pr32282.ll | 1 + test/CodeGen/X86/pr32284.ll | 16 + test/CodeGen/X86/pr32329.ll | 4 + test/CodeGen/X86/pr32345.ll | 2 + test/CodeGen/X86/pr32451.ll | 2 + test/CodeGen/X86/pr34088.ll | 1 + test/CodeGen/X86/pr34653.ll | 210 ++ test/CodeGen/X86/pr34657.ll | 20 + test/CodeGen/X86/pr9743.ll | 1 + test/CodeGen/X86/push-cfi-debug.ll | 4 +- test/CodeGen/X86/push-cfi-obj.ll | 7 +- test/CodeGen/X86/push-cfi.ll | 3 +- test/CodeGen/X86/recip-fastmath.ll | 16 +- test/CodeGen/X86/recip-fastmath2.ll | 32 +- test/CodeGen/X86/return-ext.ll | 3 + test/CodeGen/X86/rtm.ll | 1 + test/CodeGen/X86/schedule-x86_32.ll | 348 +++ test/CodeGen/X86/schedule-x86_64.ll | 737 ++++++ test/CodeGen/X86/select-mmx.ll | 2 + test/CodeGen/X86/select.ll | 38 +- test/CodeGen/X86/setcc-lowering.ll | 8 +- test/CodeGen/X86/shrink_vmul.ll | 13 + test/CodeGen/X86/sse-intrinsics-x86.ll | 52 +- test/CodeGen/X86/sse-schedule.ll | 8 +- test/CodeGen/X86/sse2-intrinsics-x86.ll | 28 +- test/CodeGen/X86/statepoint-call-lowering.ll | 1 + .../X86/statepoint-gctransition-call-lowering.ll | 1 + test/CodeGen/X86/statepoint-invoke.ll | 3 + test/CodeGen/X86/throws-cfi-fp.ll | 98 + test/CodeGen/X86/throws-cfi-no-fp.ll | 97 + test/CodeGen/X86/var-permute-128.ll | 199 +- test/CodeGen/X86/var-permute-256.ll | 1020 +++++--- test/CodeGen/X86/var-permute-512.ll | 618 +---- test/CodeGen/X86/vec_fp_to_int.ll | 74 +- test/CodeGen/X86/vector-half-conversions.ll | 2672 ++++++-------------- test/CodeGen/X86/vector-sext.ll | 13 + test/CodeGen/X86/vector-shuffle-256-v16.ll | 18 +- test/CodeGen/X86/vector-shuffle-256-v4.ll | 8 +- test/CodeGen/X86/vector-shuffle-256-v8.ll | 45 +- test/CodeGen/X86/vector-shuffle-512-v8.ll | 21 +- test/CodeGen/X86/vector-shuffle-avx512.ll | 2 + test/CodeGen/X86/vector-shuffle-v1.ll | 2 + test/CodeGen/X86/vector-trunc.ll | 73 +- test/CodeGen/X86/wide-integer-cmp.ll | 3 + test/CodeGen/X86/x86-framelowering-trap.ll | 1 + test/CodeGen/X86/x86-interleaved-access.ll | 1 + .../X86/x86-no_caller_saved_registers-preserve.ll | 1 + test/DebugInfo/AArch64/inlined-argument.ll | 140 + test/DebugInfo/ARM/illegal-fragment.ll | 95 + test/DebugInfo/ARM/salvage-debug-info.ll | 118 + test/DebugInfo/Generic/location-verifier.ll | 2 +- .../DebugInfo/Generic/missing-abstract-variable.ll | 5 - test/DebugInfo/Inputs/dwarfdump-header.elf-x86-64 | Bin 3056 -> 0 bytes test/DebugInfo/X86/dwarfdump-header-64.s | 149 ++ test/DebugInfo/{Inputs => X86}/dwarfdump-header.s | 56 +- test/DebugInfo/X86/live-debug-variables.ll | 5 +- test/DebugInfo/dwarfdump-header.test | 60 - test/FileCheck/defines.txt | 9 + .../AddressSanitizer/X86/asm_rep_movs.ll | 6 +- test/LTO/Resolution/X86/comdat-mixed-lto.ll | 2 +- test/LTO/Resolution/X86/comdat.ll | 4 +- test/LTO/Resolution/X86/commons.ll | 2 +- test/MC/AArch64/SVE/assembler_tests/add.s | 66 + test/MC/AArch64/SVE/assembler_tests/sub.s | 66 + test/MC/AArch64/SVE/disassembler_tests/add.s | 50 + test/MC/AArch64/SVE/disassembler_tests/sub.s | 50 + .../Disassembler/Mips/micromips32r3/valid-el.txt | 1 + test/MC/Disassembler/Mips/micromips32r3/valid.txt | 1 + test/MC/Disassembler/Mips/micromips32r6/valid.txt | 2 +- test/MC/Disassembler/Mips/micromips64r6/valid.txt | 2 +- test/MC/Disassembler/X86/prefixes-i386.txt | 78 +- test/MC/Disassembler/X86/prefixes-x86_64.txt | 24 +- test/MC/Disassembler/X86/prefixes.txt | 66 +- test/MC/Disassembler/X86/simple-tests.txt | 9 +- test/MC/Mips/micromips32r6/valid.s | 2 +- test/MC/Mips/micromips64r6/valid.s | 2 +- test/MC/Mips/tls-symbols.s | 28 + test/Object/Inputs/trivial-object-test.coff-arm64 | Bin 0 -> 318 bytes test/Object/Inputs/trivial-object-test.coff-armnt | Bin 0 -> 314 bytes test/Object/archive-SYM64-write.test | 38 + test/Object/obj2yaml.test | 158 ++ test/Other/new-pm-defaults.ll | 1 + test/Other/new-pm-lto-defaults.ll | 9 +- test/Other/new-pm-thinlto-defaults.ll | 1 + test/ThinLTO/X86/deadstrip.ll | 30 +- test/ThinLTO/X86/funcimport2.ll | 4 +- test/ThinLTO/X86/internalize.ll | 9 +- test/ThinLTO/X86/lazyload_metadata.ll | 4 +- test/ThinLTO/X86/reference_non_importable.ll | 2 +- .../CallSiteSplitting/callsite-split-or-phi.ll | 339 +++ .../Transforms/CallSiteSplitting/callsite-split.ll | 119 + .../CodeExtractor/PartialInlineNoInline.ll | 45 + .../Transforms/CodeGenPrepare/ARM/sink-addrmode.ll | 18 + .../CodeGenPrepare/X86/sink-addrmode-base.ll | 475 ++++ .../ExpandMemCmp/X86}/lit.local.cfg | 0 .../{CodeGenPrepare => ExpandMemCmp}/X86/memcmp.ll | 519 ++-- .../Transforms/IRCE/add-metadata-pre-post-loops.ll | 2 +- .../IndVarSimplify/scev-phi-debug-info.ll | 71 + test/Transforms/InstCombine/debuginfo_add.ll | 108 + test/Transforms/InstCombine/shift.ll | 260 ++ test/Transforms/LICM/sinking.ll | 284 ++- .../LoadStoreVectorizer/X86/merge-tbaa.ll | 46 + test/Transforms/LoopPredication/widened.ll | 138 + test/Transforms/LoopVectorize/pr34681.ll | 122 + .../Transforms/LoopVectorize/version-mem-access.ll | 5 +- test/Transforms/LowerTypeTests/blockaddress.ll | 27 + test/Transforms/LowerTypeTests/import-unsat.ll | 1 + .../PGOProfile/Inputs/irreducible.proftext | 29 + test/Transforms/PGOProfile/irreducible.ll | 184 ++ .../PGOProfile/thinlto_samplepgo_icp2.ll | 2 +- .../drop-invalid-metadata.ll | 48 + test/Transforms/SLPVectorizer/X86/call.ll | 245 +- test/Transforms/SLPVectorizer/X86/cast.ll | 51 +- test/Transforms/SLPVectorizer/X86/load-merge.ll | 50 + .../SLPVectorizer/X86/stores_vectorize.ll | 84 + test/Transforms/SampleProfile/indirect-call.ll | 2 +- test/Transforms/SimplifyCFG/merge-cond-stores-2.ll | 2 +- test/Transforms/WholeProgramDevirt/import-indir.ll | 1 + test/lit.cfg.py | 4 + test/lit.site.cfg.py.in | 3 +- test/tools/dsymutil/cmdline.test | 2 +- test/tools/gold/X86/asm_undefined2.ll | 3 +- test/tools/gold/X86/coff.ll | 2 +- test/tools/gold/X86/common.ll | 2 +- test/tools/gold/X86/emit-llvm.ll | 6 +- test/tools/gold/X86/global_with_section.ll | 16 +- test/tools/gold/X86/parallel.ll | 8 +- test/tools/gold/X86/thinlto_linkonceresolution.ll | 2 +- test/tools/gold/X86/thinlto_weak_library.ll | 2 +- test/tools/gold/X86/visibility.ll | 2 +- test/tools/llvm-ar/default-add.test | 3 +- .../X86/{ => Inputs}/protected-lineinfo.s | 8 - .../X86/Inputs/unprotected-fullinfo.s | 380 +++ .../X86/{ => Inputs}/unprotected-lineinfo.s | 8 - .../X86/{ => Inputs}/unprotected-nolineinfo.s | 5 - .../X86/blacklist-expected-unprotected.s | 17 + .../llvm-cfi-verify/X86/blacklist-match-fun.s | 17 + .../X86/blacklist-unexpected-protected.s | 17 + .../llvm-cfi-verify/X86/indirect-cf-elimination.s | 5 +- .../tools/llvm-cfi-verify/X86/protected-lineinfo.s | 204 +- .../llvm-cfi-verify/X86/unprotected-lineinfo.s | 168 +- .../llvm-cfi-verify/X86/unprotected-nolineinfo.s | 91 +- test/{LibDriver => tools/llvm-lib}/Inputs/a.s | 0 test/{LibDriver => tools/llvm-lib}/Inputs/b.s | 0 .../{LibDriver => tools/llvm-lib}/Inputs/cl-gl.obj | Bin .../llvm-lib}/Inputs/resource.res | Bin .../llvm-lib}/infer-output-path.test | 0 test/{LibDriver => tools/llvm-lib}/invalid.test | 0 test/{LibDriver => tools/llvm-lib}/libpath.test | 0 .../CostModel/X86 => tools/llvm-lib}/lit.local.cfg | 0 test/{LibDriver => tools/llvm-lib}/no-inputs.test | 0 test/{LibDriver => tools/llvm-lib}/resource.test | 0 test/{LibDriver => tools/llvm-lib}/thin.test | 0 test/{LibDriver => tools/llvm-lib}/use-paths.test | 0 test/tools/llvm-nm/X86/externalonly.test | 1 + test/tools/llvm-nm/X86/importlibrary.test | 2 + test/tools/llvm-objcopy/Inputs/dwarf.dwo | Bin 0 -> 3568 bytes .../check-addr-offset-align-binary.test | 40 + .../llvm-objcopy/check-addr-offset-align.test | 67 + test/tools/llvm-objcopy/drawf-fission.test | 43 + .../X86/Inputs/macho-invalid-reloc-section-index | Bin 0 -> 2768 bytes test/tools/llvm-objdump/X86/malformed-machos.test | 3 + tools/dsymutil/DwarfLinker.cpp | 6 +- tools/dsymutil/dsymutil.cpp | 13 +- tools/llvm-ar/CMakeLists.txt | 6 + tools/llvm-ar/llvm-ar.cpp | 20 + tools/llvm-cfi-verify/CMakeLists.txt | 2 +- tools/llvm-cfi-verify/LLVMBuild.txt | 2 +- tools/llvm-cfi-verify/lib/CMakeLists.txt | 4 +- tools/llvm-cfi-verify/lib/FileAnalysis.cpp | 49 +- tools/llvm-cfi-verify/lib/FileAnalysis.h | 9 +- tools/llvm-cfi-verify/lib/LLVMBuild.txt | 2 +- tools/llvm-cfi-verify/llvm-cfi-verify.cpp | 135 +- tools/llvm-cov/gcov.cpp | 2 +- tools/llvm-cvtres/llvm-cvtres.cpp | 2 +- tools/llvm-cxxdump/llvm-cxxdump.cpp | 15 +- tools/llvm-cxxfilt/CMakeLists.txt | 4 + tools/llvm-dwp/CMakeLists.txt | 4 + .../llvm-mc-assemble-fuzzer.cpp | 6 +- tools/llvm-mcmarkup/llvm-mcmarkup.cpp | 13 +- tools/llvm-mt/llvm-mt.cpp | 4 +- tools/llvm-nm/CMakeLists.txt | 4 + tools/llvm-nm/llvm-nm.cpp | 13 +- tools/llvm-objcopy/CMakeLists.txt | 4 + tools/llvm-objcopy/Object.cpp | 20 +- tools/llvm-objcopy/Object.h | 1 + tools/llvm-objcopy/llvm-objcopy.cpp | 81 +- tools/llvm-objdump/CMakeLists.txt | 4 + tools/llvm-objdump/llvm-objdump.cpp | 30 +- tools/llvm-pdbutil/llvm-pdbutil.cpp | 25 +- tools/llvm-readobj/CMakeLists.txt | 4 + tools/llvm-readobj/llvm-readobj.cpp | 15 +- tools/llvm-size/CMakeLists.txt | 4 + tools/llvm-size/llvm-size.cpp | 15 +- tools/llvm-strings/CMakeLists.txt | 3 + tools/llvm-symbolizer/CMakeLists.txt | 4 + tools/llvm-xray/trie-node.h | 92 + tools/llvm-xray/xray-converter.cc | 198 +- tools/llvm-xray/xray-converter.h | 7 +- tools/llvm-xray/xray-stacks.cc | 191 +- tools/opt/opt.cpp | 1 + unittests/ADT/STLExtrasTest.cpp | 20 +- unittests/CodeGen/GlobalISel/LegalizerInfoTest.cpp | 119 +- unittests/CodeGen/LowLevelTypeTest.cpp | 78 +- unittests/CodeGen/MachineInstrTest.cpp | 4 +- unittests/DebugInfo/DWARF/DWARFFormValueTest.cpp | 6 +- unittests/IR/IRBuilderTest.cpp | 51 +- unittests/Support/DynamicLibrary/CMakeLists.txt | 2 + unittests/Support/FileOutputBufferTest.cpp | 22 +- unittests/Support/SpecialCaseListTest.cpp | 24 + unittests/tools/llvm-cfi-verify/CMakeLists.txt | 1 + unittests/tools/llvm-cfi-verify/FileAnalysis.cpp | 54 + unittests/tools/llvm-cfi-verify/GraphBuilder.cpp | 1 + utils/FileCheck/FileCheck.cpp | 7 + utils/TableGen/CMakeLists.txt | 1 + utils/TableGen/CodeGenDAGPatterns.cpp | 5 + utils/TableGen/DAGISelMatcherEmitter.cpp | 2 +- utils/TableGen/GlobalISelEmitter.cpp | 3 + utils/TableGen/X86EVEX2VEXTablesEmitter.cpp | 8 + utils/update_llc_test_checks.py | 18 + utils/update_mir_test_checks.py | 3 +- 848 files changed, 32180 insertions(+), 10164 deletions(-) create mode 100644 docs/CommandGuide/dsymutil.rst create mode 100644 docs/HowToCrossCompileBuiltinsOnArm.rst rename include/llvm/{Target => CodeGen}/TargetFrameLowering.h (96%) rename include/llvm/{Target => CodeGen}/TargetInstrInfo.h (99%) rename include/llvm/{Support => ProfileData}/GCOV.h (99%) create mode 100644 include/llvm/Transforms/Scalar/CallSiteSplitting.h create mode 100644 lib/CodeGen/CFIInstrInserter.cpp create mode 100644 lib/CodeGen/ExpandMemCmp.cpp create mode 100644 lib/CodeGen/MIRCanonicalizerPass.cpp rename lib/{IR => ProfileData}/GCOV.cpp (99%) create mode 100644 lib/Target/AArch64/AArch64SVEInstrInfo.td create mode 100644 lib/Target/AArch64/SVEInstrFormats.td create mode 100644 lib/Transforms/Scalar/CallSiteSplitting.cpp create mode 100644 test/Analysis/BlockFrequencyInfo/irreducible_pgo.ll create mode 100644 test/Analysis/CostModel/X86/interleaved-load-float.ll create mode 100644 test/Bitcode/thinlto-summary-local-5.0.ll create mode 100644 test/Bitcode/thinlto-summary-local-5.0.ll.bc create mode 100644 test/CodeGen/AArch64/dwarf-cfi.ll create mode 100644 test/CodeGen/AMDGPU/mad_64_32.ll create mode 100644 test/CodeGen/Mips/brind-tailcall.ll create mode 100644 test/CodeGen/Mips/msa/emergency-spill.mir create mode 100644 test/CodeGen/NVPTX/atomics-sm60.ll create mode 100644 test/CodeGen/PowerPC/bswap64.ll create mode 100644 test/CodeGen/RISCV/branch.ll create mode 100644 test/CodeGen/RISCV/calls.ll create mode 100644 test/CodeGen/RISCV/imm.ll create mode 100644 test/CodeGen/RISCV/mem.ll create mode 100644 test/CodeGen/RISCV/wide-mem.ll create mode 100644 test/CodeGen/WebAssembly/inline-asm-m.ll create mode 100644 test/CodeGen/WebAssembly/signext-arg.ll create mode 100644 test/CodeGen/X86/avx512cd-intrinsics-fast-isel.ll create mode 100644 test/CodeGen/X86/avx512vlcd-intrinsics-fast-isel.ll create mode 100644 test/CodeGen/X86/epilogue-cfi-fp.ll create mode 100644 test/CodeGen/X86/epilogue-cfi-no-fp.ll create mode 100644 test/CodeGen/X86/horizontal-reduce-smax.ll create mode 100644 test/CodeGen/X86/horizontal-reduce-smin.ll create mode 100644 test/CodeGen/X86/horizontal-reduce-umax.ll create mode 100644 test/CodeGen/X86/horizontal-reduce-umin.ll create mode 100644 test/CodeGen/X86/no-plt.ll create mode 100644 test/CodeGen/X86/pop-stack-cleanup-msvc.ll create mode 100644 test/CodeGen/X86/pr34653.ll create mode 100644 test/CodeGen/X86/pr34657.ll create mode 100644 test/CodeGen/X86/schedule-x86_32.ll create mode 100644 test/CodeGen/X86/schedule-x86_64.ll create mode 100644 test/CodeGen/X86/throws-cfi-fp.ll create mode 100644 test/CodeGen/X86/throws-cfi-no-fp.ll create mode 100644 test/DebugInfo/AArch64/inlined-argument.ll create mode 100644 test/DebugInfo/ARM/illegal-fragment.ll create mode 100644 test/DebugInfo/ARM/salvage-debug-info.ll delete mode 100644 test/DebugInfo/Inputs/dwarfdump-header.elf-x86-64 create mode 100644 test/DebugInfo/X86/dwarfdump-header-64.s rename test/DebugInfo/{Inputs => X86}/dwarfdump-header.s (79%) delete mode 100644 test/DebugInfo/dwarfdump-header.test create mode 100644 test/FileCheck/defines.txt create mode 100644 test/MC/AArch64/SVE/assembler_tests/add.s create mode 100644 test/MC/AArch64/SVE/assembler_tests/sub.s create mode 100644 test/MC/AArch64/SVE/disassembler_tests/add.s create mode 100644 test/MC/AArch64/SVE/disassembler_tests/sub.s create mode 100644 test/MC/Mips/tls-symbols.s create mode 100644 test/Object/Inputs/trivial-object-test.coff-arm64 create mode 100644 test/Object/Inputs/trivial-object-test.coff-armnt create mode 100644 test/Object/archive-SYM64-write.test create mode 100644 test/Transforms/CallSiteSplitting/callsite-split-or-phi.ll create mode 100644 test/Transforms/CallSiteSplitting/callsite-split.ll create mode 100644 test/Transforms/CodeExtractor/PartialInlineNoInline.ll create mode 100644 test/Transforms/CodeGenPrepare/ARM/sink-addrmode.ll create mode 100644 test/Transforms/CodeGenPrepare/X86/sink-addrmode-base.ll rename test/{LibDriver => Transforms/ExpandMemCmp/X86}/lit.local.cfg (100%) rename test/Transforms/{CodeGenPrepare => ExpandMemCmp}/X86/memcmp.ll (56%) create mode 100644 test/Transforms/IndVarSimplify/scev-phi-debug-info.ll create mode 100644 test/Transforms/InstCombine/debuginfo_add.ll create mode 100644 test/Transforms/LoadStoreVectorizer/X86/merge-tbaa.ll create mode 100644 test/Transforms/LoopPredication/widened.ll create mode 100644 test/Transforms/LoopVectorize/pr34681.ll create mode 100644 test/Transforms/LowerTypeTests/blockaddress.ll create mode 100644 test/Transforms/PGOProfile/Inputs/irreducible.proftext create mode 100644 test/Transforms/PGOProfile/irreducible.ll create mode 100644 test/Transforms/SLPVectorizer/X86/load-merge.ll create mode 100644 test/Transforms/SLPVectorizer/X86/stores_vectorize.ll copy test/tools/llvm-cfi-verify/X86/{ => Inputs}/protected-lineinfo.s (94%) create mode 100644 test/tools/llvm-cfi-verify/X86/Inputs/unprotected-fullinfo.s copy test/tools/llvm-cfi-verify/X86/{ => Inputs}/unprotected-lineinfo.s (95%) copy test/tools/llvm-cfi-verify/X86/{ => Inputs}/unprotected-nolineinfo.s (91%) create mode 100644 test/tools/llvm-cfi-verify/X86/blacklist-expected-unprotected.s create mode 100644 test/tools/llvm-cfi-verify/X86/blacklist-match-fun.s create mode 100644 test/tools/llvm-cfi-verify/X86/blacklist-unexpected-protected.s rename test/{LibDriver => tools/llvm-lib}/Inputs/a.s (100%) rename test/{LibDriver => tools/llvm-lib}/Inputs/b.s (100%) rename test/{LibDriver => tools/llvm-lib}/Inputs/cl-gl.obj (100%) rename test/{LibDriver => tools/llvm-lib}/Inputs/resource.res (100%) rename test/{LibDriver => tools/llvm-lib}/infer-output-path.test (100%) rename test/{LibDriver => tools/llvm-lib}/invalid.test (100%) rename test/{LibDriver => tools/llvm-lib}/libpath.test (100%) copy test/{Analysis/CostModel/X86 => tools/llvm-lib}/lit.local.cfg (100%) rename test/{LibDriver => tools/llvm-lib}/no-inputs.test (100%) rename test/{LibDriver => tools/llvm-lib}/resource.test (100%) rename test/{LibDriver => tools/llvm-lib}/thin.test (100%) rename test/{LibDriver => tools/llvm-lib}/use-paths.test (100%) create mode 100644 test/tools/llvm-objcopy/Inputs/dwarf.dwo create mode 100644 test/tools/llvm-objcopy/check-addr-offset-align-binary.test create mode 100644 test/tools/llvm-objcopy/check-addr-offset-align.test create mode 100644 test/tools/llvm-objcopy/drawf-fission.test create mode 100644 test/tools/llvm-objdump/X86/Inputs/macho-invalid-reloc-section-index create mode 100644 tools/llvm-xray/trie-node.h