[clang] [lld] [llvm] [WIP][IR][Constants] Change the semantic of `ConstantPointerNull` to represent an actual `nullptr` instead of a zero-value pointer (PR #166667)
Shilei Tian via llvm-commits
llvm-commits at lists.llvm.org
Sat Dec 20 19:32:18 PST 2025
https://github.com/shiltian updated https://github.com/llvm/llvm-project/pull/166667
>From b0eb38a92e44cb2c5463df0bd095340945903a75 Mon Sep 17 00:00:00 2001
From: Shilei Tian <i at tianshilei.me>
Date: Sat, 29 Nov 2025 23:21:52 -0500
Subject: [PATCH] [WIP][IR][Constants] Change the semantic of
`ConstantPointerNull` to represent an actual `nullptr` instead of a
zero-value pointer
The value of a `nullptr` is not always `0`. For example, on AMDGPU, the `nullptr` in address spaces 3 and 5 is `0xffffffff`. Currently, there is no target-independent way to get this information, making it difficult and error-prone to handle null pointers in target-agnostic code.
We do have `ConstantPointerNull`, but it might be a little confusing and misleading. It represents a pointer with an all-zero value rather than necessarily a real `nullptr`. Therefore, to represent a real `nullptr` in address space `N`, we need to use `addrspacecast ptr null to ptr addrspace(N)` and it can't be folded.
In this PR, we change the semantic of `ConstantPointerNull` to represent an actual `nullptr` instead of a zero-value pointer. Here is the detailed changes.
* `ptr addrspace(N) null` will represent the actual `nullptr` in address space `N`.
* `ptr addrspace(N) zeroinitializer` will represent a zero-value pointer in address space `N`.
* `Constant::getNullValue` will return a _null_ value. It is same as the current semantics except for the `PointerType`, which will return a real `nullptr` pointer.
* `Constant::getZeroValue` will return a zero value constant. It is completely same as the current semantics. To represent a zero-value pointer, a `ConstantExpr` will be used (effectively `inttoptr i8 0 to ptr addrspace(N)`).
* Correspondingly, there will be both `Constant::isNullValue` and `Constant::isZeroValue`.
The RFC is https://discourse.llvm.org/t/rfc-introduce-sentinel-pointer-value-to-datalayout/85265. It is a little bit old and the title might look different, but everything eventually converges to this change. An early attempt can be found in https://github.com/llvm/llvm-project/pull/131557, which has many valuable discussion as well.
This PR is still WIP but any early feedback is welcome. I'll include as many necessary code changes as possible in this PR, but eventually this needs to be carefully split into multiple PRs, and I'll do it after the changes look good to every one.
---
clang/lib/CodeGen/CGDecl.cpp | 5 +-
clang/test/CodeGen/target-data.c | 4 +-
clang/test/CodeGenOpenCL/amdgpu-env-amdgcn.cl | 2 +-
lld/test/ELF/lto/amdgcn-oses.ll | 6 +-
lld/test/ELF/lto/amdgcn.ll | 2 +-
llvm/docs/LangRef.rst | 6 +-
llvm/include/llvm/Bitcode/LLVMBitCodes.h | 1 +
llvm/include/llvm/IR/Constant.h | 2 +
llvm/include/llvm/IR/Constants.h | 9 +
llvm/include/llvm/IR/DataLayout.h | 14 +-
llvm/lib/Analysis/ConstantFolding.cpp | 41 +-
llvm/lib/AsmParser/LLParser.cpp | 2 +-
llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 8 +
llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 4 +-
llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 11 +-
llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | 15 +-
.../SelectionDAG/SelectionDAGBuilder.cpp | 14 +-
llvm/lib/IR/AsmWriter.cpp | 9 +
llvm/lib/IR/ConstantFold.cpp | 35 +-
llvm/lib/IR/Constants.cpp | 113 +++-
llvm/lib/IR/DataLayout.cpp | 42 +-
llvm/lib/IR/Verifier.cpp | 2 +-
.../DirectX/DXILWriter/DXILBitcodeWriter.cpp | 2 +
llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp | 3 +-
llvm/lib/TargetParser/TargetDataLayout.cpp | 8 +-
.../Transforms/Vectorize/SLPVectorizer.cpp | 9 +-
.../Delinearization/gcd_multiply_expr.ll | 2 +-
.../GlobalsModRef/global-used-by-global.ll | 2 +-
.../Analysis/GlobalsModRef/indirect-global.ll | 6 +-
llvm/test/Analysis/GlobalsModRef/no-escape.ll | 2 +-
.../backward-dep-different-types.ll | 4 +-
.../resort-to-memchecks-only.ll | 6 +-
.../reverse-memcheck-bounds.ll | 6 +-
.../safe-with-dep-distance.ll | 2 +-
.../unsafe-and-rt-checks.ll | 6 +-
.../add-expr-pointer-operand-sorting.ll | 2 +-
.../ScalarEvolution/flags-from-poison.ll | 2 +-
.../scev-expander-existing-value-offset.ll | 2 +-
.../ScalarEvolution/solve-quadratic-i1.ll | 2 +-
.../Analysis/StackSafetyAnalysis/local.ll | 2 +-
.../Analysis/TypeBasedAliasAnalysis/licm.ll | 2 +-
.../Assembler/2002-08-16-ConstExprInlined.ll | 2 +-
llvm/test/Assembler/ConstantExprFoldCast.ll | 6 +-
llvm/test/Assembler/unnamed.ll | 2 +-
llvm/test/Bindings/OCaml/core.ml | 2 +-
llvm/test/Bindings/llvm-c/echo.ll | 2 +-
.../AArch64/GlobalISel/arm64-irtranslator.ll | 2 +-
.../combiner-load-store-indexing.ll | 2 +-
.../GlobalISel/legalize-blockaddress.mir | 2 +-
.../GlobalISel/select-blockaddress.mir | 2 +-
llvm/test/CodeGen/AArch64/Redundantstore.ll | 2 +-
.../CodeGen/AArch64/aarch64-tail-dup-size.ll | 2 +-
.../AArch64/arm64-addr-mode-folding.ll | 2 +-
.../AArch64/arm64-addr-type-promotion.ll | 2 +-
.../CodeGen/AArch64/arm64-call-tailcalls.ll | 2 +-
llvm/test/CodeGen/AArch64/arm64-cast-opt.ll | 2 +-
.../arm64-collect-loh-garbage-crash.ll | 2 +-
.../AArch64/arm64-fast-isel-addr-offset.ll | 2 +-
...-homogeneous-prolog-epilog-bad-outline.mir | 2 +-
.../AArch64/arm64-indexed-vector-ldst.ll | 4 +-
.../test/CodeGen/AArch64/arm64-large-frame.ll | 2 +-
.../CodeGen/AArch64/arm64-prefetch-new.ll | 2 +-
llvm/test/CodeGen/AArch64/arm64-prefetch.ll | 2 +-
.../AArch64/arm64-triv-disjoint-mem-access.ll | 2 +-
.../test/CodeGen/AArch64/arm64-trunc-store.ll | 6 +-
.../test/CodeGen/AArch64/arm64-vector-ldst.ll | 24 +-
.../test/CodeGen/AArch64/arm64_32-fastisel.ll | 2 +-
llvm/test/CodeGen/AArch64/blockaddress.ll | 2 +-
llvm/test/CodeGen/AArch64/breg.ll | 2 +-
llvm/test/CodeGen/AArch64/call-rv-marker.ll | 4 +-
.../AArch64/combine-comparisons-by-cse.ll | 2 +-
llvm/test/CodeGen/AArch64/func-calls.ll | 2 +-
llvm/test/CodeGen/AArch64/irg_sp_tagp.ll | 2 +-
llvm/test/CodeGen/AArch64/ldst-unscaledimm.ll | 2 +-
llvm/test/CodeGen/AArch64/ldst-unsignedimm.ll | 8 +-
llvm/test/CodeGen/AArch64/local_vars.ll | 2 +-
.../machine-outliner-retaddr-sign-sp-mod.ll | 2 +-
.../machine-outliner-retaddr-sign-sp-mod.mir | 2 +-
.../CodeGen/AArch64/merge-store-dependency.ll | 2 +-
.../CodeGen/AArch64/misched-fusion-addadrp.ll | 2 +-
.../CodeGen/AArch64/misched-fusion-lit.ll | 2 +-
.../AArch64/partial-pipeline-execution.ll | 2 +-
llvm/test/CodeGen/AArch64/peephole-and-tst.ll | 2 +-
.../ptrauth-elf-got-function-symbols.ll | 2 +-
.../CodeGen/AArch64/ptrauth-tiny-model-pic.ll | 2 +-
llvm/test/CodeGen/AArch64/sibling-call.ll | 2 +-
.../AArch64/speculation-hardening-sls.ll | 2 +-
.../CodeGen/AArch64/speculation-hardening.mir | 2 +-
llvm/test/CodeGen/AArch64/sponentry.ll | 2 +-
.../AArch64/stack-protector-musttail.ll | 2 +-
.../CodeGen/AArch64/stack-tagging-setjmp.ll | 2 +-
llvm/test/CodeGen/AArch64/tiny-model-pic.ll | 2 +-
.../test/CodeGen/AArch64/tiny-model-static.ll | 2 +-
.../AMDGPU/32-bit-local-address-space.ll | 4 +-
.../bug_shuffle_vector_to_scalar.ll | 2 +-
.../GlobalISel/irtranslator-amdgpu_kernel.ll | 4 +-
.../AMDGPU/GlobalISel/legalize-block-addr.mir | 2 +-
.../GlobalISel/llvm.amdgcn.set.inactive.ll | 4 +-
.../GlobalISel/regbankselect-block-addr.mir | 2 +-
.../AMDGPU/addrspacecast-constantexpr.ll | 8 +-
.../test/CodeGen/AMDGPU/addrspacecast.r600.ll | 2 +-
.../AMDGPU/agpr-copy-no-free-registers.ll | 111 +++-
.../AMDGPU/amdgpu-late-codegenprepare.ll | 8 +-
.../CodeGen/AMDGPU/amdgpu-unroll-threshold.ll | 4 +-
...der-no-live-segment-at-def-implicit-def.ll | 11 +-
.../branch-folding-implicit-def-subreg.ll | 214 ++++----
.../CodeGen/AMDGPU/cf-loop-on-constant.ll | 4 +-
llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll | 71 ++-
llvm/test/CodeGen/AMDGPU/collapse-endcf.ll | 30 +-
...cannot-create-empty-or-backward-segment.ll | 7 +-
.../hazard-recognizer-src-shared-base.ll | 11 +-
.../indirect-call-set-from-other-function.ll | 4 +-
.../issue130120-eliminate-frame-index.ll | 30 +-
...llvm.amdgcn.iglp.AFLCustomIRMutator.opt.ll | 35 +-
.../AMDGPU/llvm.amdgcn.set.inactive.ll | 4 +-
llvm/test/CodeGen/AMDGPU/load-hi16.ll | 16 +-
llvm/test/CodeGen/AMDGPU/load-lo16.ll | 14 +-
.../lower-buffer-fat-pointers-constants.ll | 2 +-
.../CodeGen/AMDGPU/lower-mem-intrinsics.ll | 2 +-
...p-var-out-of-divergent-loop-swdev407790.ll | 19 +-
.../AMDGPU/promote-constOffset-to-imm.ll | 77 +--
...emove-incompatible-extended-image-insts.ll | 2 +-
.../AMDGPU/remove-incompatible-functions.ll | 2 +-
.../CodeGen/AMDGPU/remove-incompatible-gws.ll | 2 +-
.../AMDGPU/remove-incompatible-s-time.ll | 4 +-
.../AMDGPU/sdwa-peephole-instr-combine-sel.ll | 3 +-
.../test/CodeGen/AMDGPU/setcc-multiple-use.ll | 2 +-
.../CodeGen/AMDGPU/stacksave_stackrestore.ll | 10 +-
llvm/test/CodeGen/AMDGPU/swdev282079.ll | 4 +-
...-call-inreg-arguments.convergencetokens.ll | 2 +-
.../AMDGPU/tail-call-inreg-arguments.ll | 2 +-
...-in-vgprs-issue110930.convergencetokens.ll | 2 +-
...all-uniform-target-in-vgprs-issue110930.ll | 2 +-
.../AMDGPU/tuple-allocation-failure.ll | 194 +++----
.../AMDGPU/undef-handling-crash-in-ra.ll | 3 +-
.../AMDGPU/uniform-work-group-multistep.ll | 4 +-
.../AMDGPU/unstructured-cfg-def-use-issue.ll | 149 ++---
llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll | 6 +-
.../CodeGen/AMDGPU/waterfall_kills_scc.ll | 9 +-
llvm/test/CodeGen/AMDGPU/wqm.ll | 18 +-
.../CodeGen/ARM/2009-07-18-RewriterBug.ll | 2 +-
.../test/CodeGen/ARM/2009-08-21-PostRAKill.ll | 2 +-
.../CodeGen/ARM/2013-05-05-IfConvertBug.ll | 2 +-
.../ARM/Windows/stack-protector-musttail.ll | 2 +-
llvm/test/CodeGen/ARM/armv4.ll | 2 +-
llvm/test/CodeGen/ARM/call-tc.ll | 2 +-
llvm/test/CodeGen/ARM/call.ll | 2 +-
.../ARM/cmse-harden-call-returned-values.ll | 2 +-
.../test/CodeGen/ARM/cmse-vlldm-no-reorder.ll | 2 +-
llvm/test/CodeGen/ARM/fast-isel-align.ll | 2 +-
llvm/test/CodeGen/ARM/global-merge.ll | 2 +-
llvm/test/CodeGen/ARM/indirectbr.ll | 2 +-
llvm/test/CodeGen/ARM/ldstrex.ll | 2 +-
llvm/test/CodeGen/ARM/pr39571.ll | 2 +-
.../CodeGen/ARM/speculation-hardening-sls.ll | 2 +-
llvm/test/CodeGen/ARM/sponentry.ll | 2 +-
llvm/test/CodeGen/ARM/thumb_indirect_calls.ll | 2 +-
llvm/test/CodeGen/ARM/v8m-tail-call.ll | 8 +-
.../icall-func-pointer-correct-addr-space.ll | 2 +-
llvm/test/CodeGen/BPF/BTF/atomics.ll | 6 +-
llvm/test/CodeGen/BPF/BTF/func-func-ptr.ll | 2 +-
llvm/test/CodeGen/BPF/BTF/ptr-const-void.ll | 2 +-
llvm/test/CodeGen/BPF/BTF/ptr-func-1.ll | 2 +-
llvm/test/CodeGen/BPF/BTF/ptr-func-2.ll | 2 +-
llvm/test/CodeGen/BPF/BTF/ptr-func-3.ll | 2 +-
llvm/test/CodeGen/BPF/BTF/ptr-int.ll | 2 +-
llvm/test/CodeGen/BPF/BTF/ptr-void.ll | 2 +-
.../BPF/BTF/ptr-volatile-const-void.ll | 2 +-
.../test/CodeGen/BPF/BTF/ptr-volatile-void.ll | 2 +-
llvm/test/CodeGen/BPF/BTF/restrict-ptr.ll | 2 +-
.../BPF/BTF/static-var-derived-type.ll | 6 +-
llvm/test/CodeGen/BPF/BTF/tag-typedef.ll | 2 +-
llvm/test/CodeGen/BPF/BTF/type-tag-var.ll | 2 +-
.../CodeGen/BPF/CORE/offset-reloc-global-3.ll | 2 +-
.../CodeGen/Generic/2003-05-30-BadFoldGEP.ll | 2 +-
.../Generic/2014-02-05-OpaqueConstants.ll | 4 +-
.../CodeGen/Hexagon/adjust-latency-stackST.ll | 2 +-
.../Hexagon/assert-postinc-ptr-not-value.ll | 2 +-
llvm/test/CodeGen/Hexagon/callr-dep-edge.ll | 2 +-
.../test/CodeGen/Hexagon/constext-immstore.ll | 2 +-
llvm/test/CodeGen/Hexagon/hwloop-recursion.ll | 4 +-
.../CodeGen/Hexagon/intrinsics/atomic_load.ll | 4 +-
.../Hexagon/intrinsics/atomic_store.ll | 4 +-
.../intrinsics/atomicrmw_addsub_native.ll | 6 +-
.../CodeGen/Hexagon/memcpy-likely-aligned.ll | 2 +-
llvm/test/CodeGen/Hexagon/rdf-inline-asm.ll | 2 +-
.../Hexagon/regscav-wrong-super-sub-regs.ll | 2 +-
.../CodeGen/Hexagon/swp-dependent-phis.ll | 2 +-
llvm/test/CodeGen/Hexagon/swp-swap.ll | 2 +-
llvm/test/CodeGen/Lanai/codemodel.ll | 2 +-
llvm/test/CodeGen/LoongArch/block-address.ll | 2 +-
.../CodeGen/M68k/CodeModel/Large/large-pic.ll | 4 +-
.../M68k/CodeModel/Large/large-static.ll | 4 +-
.../M68k/CodeModel/Medium/medium-pic.ll | 4 +-
.../M68k/CodeModel/Medium/medium-static.ll | 4 +-
.../CodeGen/M68k/CodeModel/Small/small-pic.ll | 4 +-
.../M68k/CodeModel/Small/small-static.ll | 4 +-
.../MIR/AArch64/stack-object-local-offset.mir | 2 +-
.../MIR/X86/block-address-operands.mir | 2 +-
...pected-block-reference-in-blockaddress.mir | 2 +-
...-function-reference-after-blockaddress.mir | 2 +-
...pected-global-value-after-blockaddress.mir | 2 +-
.../undefined-ir-block-in-blockaddress.mir | 2 +-
...ndefined-ir-block-slot-in-blockaddress.mir | 2 +-
llvm/test/CodeGen/MSP430/indirectbr.ll | 2 +-
.../CodeGen/Mips/Fast-ISel/loadstrconst.ll | 2 +-
llvm/test/CodeGen/Mips/blockaddr.ll | 2 +-
llvm/test/CodeGen/Mips/brdelayslot.ll | 2 +-
llvm/test/CodeGen/Mips/cmov.ll | 2 +-
.../CodeGen/Mips/int-to-float-conversion.ll | 2 +-
llvm/test/CodeGen/Mips/internalfunc.ll | 2 +-
llvm/test/CodeGen/Mips/mipslopat.ll | 8 +-
llvm/test/CodeGen/Mips/stchar.ll | 4 +-
llvm/test/CodeGen/Mips/weak.ll | 2 +-
.../CodeGen/NVPTX/inline-asm-b128-test2.ll | 2 +-
llvm/test/CodeGen/NVPTX/lower-ctor-dtor.ll | 8 +-
llvm/test/CodeGen/NVPTX/noreturn.ll | 2 +-
.../test/CodeGen/PowerPC/2016-04-28-setjmp.ll | 2 +-
.../PowerPC/aix-xcoff-data-only-notoc.ll | 2 +-
llvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll | 2 +-
.../PowerPC/cse-despite-rounding-mode.ll | 2 +-
llvm/test/CodeGen/PowerPC/ctrloop-s000.ll | 4 +-
llvm/test/CodeGen/PowerPC/fold-remove-li.ll | 2 +-
.../global-address-non-got-indirect-access.ll | 2 +-
llvm/test/CodeGen/PowerPC/indirectbr.ll | 2 +-
llvm/test/CodeGen/PowerPC/knowCRBitSpill.ll | 2 +-
.../CodeGen/PowerPC/lower-globaladdr32-aix.ll | 4 +-
.../CodeGen/PowerPC/lower-globaladdr64-aix.ll | 4 +-
.../PowerPC/pcrel-call-linkage-with-calls.ll | 2 +-
llvm/test/CodeGen/PowerPC/pcrel-tail-calls.ll | 2 +-
.../CodeGen/PowerPC/ppc-shrink-wrapping.ll | 4 +-
llvm/test/CodeGen/PowerPC/pr20442.ll | 4 +-
llvm/test/CodeGen/PowerPC/pr26690.ll | 2 +-
llvm/test/CodeGen/PowerPC/pr39815.ll | 2 +-
llvm/test/CodeGen/PowerPC/pr47373.ll | 2 +-
.../PowerPC/remove-copy-crunsetcrbit.mir | 2 +-
.../CodeGen/PowerPC/respect-rounding-mode.ll | 2 +-
llvm/test/CodeGen/PowerPC/tls-cse.ll | 2 +-
.../CodeGen/PowerPC/tls_get_addr_clobbers.ll | 2 +-
llvm/test/CodeGen/RISCV/blockaddress.ll | 2 +-
llvm/test/CodeGen/RISCV/codemodel-lowering.ll | 2 +-
llvm/test/CodeGen/SPARC/blockaddr.ll | 2 +-
llvm/test/CodeGen/SPARC/setjmp.ll | 2 +-
.../CodeGen/SPIRV/global-var-intrinsic.ll | 4 +-
.../SPIRV/pointers/bitcast-fix-accesschain.ll | 2 +-
llvm/test/CodeGen/SystemZ/call-05.ll | 6 +-
llvm/test/CodeGen/SystemZ/inline-asm-addr.ll | 2 +-
llvm/test/CodeGen/SystemZ/memset-06.ll | 2 +-
llvm/test/CodeGen/Thumb/stm-merge.ll | 4 +-
.../CodeGen/Thumb2/2009-09-01-PostRAProlog.ll | 4 +-
.../Thumb2/2010-01-06-TailDuplicateLabels.ll | 2 +-
.../Thumb2/pacbti-m-indirect-tail-call.ll | 2 +-
llvm/test/CodeGen/Thumb2/tail-call-r9.ll | 2 +-
llvm/test/CodeGen/Thumb2/thumb2-call-tc.ll | 2 +-
llvm/test/CodeGen/Thumb2/thumb2-call.ll | 2 +-
llvm/test/CodeGen/Thumb2/thumb2-ldm.ll | 2 +-
llvm/test/CodeGen/VE/Scalar/blockaddress.ll | 2 +-
.../CodeGen/WebAssembly/function-bitcasts.ll | 2 +-
.../CodeGen/X86/2012-08-17-legalizer-crash.ll | 2 +-
llvm/test/CodeGen/X86/abi-isel.ll | 8 +-
llvm/test/CodeGen/X86/call-rv-marker.ll | 4 +-
llvm/test/CodeGen/X86/coal-sections.ll | 2 +-
.../CodeGen/X86/dag-update-nodetomatch.ll | 2 +-
llvm/test/CodeGen/X86/dbg-changes-codegen.ll | 8 +-
.../X86/dont-remove-empty-preheader.ll | 4 +-
llvm/test/CodeGen/X86/fp128-g.ll | 2 +-
llvm/test/CodeGen/X86/ga-offset.ll | 2 +-
.../CodeGen/X86/i386-tlscall-fastregalloc.ll | 2 +-
llvm/test/CodeGen/X86/inline-asm-pic.ll | 2 +-
llvm/test/CodeGen/X86/lea-opt-with-debug.mir | 2 +-
llvm/test/CodeGen/X86/leaf-fp-elim.ll | 2 +-
llvm/test/CodeGen/X86/lifetime-alias.ll | 2 +-
llvm/test/CodeGen/X86/mempcpy-32.ll | 2 +-
llvm/test/CodeGen/X86/mempcpy.ll | 6 +-
.../CodeGen/X86/ms-inline-asm-functions.ll | 2 +-
llvm/test/CodeGen/X86/osx-private-labels.ll | 12 +-
llvm/test/CodeGen/X86/pic.ll | 30 +-
.../CodeGen/X86/post-ra-sched-with-debug.mir | 2 +-
llvm/test/CodeGen/X86/pr33290.ll | 2 +-
llvm/test/CodeGen/X86/pr50782.ll | 2 +-
llvm/test/CodeGen/X86/pr63645.ll | 2 +-
llvm/test/CodeGen/X86/pre-coalesce-2.ll | 2 +-
llvm/test/CodeGen/X86/pre-coalesce.ll | 2 +-
llvm/test/CodeGen/X86/pre-coalesce.mir | 22 +-
llvm/test/CodeGen/X86/scheduler-asm-moves.mir | 2 +-
llvm/test/CodeGen/X86/shadow-stack.ll | 2 +-
llvm/test/CodeGen/X86/stack-protector-3.ll | 4 +-
.../CodeGen/X86/stack-protector-musttail.ll | 2 +-
llvm/test/CodeGen/X86/store-global-address.ll | 2 +-
llvm/test/CodeGen/X86/tail-dup-addr.ll | 2 +-
llvm/test/CodeGen/X86/unused_stackslots.ll | 6 +-
.../X86/windows-seh-EHa-CppCatchDotDotDot.ll | 6 +-
.../X86/windows-seh-EHa-CppCondiTemps.ll | 2 +-
llvm/test/CodeGen/X86/x86-32-intrcc.ll | 2 +-
llvm/test/CodeGen/X86/x86-64-intrcc.ll | 2 +-
llvm/test/CodeGen/X86/x86-64-mem.ll | 2 +-
.../CodeGen/X86/zero-call-used-regs-i386.ll | 2 +-
llvm/test/CodeGen/XCore/indirectbr.ll | 2 +-
llvm/test/CodeGen/Xtensa/blockaddress.ll | 2 +-
llvm/test/DebugInfo/AArch64/frameindices.ll | 2 +-
.../DebugInfo/AArch64/inlined-argument.ll | 2 +-
llvm/test/DebugInfo/AArch64/ptrauth.ll | 2 +-
.../DebugInfo/COFF/fortran-contained-proc.ll | 2 +-
llvm/test/DebugInfo/COFF/pr37492.ll | 2 +-
llvm/test/DebugInfo/COFF/static-methods.ll | 2 +-
.../DebugInfo/COFF/types-array-advanced.ll | 14 +-
llvm/test/DebugInfo/COFF/types-cvarargs.ll | 2 +-
.../DebugInfo/COFF/types-ptr-to-member.ll | 6 +-
.../DebugInfo/COFF/types-std-nullptr-t.ll | 2 +-
.../DebugInfo/COFF/virtual-method-kinds.ll | 2 +-
.../DebugInfo/Generic/address_space_rvalue.ll | 2 +-
.../sroa/memmove-to-from-same-alloca.ll | 10 +-
.../Generic/debug-names-accel-table-types.ll | 8 +-
.../Generic/debug-names-hash-collisions.ll | 10 +-
.../DebugInfo/Generic/debug-names-many-cu.ll | 514 +++++++++---------
.../DebugInfo/Generic/debug-names-one-cu.ll | 4 +-
.../DebugInfo/Generic/debug-names-two-cu.ll | 4 +-
.../DebugInfo/Generic/recursive_inlining.ll | 2 +-
llvm/test/DebugInfo/Generic/typedef.ll | 2 +-
.../InstrRef/win32-chkctk-modifies-esp.mir | 2 +-
llvm/test/DebugInfo/MIR/X86/empty-inline.mir | 2 +-
.../MIR/X86/prolog-epilog-indirection.mir | 26 +-
.../DebugInfo/WebAssembly/debugtest-opt.ll | 2 +-
llvm/test/DebugInfo/X86/DIModuleContext.ll | 2 +-
.../DebugInfo/X86/attr-btf_tag-typedef.ll | 2 +-
.../dbg-value-list-selectiondag-salvage.ll | 2 +-
llvm/test/DebugInfo/X86/debug-loc-frame.ll | 2 +-
.../DebugInfo/X86/debug-names-split-dwarf.ll | 2 +-
.../DebugInfo/X86/fragment-offset-order.ll | 8 +-
.../DebugInfo/X86/instr-ref-dbg-declare.ll | 2 +-
.../X86/instr-ref-dyn-alloca-win32.ll | 2 +-
.../DebugInfo/X86/instr-ref-dyn-alloca.ll | 2 +-
llvm/test/DebugInfo/X86/misched-dbg-value.ll | 4 +-
llvm/test/DebugInfo/X86/objc-fwd-decl.ll | 2 +-
llvm/test/DebugInfo/X86/pr45181.ll | 2 +-
llvm/test/DebugInfo/X86/prototyped.ll | 2 +-
.../assignment-tracking/X86/diamond-3.ll | 2 +-
.../assignment-tracking/X86/loop-hoist.ll | 2 +-
.../assignment-tracking/X86/loop-sink.ll | 2 +-
llvm/test/DebugInfo/attr-btf_type_tag.ll | 2 +-
.../test/DebugInfo/unrolled-loop-remainder.ll | 2 +-
.../MCJIT/remote/stubs-remote.ll | 2 +-
.../MCJIT/remote/stubs-sm-pic.ll | 2 +-
.../ExecutionEngine/MCJIT/stubs-sm-pic.ll | 2 +-
llvm/test/ExecutionEngine/MCJIT/stubs.ll | 2 +-
.../AMDGPU/instrument-stack.ll | 2 +-
.../AddressSanitizer/asan-scalable-vector.ll | 13 +-
.../AddressSanitizer/instrument-stack.ll | 2 +-
.../HWAddressSanitizer/RISCV/alloca.ll | 6 +-
.../HWAddressSanitizer/RISCV/basic.ll | 52 +-
.../RISCV/use-after-scope-setjmp.ll | 2 +-
.../HWAddressSanitizer/X86/alloca-array.ll | 2 +-
.../X86/alloca-with-calls.ll | 2 +-
.../HWAddressSanitizer/X86/alloca.ll | 12 +-
.../HWAddressSanitizer/X86/atomic.ll | 4 +-
.../HWAddressSanitizer/X86/basic.ll | 82 +--
.../HWAddressSanitizer/alloca.ll | 6 +-
.../HWAddressSanitizer/basic.ll | 52 +-
.../hwasan-pass-second-run.ll | 2 +-
.../HWAddressSanitizer/kernel-alloca.ll | 2 +-
.../HWAddressSanitizer/prologue.ll | 16 +-
.../use-after-scope-setjmp.ll | 2 +-
.../HWAddressSanitizer/zero-ptr.ll | 2 +-
.../MemorySanitizer/SystemZ/vararg.ll | 2 +-
.../MemorySanitizer/msan_asm_conservative.ll | 8 +-
.../MemorySanitizer/msan_basic.ll | 24 +-
.../MemorySanitizer/mul_by_constant.ll | 2 +-
.../SanitizerBinaryMetadata/shared-mutable.ll | 2 +-
.../ThreadSanitizer/capture-no-omit.ll | 2 +-
.../ThreadSanitizer/capture.ll | 2 +-
.../TypeSanitizer/access-with-offset.ll | 2 +-
llvm/test/Instrumentation/cgprofile.ll | 2 +-
llvm/test/LTO/X86/Inputs/type-mapping-src.ll | 2 +-
llvm/test/LTO/X86/alloc-token-hot-cold-new.ll | 2 +-
llvm/test/LTO/X86/alloc-token.ll | 2 +-
llvm/test/LTO/X86/type-mapping-bug.ll | 2 +-
.../Linker/2004-02-17-WeakStrongLinkage.ll | 4 +-
llvm/test/Linker/Inputs/testlink.ll | 2 +-
llvm/test/Linker/funcimport.ll | 4 +-
llvm/test/Linker/lto-attributes.ll | 4 +-
llvm/test/MC/AArch64/elf-globaladdress.ll | 2 +-
llvm/test/MC/ELF/bss.ll | 2 +-
llvm/test/MC/MachO/tlv-bss.ll | 2 +-
llvm/test/MC/WebAssembly/bss.ll | 2 +-
llvm/test/MC/X86/intel-syntax-var-offset.ll | 6 +-
llvm/test/Other/constant-fold-gep.ll | 8 +-
.../X86/Inputs/referenced_by_constant.ll | 4 +-
llvm/test/ThinLTO/X86/funcimport.ll | 4 +-
.../ThinLTO/X86/memprof_direct_recursion.ll | 6 +-
llvm/test/ThinLTO/X86/weak_externals.ll | 4 +-
llvm/test/ThinLTO/X86/weak_resolution.ll | 6 +-
.../ArgumentPromotion/reserve-tbaa.ll | 2 +-
...-addrspacecast-with-constantpointernull.ll | 8 +-
.../ArgumentPromotion/reserve-tbaa.ll | 4 +-
.../Attributor/IPConstantProp/pthreads.ll | 4 +-
.../Attributor/address_space_info.ll | 4 +-
llvm/test/Transforms/Attributor/liveness.ll | 6 +-
.../test/Transforms/Attributor/nocapture-1.ll | 12 +-
.../CalledValuePropagation/simple-memory.ll | 4 +-
.../CalledValuePropagation/simple-select.ll | 2 +-
.../func_from_mcf_r.ll | 2 +-
.../CodeExtractor/BlockAddressReference.ll | 2 +-
.../Transforms/CodeGenPrepare/Mips/pr35209.ll | 2 +-
.../CodeGenPrepare/skip-merging-case-block.ll | 2 +-
llvm/test/Transforms/DeadArgElim/returned.ll | 2 +-
.../Transforms/FunctionAttrs/nocapture.ll | 6 +-
.../FunctionImport/Inputs/funcimport.ll | 2 +-
.../Transforms/FunctionImport/funcimport.ll | 2 +-
.../FunctionSpecialization/dead-gv-load.ll | 2 +-
.../Transforms/GVN/PRE/load-pre-nonlocal.ll | 4 +-
llvm/test/Transforms/GVN/PRE/pre-load-dbg.ll | 2 +-
.../test/Transforms/GVNHoist/hoist-pr46874.ll | 2 +-
.../GVNHoist/infinite-loop-indirect.ll | 4 +-
.../GlobalOpt/2004-10-10-CastStoreOnce.ll | 2 +-
.../Transforms/GlobalOpt/2007-05-13-Crash.ll | 6 +-
.../Transforms/GlobalOpt/2008-01-03-Crash.ll | 2 +-
.../GlobalOpt/2008-12-16-HeapSRACrash-2.ll | 2 +-
.../GlobalOpt/2008-12-16-HeapSRACrash.ll | 2 +-
.../GlobalOpt/2009-01-13-phi-user.ll | 2 +-
.../GlobalOpt/2009-03-07-PromotePtrToBool.ll | 4 +-
.../GlobalOpt/2009-06-01-RecursivePHI.ll | 2 +-
.../2009-11-16-BrokenPerformHeapAllocSRoA.ll | 2 +-
...2009-11-16-MallocSingleStoreToGlobalVar.ll | 4 +-
.../GlobalOpt/2010-02-25-MallocPromote.ll | 2 +-
.../GlobalOpt/2010-02-26-MallocSROA.ll | 2 +-
.../GlobalOpt/2021-08-02-CastStoreOnceP2I.ll | 2 +-
.../2021-08-03-StoreOnceLoadMultiCasts.ll | 2 +-
.../MallocSROA-section-no-null-opt.ll | 2 +-
.../GlobalOpt/MallocSROA-section.ll | 2 +-
.../preserve-dbgloc-of-load-store-to-bool.ll | 2 +-
.../Transforms/GlobalOpt/addrspacecast.ll | 4 +-
.../available_externally_global_ctors.ll | 2 +-
.../Transforms/GlobalOpt/calloc-promote.ll | 2 +-
.../GlobalOpt/cleanup-pointer-root-users.ll | 2 +-
.../GlobalOpt/constantfold-initializers.ll | 10 +-
llvm/test/Transforms/GlobalOpt/crash.ll | 10 +-
.../Transforms/GlobalOpt/dead-store-status.ll | 4 +-
.../GlobalOpt/evaluate-load-uniform.ll | 2 +-
.../externally-initialized-global-ctr.ll | 4 +-
.../global-constructor-complex-constants.ll | 4 +-
.../Transforms/GlobalOpt/globalsra-align.ll | 8 +-
.../GlobalOpt/heap-sra-1-no-null-opt.ll | 2 +-
llvm/test/Transforms/GlobalOpt/heap-sra-1.ll | 10 +-
.../GlobalOpt/heap-sra-2-no-null-opt.ll | 2 +-
llvm/test/Transforms/GlobalOpt/heap-sra-2.ll | 2 +-
.../GlobalOpt/heap-sra-phi-no-null-opt.ll | 2 +-
.../test/Transforms/GlobalOpt/heap-sra-phi.ll | 4 +-
.../Transforms/GlobalOpt/invariant.group.ll | 6 +-
llvm/test/Transforms/GlobalOpt/issue62384.ll | 24 +-
.../load-store-global-no-null-opt.ll | 2 +-
.../Transforms/GlobalOpt/load-store-global.ll | 4 +-
.../GlobalOpt/localize-constexpr-debuginfo.ll | 2 +-
.../GlobalOpt/malloc-promote-1-no-null-opt.ll | 4 +-
.../Transforms/GlobalOpt/malloc-promote-1.ll | 2 +-
.../GlobalOpt/malloc-promote-2-no-null-opt.ll | 4 +-
.../Transforms/GlobalOpt/malloc-promote-2.ll | 2 +-
.../Transforms/GlobalOpt/malloc-promote-3.ll | 4 +-
.../Transforms/GlobalOpt/malloc-promote-4.ll | 2 +-
.../Transforms/GlobalOpt/malloc-promote-5.ll | 2 +-
.../Transforms/GlobalOpt/malloc-promote-6.ll | 2 +-
.../GlobalOpt/malloc-promote-addrspace.ll | 2 +-
.../GlobalOpt/malloc-promote-addrspacecast.ll | 2 +-
.../GlobalOpt/malloc-promote-atomic.ll | 2 +-
.../GlobalOpt/malloc-promote-opaque-ptr.ll | 6 +-
llvm/test/Transforms/GlobalOpt/memset-null.ll | 2 +-
llvm/test/Transforms/GlobalOpt/metadata.ll | 2 +-
llvm/test/Transforms/GlobalOpt/new-promote.ll | 2 +-
.../GlobalOpt/null-check-global-value.ll | 2 +-
.../GlobalOpt/null-check-is-use-pr35760.ll | 2 +-
.../GlobalOpt/null-check-not-use-pr35760.ll | 4 +-
llvm/test/Transforms/GlobalOpt/pr54572.ll | 4 +-
.../recursively-delete-dead-inst-assertion.ll | 2 +-
.../GlobalOpt/sra-many-stores-initializers.ll | 6 +-
.../GlobalOpt/stored-once-addrspacecast.ll | 6 +-
.../GlobalOpt/stored-once-forward-value.ll | 2 +-
.../GlobalOpt/stored-once-value-type.ll | 2 +-
.../storepointer-compare-no-null-opt.ll | 2 +-
.../GlobalOpt/storepointer-compare.ll | 4 +-
.../GlobalOpt/storepointer-no-null-opt.ll | 2 +-
.../test/Transforms/GlobalOpt/storepointer.ll | 2 +-
llvm/test/Transforms/GlobalOpt/tls.ll | 2 +-
.../Transforms/HardwareLoops/ARM/counter.ll | 2 +-
.../Transforms/HardwareLoops/ARM/do-rem.ll | 2 +-
.../Transforms/HardwareLoops/ARM/simple-do.ll | 2 +-
.../IROutliner/region-end-of-module.ll | 2 +-
.../IndVarSimplify/AArch64/widen-loop-comp.ll | 2 +-
.../Transforms/IndVarSimplify/X86/pr26973.ll | 2 +-
.../Transforms/IndVarSimplify/zext-nuw.ll | 2 +-
.../InferAddressSpaces/AMDGPU/basic.ll | 2 +-
.../InferAddressSpaces/AMDGPU/issue110433.ll | 2 +-
.../InferAddressSpaces/AMDGPU/phi-poison.ll | 4 +-
.../InferFunctionAttrs/norecurse_debug.ll | 2 +-
.../2009-01-08-NoInlineDynamicAlloca.ll | 2 +-
llvm/test/Transforms/Inline/alloca_test.ll | 2 +-
llvm/test/Transforms/Inline/blockaddress.ll | 2 +-
.../Transforms/Inline/inline-retainRV-call.ll | 2 +-
.../test/Transforms/Inline/inline_minisize.ll | 2 +-
.../Transforms/Inline/prof-update-instr.ll | 4 +-
.../Inline/prof-update-sample-alwaysinline.ll | 4 +-
.../Transforms/Inline/prof-update-sample.ll | 4 +-
...004-11-27-SetCCForCastLargerAndConstant.ll | 2 +-
.../InstCombine/2007-10-28-stacksave.ll | 2 +-
.../InstCombine/2008-06-24-StackRestore.ll | 6 +-
.../InstCombine/2012-09-17-ZeroSizedAlloca.ll | 4 +-
.../Transforms/InstCombine/addrspacecast.ll | 4 +-
llvm/test/Transforms/InstCombine/assume.ll | 5 +-
.../Transforms/InstCombine/compare-alloca.ll | 2 +-
.../InstCombine/compare-unescaped.ll | 2 +-
.../InstCombine/fold-phi-load-metadata.ll | 2 +-
.../InstCombine/gep-inbounds-null.ll | 7 +-
.../InstCombine/or-select-zero-icmp.ll | 2 +-
llvm/test/Transforms/InstCombine/pr27996.ll | 4 +-
.../InstCombine/ptrtoint-nullgep.ll | 22 +-
llvm/test/Transforms/InstCombine/select.ll | 2 +-
.../ConstProp/inttoptr-gep-nonintegral.ll | 2 +-
llvm/test/Transforms/InstSimplify/compare.ll | 2 +-
.../2004-09-14-AliasAnalysisInvalidate.ll | 2 +-
.../2011-04-06-PromoteResultOfPromotion.ll | 2 +-
llvm/test/Transforms/LICM/constexpr.ll | 4 +-
llvm/test/Transforms/LICM/pr23608.ll | 2 +-
.../Transforms/LICM/pragma-licm-disable.ll | 4 +-
.../AArch64/opt-remark-with-hotness.ll | 2 +-
.../LoopDataPrefetch/AArch64/opt-remark.ll | 2 +-
.../LoopDistribute/basic-with-memchecks.ll | 10 +-
.../Transforms/LoopDistribute/early-exit.ll | 10 +-
.../Transforms/LoopDistribute/outside-use.ll | 10 +-
.../unknown-bounds-for-memchecks.ll | 6 +-
llvm/test/Transforms/LoopFlatten/widen-iv2.ll | 2 +-
.../LoopInterchange/bail-out-one-loop.ll | 6 +-
.../test/Transforms/LoopRotate/PhiRename-1.ll | 2 +-
.../LoopStrengthReduce/AArch64/pr47329.ll | 2 +-
.../AMDGPU/lsr-invalid-ptr-extend.ll | 6 +-
.../Transforms/LoopStrengthReduce/funclet.ll | 32 +-
.../Transforms/LoopStrengthReduce/pr27056.ll | 4 +-
.../LoopUnroll/AMDGPU/unroll-threshold.ll | 4 +-
.../LoopUnroll/runtime-small-upperbound.ll | 2 +-
.../unroll-and-jam-many-instr.ll | 2 +-
.../LoopVectorize/AArch64/pr33053.ll | 2 +-
.../LoopVectorize/X86/masked_load_store.ll | 2 +-
.../Transforms/LoopVectorize/discriminator.ll | 4 +-
.../LoopVectorize/if-conversion-edgemasks.ll | 6 +-
.../Transforms/LoopVectorize/if-conversion.ll | 2 +-
.../LoopVectorize/scev-exitlim-crash.ll | 4 +-
.../LoopVersioning/add-phi-update-users.ll | 2 +-
.../LoopVersioning/noalias-version-twice.ll | 10 +-
.../non-literal-type.ll | 10 +-
.../cfi-nounwind-direct-call.ll | 2 +-
.../LowerTypeTests/cfi-unwind-direct-call.ll | 2 +-
.../LowerTypeTests/function-weak.ll | 10 +-
.../test/Transforms/LowerTypeTests/pr48245.ll | 2 +-
llvm/test/Transforms/MemCpyOpt/pr37967.ll | 2 +-
llvm/test/Transforms/MergeFunc/crash2.ll | 4 +-
llvm/test/Transforms/NewGVN/addrspacecast.ll | 2 +-
llvm/test/Transforms/ObjCARC/code-motion.ll | 2 +-
.../ObjCARC/contract-catchswitch.ll | 2 +-
llvm/test/Transforms/ObjCARC/gvn.ll | 2 +-
llvm/test/Transforms/ObjCARC/nested.ll | 2 +-
.../Transforms/ObjCARC/opt-max-ptr-states.ll | 2 +-
.../test/Transforms/OpenMP/barrier_removal.ll | 4 +-
.../heap-to-shared-missing-declarations.ll | 11 +-
.../OpenMP/spmdization_kernel_env_dep.ll | 2 +-
llvm/test/Transforms/PGOProfile/icp_invoke.ll | 4 +-
.../Transforms/PGOProfile/icp_invoke_nouse.ll | 6 +-
.../Transforms/PGOProfile/icp_mismatch_msg.ll | 6 +-
llvm/test/Transforms/PGOProfile/icp_vararg.ll | 4 +-
.../Transforms/PGOProfile/icp_vararg_sret.ll | 2 +-
.../PGOProfile/indirect_call_annotation.ll | 2 +-
.../PGOProfile/indirect_call_profile.ll | 2 +-
.../PGOProfile/indirect_call_promotion.ll | 2 +-
.../PGOProfile/indirect_call_promotion2.ll | 2 +-
.../indirect_call_promotion_byval.ll | 2 +-
.../indirect_call_promotion_musttail.ll | 2 +-
.../indirect_call_promotion_unique.ll | 2 +-
.../PGOProfile/indirect_call_promotion_vla.ll | 2 +-
.../PGOProfile/multiple_hash_profile.ll | 2 +-
.../PGOProfile/thinlto_samplepgo_icp.ll | 2 +-
.../PGOProfile/thinlto_samplepgo_icp2.ll | 2 +-
.../PGOProfile/thinlto_samplepgo_icp3.ll | 2 +-
.../thinlto_samplepgo_icp_droppeddead.ll | 2 +-
.../PhaseOrdering/globalaa-retained.ll | 2 +-
.../PhaseOrdering/recompute-globalsaa.ll | 2 +-
.../RewriteStatepointsForGC/pr56493.ll | 2 +-
llvm/test/Transforms/SCCP/pr50901.ll | 6 +-
llvm/test/Transforms/SCCP/pthreads.ll | 2 +-
.../SLPVectorizer/AArch64/fmulladd.ll | 2 +-
.../SLPVectorizer/AArch64/slp-abs.ll | 2 +-
.../SLPVectorizer/AArch64/slp-frem.ll | 2 +-
.../Transforms/SLPVectorizer/X86/crash_gep.ll | 2 +-
.../SLPVectorizer/X86/extract_in_tree_user.ll | 2 +-
.../Transforms/SLPVectorizer/X86/pr16899.ll | 2 +-
.../SLPVectorizer/X86/stacksave-dependence.ll | 2 +-
.../X86/vectorize-widest-phis.ll | 2 +-
.../SLPVectorizer/jumbled_store_crash.ll | 2 +-
llvm/test/Transforms/SROA/basictest.ll | 12 +-
llvm/test/Transforms/SafeStack/ARM/debug.ll | 2 +-
.../Transforms/SampleProfile/indirect-call.ll | 2 +-
.../SampleProfile/inline-callee-update.ll | 4 +-
.../SampleProfile/norepeated-icp-2.ll | 2 +-
.../SampleProfile/norepeated-icp-3.ll | 2 +-
.../SampleProfile/norepeated-icp-4.ll | 4 +-
.../SampleProfile/norepeated-icp.ll | 2 +-
.../SampleProfile/profile-context-order.ll | 4 +-
.../SampleProfile/profile-topdown-order.ll | 2 +-
.../test/Transforms/SampleProfile/uniqname.ll | 2 +-
llvm/test/Transforms/Scalarizer/vector-gep.ll | 2 +-
.../SimplifyCFG/PR27615-simplify-cond-br.ll | 2 +-
.../Transforms/TypePromotion/ARM/calls.ll | 2 +-
.../call-promotion-utils-ptrcast-attribute.ll | 2 +-
.../Util/call-promotion-utils-ptrcast.ll | 2 +-
llvm/test/Transforms/Util/nofpclass.ll | 2 +-
llvm/test/tools/gold/X86/common_thinlto.ll | 2 +-
.../macho-gsym-callsite-info-obj.test | 4 +-
.../llvm-objdump/BPF/core-relo-byte-offset.ll | 2 +-
.../llvm-offload-wrapper/offload-wrapper.ll | 4 +-
llvm/tools/llvm-c-test/echo.cpp | 4 +
llvm/tools/llvm-stress/llvm-stress.cpp | 2 +-
llvm/unittests/IR/InstructionsTest.cpp | 2 +-
617 files changed, 2190 insertions(+), 1815 deletions(-)
diff --git a/clang/lib/CodeGen/CGDecl.cpp b/clang/lib/CodeGen/CGDecl.cpp
index 8b1cd83af2396..dcd0d936d7d08 100644
--- a/clang/lib/CodeGen/CGDecl.cpp
+++ b/clang/lib/CodeGen/CGDecl.cpp
@@ -1218,8 +1218,9 @@ void CodeGenFunction::emitStoresForConstant(const VarDecl &D, Address Loc,
if (IsAutoInit)
I->addAnnotationMetadata("auto-init");
- bool valueAlreadyCorrect =
- constant->isNullValue() || isa<llvm::UndefValue>(constant);
+ bool valueAlreadyCorrect = constant->isNullValue() ||
+ constant->isZeroValue() ||
+ isa<llvm::UndefValue>(constant);
if (!valueAlreadyCorrect) {
Loc = Loc.withElementType(Ty);
emitStoresForInitAfterBZero(constant, Loc, isVolatile, IsAutoInit);
diff --git a/clang/test/CodeGen/target-data.c b/clang/test/CodeGen/target-data.c
index e95079490bd3c..17314dac23851 100644
--- a/clang/test/CodeGen/target-data.c
+++ b/clang/test/CodeGen/target-data.c
@@ -160,12 +160,12 @@
// RUN: %clang_cc1 -triple amdgcn-unknown -target-cpu hawaii -o - -emit-llvm %s \
// RUN: | FileCheck %s -check-prefix=R600SI
-// R600SI: target datalayout = "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9"
+// R600SI: target datalayout = "e-m:e-p:64:64-p1:64:64-po2:32:32-po3:32:32-p4:64:64-po5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9"
// Test default -target-cpu
// RUN: %clang_cc1 -triple amdgcn-unknown -o - -emit-llvm %s \
// RUN: | FileCheck %s -check-prefix=R600SIDefault
-// R600SIDefault: target datalayout = "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9"
+// R600SIDefault: target datalayout = "e-m:e-p:64:64-p1:64:64-po2:32:32-po3:32:32-p4:64:64-po5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9"
// RUN: %clang_cc1 -triple arm64-unknown -o - -emit-llvm %s | \
// RUN: FileCheck %s -check-prefix=AARCH64
diff --git a/clang/test/CodeGenOpenCL/amdgpu-env-amdgcn.cl b/clang/test/CodeGenOpenCL/amdgpu-env-amdgcn.cl
index 72ce72644b8ea..b1200c98d550a 100644
--- a/clang/test/CodeGenOpenCL/amdgpu-env-amdgcn.cl
+++ b/clang/test/CodeGenOpenCL/amdgpu-env-amdgcn.cl
@@ -1,5 +1,5 @@
// RUN: %clang_cc1 %s -O0 -triple amdgcn -emit-llvm -o - | FileCheck %s
// RUN: %clang_cc1 %s -O0 -triple amdgcn---opencl -emit-llvm -o - | FileCheck %s
-// CHECK: target datalayout = "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9"
+// CHECK: target datalayout = "e-m:e-p:64:64-p1:64:64-po2:32:32-po3:32:32-p4:64:64-po5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9"
void foo(void) {}
diff --git a/lld/test/ELF/lto/amdgcn-oses.ll b/lld/test/ELF/lto/amdgcn-oses.ll
index b3caf0f0de3b9..151cd664dcebb 100644
--- a/lld/test/ELF/lto/amdgcn-oses.ll
+++ b/lld/test/ELF/lto/amdgcn-oses.ll
@@ -25,7 +25,7 @@
;--- amdhsa.ll
target triple = "amdgcn-amd-amdhsa"
-target datalayout = "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
+target datalayout = "e-m:e-p:64:64-p1:64:64-po2:32:32-po3:32:32-p4:64:64-po5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
!llvm.module.flags = !{!0}
!0 = !{i32 1, !"amdhsa_code_object_version", i32 500}
@@ -36,7 +36,7 @@ define void @_start() {
;--- amdpal.ll
target triple = "amdgcn-amd-amdpal"
-target datalayout = "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
+target datalayout = "e-m:e-p:64:64-p1:64:64-po2:32:32-po3:32:32-p4:64:64-po5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
define amdgpu_cs void @_start() {
ret void
@@ -44,7 +44,7 @@ define amdgpu_cs void @_start() {
;--- mesa3d.ll
target triple = "amdgcn-amd-mesa3d"
-target datalayout = "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
+target datalayout = "e-m:e-p:64:64-p1:64:64-po2:32:32-po3:32:32-p4:64:64-po5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
define void @_start() {
ret void
diff --git a/lld/test/ELF/lto/amdgcn.ll b/lld/test/ELF/lto/amdgcn.ll
index 186185c44a2c2..8cec59611d187 100644
--- a/lld/test/ELF/lto/amdgcn.ll
+++ b/lld/test/ELF/lto/amdgcn.ll
@@ -5,7 +5,7 @@
; Make sure the amdgcn triple is handled
target triple = "amdgcn-amd-amdhsa"
-target datalayout = "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
+target datalayout = "e-m:e-p:64:64-p1:64:64-po2:32:32-po3:32:32-p4:64:64-po5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
define void @_start() {
ret void
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
index fb94fde31fd26..e7cdc7992bcf1 100644
--- a/llvm/docs/LangRef.rst
+++ b/llvm/docs/LangRef.rst
@@ -3352,7 +3352,11 @@ as follows:
default address space 0. The value of ``<as>`` must be in the range [1,2^24).
The optional ``<flags>`` are used to specify properties of pointers in this
address space: the character ``u`` marks pointers as having an unstable
- representation, and ``e`` marks pointers having external state. See
+ representation, and ``e`` marks pointers having external state. ``z`` marks the
+ value of the nullptr as all-zeros (default behavior if it is not specified);
+ ``o`` marks the value of the nullptr as all-ones; ``c`` marks the value of
+ the nullptr as custom (neither all-zeros nor all-ones), such that LLVM will
+ not be able to fold various casts involving nullptr. See
:ref:`Non-Integral Pointer Types <nointptrtype>`. The ``<name>`` is an
optional name of that address space, surrounded by ``(`` and ``)``. If the
name is specified, it must be unique to that address space and cannot be
diff --git a/llvm/include/llvm/Bitcode/LLVMBitCodes.h b/llvm/include/llvm/Bitcode/LLVMBitCodes.h
index 2451d588bdbf7..7cff4b0c4a47b 100644
--- a/llvm/include/llvm/Bitcode/LLVMBitCodes.h
+++ b/llvm/include/llvm/Bitcode/LLVMBitCodes.h
@@ -439,6 +439,7 @@ enum ConstantsCodes {
CST_CODE_PTRAUTH = 33, // [ptr, key, disc, addrdisc]
CST_CODE_PTRAUTH2 = 34, // [ptr, key, disc, addrdisc,
// deactivation_symbol]
+ CST_CODE_ZERO_VALUE = 35, // ZERO_VALUE
};
/// CastOpcodes - These are values used in the bitcode files to encode which
diff --git a/llvm/include/llvm/IR/Constant.h b/llvm/include/llvm/IR/Constant.h
index e8ce453559ed7..77718b4159597 100644
--- a/llvm/include/llvm/IR/Constant.h
+++ b/llvm/include/llvm/IR/Constant.h
@@ -192,6 +192,8 @@ class Constant : public User {
LLVM_ABI static Constant *getNullValue(Type *Ty);
+ LLVM_ABI static Constant *getZeroValue(Type *Ty);
+
/// @returns the value for an integer or vector of integer constant of the
/// given type that has all its bits set to true.
/// Get the all ones value
diff --git a/llvm/include/llvm/IR/Constants.h b/llvm/include/llvm/IR/Constants.h
index af9d25dd7fcd8..33f11de0f8ecc 100644
--- a/llvm/include/llvm/IR/Constants.h
+++ b/llvm/include/llvm/IR/Constants.h
@@ -422,6 +422,9 @@ class ConstantAggregate : public Constant {
/// Transparently provide more efficient getOperand methods.
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Constant);
+ /// Return true if the constant aggregate contains all null values.
+ inline bool isNullValue() const;
+
/// Methods for support type inquiry through isa, cast, and dyn_cast:
static bool classof(const Value *V) {
return V->getValueID() >= ConstantAggregateFirstVal &&
@@ -451,6 +454,8 @@ class ConstantArray final : public ConstantAggregate {
// ConstantArray accessors
LLVM_ABI static Constant *get(ArrayType *T, ArrayRef<Constant *> V);
+ LLVM_ABI static Constant *getNullValue(ArrayType *T);
+
private:
static Constant *getImpl(ArrayType *T, ArrayRef<Constant *> V);
@@ -483,6 +488,8 @@ class ConstantStruct final : public ConstantAggregate {
// ConstantStruct accessors
LLVM_ABI static Constant *get(StructType *T, ArrayRef<Constant *> V);
+ LLVM_ABI static Constant *getNullValue(StructType *T);
+
template <typename... Csts>
static std::enable_if_t<are_base_of<Constant, Csts...>::value, Constant *>
get(StructType *T, Csts *...Vs) {
@@ -535,6 +542,8 @@ class ConstantVector final : public ConstantAggregate {
// ConstantVector accessors
LLVM_ABI static Constant *get(ArrayRef<Constant *> V);
+ LLVM_ABI static Constant *getNullValue(VectorType *T);
+
private:
static Constant *getImpl(ArrayRef<Constant *> V);
diff --git a/llvm/include/llvm/IR/DataLayout.h b/llvm/include/llvm/IR/DataLayout.h
index 4d695e1e5c566..7a67064c6c51a 100644
--- a/llvm/include/llvm/IR/DataLayout.h
+++ b/llvm/include/llvm/IR/DataLayout.h
@@ -84,6 +84,11 @@ class DataLayout {
/// for additional metadata (e.g. AMDGPU buffer fat pointers with bounds
/// and other flags or CHERI capabilities that contain bounds+permissions).
uint32_t IndexBitWidth;
+ /// The value of the nullptr in this address space. It can be three values:
+ /// all-zeros, all-ones, or std::nullopt. Since we don't have a way to
+ /// represent an arbitrary bit pattern, we use std::nullopt to represent the
+ /// case where the nullptr value is neither 0 nor -1.
+ std::optional<APInt> NullPtrValue;
/// Pointers in this address space don't have a well-defined bitwise
/// representation (e.g. they may be relocated by a copying garbage
/// collector and thus have different addresses at different times).
@@ -162,8 +167,8 @@ class DataLayout {
/// Sets or updates the specification for pointer in the given address space.
void setPointerSpec(uint32_t AddrSpace, uint32_t BitWidth, Align ABIAlign,
Align PrefAlign, uint32_t IndexBitWidth,
- bool HasUnstableRepr, bool HasExternalState,
- StringRef AddrSpaceName);
+ std::optional<APInt> NullPtrValue, bool HasUnstableRepr,
+ bool HasExternalState, StringRef AddrSpaceName);
/// Internal helper to get alignment for integer of given bitwidth.
LLVM_ABI Align getIntegerAlignment(uint32_t BitWidth, bool abi_or_pref) const;
@@ -708,6 +713,11 @@ class DataLayout {
///
/// This includes an explicitly requested alignment (if the global has one).
LLVM_ABI Align getPreferredAlign(const GlobalVariable *GV) const;
+
+ /// Returns the value of the nullptr in the given address space.
+ LLVM_ABI std::optional<APInt> getNullPtrValue(unsigned AddrSpace) const {
+ return getPointerSpec(AddrSpace).NullPtrValue;
+ }
};
inline DataLayout *unwrap(LLVMTargetDataRef P) {
diff --git a/llvm/lib/Analysis/ConstantFolding.cpp b/llvm/lib/Analysis/ConstantFolding.cpp
index a9b51065a1d99..1655052564880 100644
--- a/llvm/lib/Analysis/ConstantFolding.cpp
+++ b/llvm/lib/Analysis/ConstantFolding.cpp
@@ -1499,6 +1499,21 @@ Constant *llvm::ConstantFoldCastOperand(unsigned Opcode, Constant *C,
llvm_unreachable("Missing case");
case Instruction::PtrToAddr:
case Instruction::PtrToInt:
+ // If the input is a nullptr, we can fold it to the corresponding nullptr
+ // value.
+ if (Opcode == Instruction::PtrToInt && C->isNullValue()) {
+ if (std::optional<APInt> NullPtrValue = DL.getNullPtrValue(
+ C->getType()->getScalarType()->getPointerAddressSpace())) {
+ if (NullPtrValue->isZero()) {
+ return Constant::getZeroValue(DestTy);
+ } else if (NullPtrValue->isAllOnes()) {
+ return ConstantInt::get(
+ DestTy, NullPtrValue->zextOrTrunc(DestTy->getScalarSizeInBits()));
+ } else {
+ llvm_unreachable("invalid nullptr value");
+ }
+ }
+ }
if (auto *CE = dyn_cast<ConstantExpr>(C)) {
Constant *FoldedValue = nullptr;
// If the input is an inttoptr, eliminate the pair. This requires knowing
@@ -1545,6 +1560,13 @@ Constant *llvm::ConstantFoldCastOperand(unsigned Opcode, Constant *C,
}
break;
case Instruction::IntToPtr:
+ // We can fold it to a null pointer if the input is the nullptr value.
+ if (std::optional<APInt> NullPtrValue = DL.getNullPtrValue(
+ DestTy->getScalarType()->getPointerAddressSpace())) {
+ if ((NullPtrValue->isZero() && C->isZeroValue()) ||
+ (NullPtrValue->isAllOnes() && C->isAllOnesValue()))
+ return Constant::getNullValue(DestTy);
+ }
// If the input is a ptrtoint, turn the pair into a ptr to ptr bitcast if
// the int size is >= the ptr size and the address spaces are the same.
// This requires knowing the width of a pointer, so it can't be done in
@@ -1563,6 +1585,24 @@ Constant *llvm::ConstantFoldCastOperand(unsigned Opcode, Constant *C,
}
}
break;
+ case Instruction::AddrSpaceCast:
+ // A null pointer (`ptr addrspace(N) null` in IR presentation,
+ // `ConstantPointerNull` in LLVM class, not `nullptr` in C/C++) used to
+ // represent a zero-value pointer in the corresponding address space.
+ // Therefore, we can't simply fold an address space cast of a null pointer
+ // from one address space to another, because on some targets, the nullptr
+ // of an address space could be non-zero.
+ //
+ // Recently, the semantic of `ptr addrspace(N) null` is changed to represent
+ // the actual nullptr in the corresponding address space. It can be zero or
+ // non-zero, depending on the target. Therefore, we can fold an address
+ // space cast of a nullptr from one address space to another.
+
+ // If the input is a nullptr, we can fold it to the corresponding
+ // nullptr in the destination address space.
+ if (C->isNullValue())
+ return Constant::getNullValue(DestTy);
+ [[fallthrough]];
case Instruction::Trunc:
case Instruction::ZExt:
case Instruction::SExt:
@@ -1572,7 +1612,6 @@ Constant *llvm::ConstantFoldCastOperand(unsigned Opcode, Constant *C,
case Instruction::SIToFP:
case Instruction::FPToUI:
case Instruction::FPToSI:
- case Instruction::AddrSpaceCast:
break;
case Instruction::BitCast:
return FoldBitCast(C, DestTy, DL);
diff --git a/llvm/lib/AsmParser/LLParser.cpp b/llvm/lib/AsmParser/LLParser.cpp
index a09ab4fc7828c..768da9ffdaa04 100644
--- a/llvm/lib/AsmParser/LLParser.cpp
+++ b/llvm/lib/AsmParser/LLParser.cpp
@@ -6594,7 +6594,7 @@ bool LLParser::convertValIDToValue(Type *Ty, ValID &ID, Value *&V,
if (auto *TETy = dyn_cast<TargetExtType>(Ty))
if (!TETy->hasProperty(TargetExtType::HasZeroInit))
return error(ID.Loc, "invalid type for null constant");
- V = Constant::getNullValue(Ty);
+ V = Constant::getZeroValue(Ty);
return false;
case ValID::t_None:
if (!Ty->isTokenTy())
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
index 9dd993f0dc173..cfd047cef7d98 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -3299,6 +3299,14 @@ Error BitcodeReader::parseConstants() {
return error("Invalid type for a constant null value");
V = Constant::getNullValue(CurTy);
break;
+ case bitc::CST_CODE_ZERO_VALUE: // ZERO_VALUE
+ if (CurTy->isVoidTy() || CurTy->isFunctionTy() || CurTy->isLabelTy())
+ return error("Invalid type for a constant zero value");
+ if (auto *TETy = dyn_cast<TargetExtType>(CurTy))
+ if (!TETy->hasProperty(TargetExtType::HasZeroInit))
+ return error("Invalid type for a constant zero value");
+ V = Constant::getZeroValue(CurTy);
+ break;
case bitc::CST_CODE_INTEGER: // INTEGER: [intval]
if (!CurTy->isIntOrIntVectorTy() || Record.empty())
return error("Invalid integer const record");
diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
index 845ecb4672cf2..62c31a5e9b5a4 100644
--- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
+++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
@@ -2862,6 +2862,8 @@ void ModuleBitcodeWriter::writeConstants(unsigned FirstVal, unsigned LastVal,
unsigned AbbrevToUse = 0;
if (C->isNullValue()) {
Code = bitc::CST_CODE_NULL;
+ } else if (C->isZeroValue()) {
+ Code = bitc::CST_CODE_ZERO_VALUE;
} else if (isa<PoisonValue>(C)) {
Code = bitc::CST_CODE_POISON;
} else if (isa<UndefValue>(C)) {
@@ -2925,7 +2927,7 @@ void ModuleBitcodeWriter::writeConstants(unsigned FirstVal, unsigned LastVal,
else if (isCStr7)
AbbrevToUse = CString7Abbrev;
} else if (const ConstantDataSequential *CDS =
- dyn_cast<ConstantDataSequential>(C)) {
+ dyn_cast<ConstantDataSequential>(C)) {
Code = bitc::CST_CODE_DATA;
Type *EltTy = CDS->getElementType();
if (isa<IntegerType>(EltTy)) {
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index 4d2992456f6f8..da633507a207a 100644
--- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -4301,8 +4301,15 @@ static void emitGlobalConstantImpl(const DataLayout &DL, const Constant *CV,
return emitGlobalConstantFP(CFP, AP);
}
- if (isa<ConstantPointerNull>(CV)) {
- AP.OutStreamer->emitIntValue(0, Size);
+ if (auto *NullPtr = dyn_cast<ConstantPointerNull>(CV)) {
+ if (std::optional<APInt> NullPtrVal =
+ DL.getNullPtrValue(NullPtr->getType()->getPointerAddressSpace())) {
+ AP.OutStreamer->emitIntValue(NullPtrVal->getSExtValue(), Size);
+ } else {
+ // We fall back to the default behavior of emitting a zero value if we
+ // can't get the null pointer value from the data layout.
+ AP.OutStreamer->emitIntValue(0, Size);
+ }
return;
}
diff --git a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
index 1698a6433e370..3810944022d67 100644
--- a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
@@ -3814,9 +3814,18 @@ bool IRTranslator::translate(const Constant &C, Register Reg) {
EntryBuilder->buildFConstant(Reg, *CF);
} else if (isa<UndefValue>(C))
EntryBuilder->buildUndef(Reg);
- else if (isa<ConstantPointerNull>(C))
- EntryBuilder->buildConstant(Reg, 0);
- else if (auto GV = dyn_cast<GlobalValue>(&C))
+ else if (auto *NullPtr = dyn_cast<ConstantPointerNull>(&C)) {
+ const DataLayout &DL = EntryBuilder->getMF().getDataLayout();
+ if (std::optional<APInt> NullPtrValue =
+ DL.getNullPtrValue(NullPtr->getType()->getAddressSpace())) {
+ if (NullPtrValue->isZero())
+ EntryBuilder->buildConstant(Reg, 0);
+ else if (NullPtrValue->isAllOnes())
+ EntryBuilder->buildConstant(Reg, -1);
+ else
+ llvm_unreachable("unknown null pointer value");
+ }
+ } else if (auto GV = dyn_cast<GlobalValue>(&C))
EntryBuilder->buildGlobalValue(Reg, GV);
else if (auto CPA = dyn_cast<ConstantPtrAuth>(&C)) {
Register Addr = getOrCreateVReg(*CPA->getPointer());
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
index b8da6010bb74d..f57b14de24866 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
@@ -1874,8 +1874,18 @@ SDValue SelectionDAGBuilder::getValueImpl(const Value *V) {
getValue(CPA->getDiscriminator()));
}
- if (isa<ConstantPointerNull>(C))
- return DAG.getConstant(0, getCurSDLoc(), VT);
+ if (auto *NullPtr = dyn_cast<ConstantPointerNull>(C)) {
+ const DataLayout &DL = DAG.getDataLayout();
+ if (std::optional<APInt> NullPtrValue =
+ DL.getNullPtrValue(NullPtr->getType()->getAddressSpace())) {
+ if (NullPtrValue->isZero())
+ return DAG.getConstant(0, getCurSDLoc(), VT);
+ else if (NullPtrValue->isAllOnes())
+ return DAG.getAllOnesConstant(getCurSDLoc(), VT);
+ else
+ llvm_unreachable("unknown null pointer value");
+ }
+ }
if (match(C, m_VScale()))
return DAG.getVScale(getCurSDLoc(), VT, APInt(VT.getSizeInBits(), 1));
diff --git a/llvm/lib/IR/AsmWriter.cpp b/llvm/lib/IR/AsmWriter.cpp
index 5cf9532a988fe..7866572ce4064 100644
--- a/llvm/lib/IR/AsmWriter.cpp
+++ b/llvm/lib/IR/AsmWriter.cpp
@@ -1829,6 +1829,15 @@ static void writeConstantInternal(raw_ostream &Out, const Constant *CV,
}
}
+ // Use zeroinitializer for inttoptr(0) constant expression.
+ if (CE->getOpcode() == Instruction::IntToPtr) {
+ Constant *SrcCI = cast<Constant>(CE->getOperand(0));
+ if (SrcCI->isZeroValue()) {
+ Out << "zeroinitializer";
+ return;
+ }
+ }
+
Out << CE->getOpcodeName();
writeOptimizationInfo(Out, CE);
Out << " (";
diff --git a/llvm/lib/IR/ConstantFold.cpp b/llvm/lib/IR/ConstantFold.cpp
index 6a9ef2efa321f..1ba3d4dfd41a0 100644
--- a/llvm/lib/IR/ConstantFold.cpp
+++ b/llvm/lib/IR/ConstantFold.cpp
@@ -126,6 +126,38 @@ Constant *llvm::ConstantFoldCastInstruction(unsigned opc, Constant *V,
if (isa<PoisonValue>(V))
return PoisonValue::get(DestTy);
+ if (opc == Instruction::IntToPtr) {
+ // We can't fold inttoptr(0) to ConstantPointerNull without checking the
+ // target data layout. However, since data layout is not available here, we
+ // can't do this.
+ if (V->isZeroValue())
+ return nullptr;
+ // If the input is a ptrtoint(0), we can fold it to the corresponding zero
+ // value pointer.
+ if (auto *CE = dyn_cast<ConstantExpr>(V)) {
+ if (CE->getOpcode() == Instruction::PtrToInt &&
+ CE->getOperand(0)->isZeroValue())
+ return Constant::getZeroValue(DestTy);
+ }
+ }
+ if (opc == Instruction::PtrToInt) {
+ // Similarly, we can't fold ptrtoint(nullptr) to null.
+ if (V->isNullValue())
+ return nullptr;
+ // If the input is a inttoptr(0), we can fold it to the corresponding
+ // zero value.
+ if (auto *CE = dyn_cast<ConstantExpr>(V)) {
+ if (CE->getOpcode() == Instruction::IntToPtr &&
+ CE->getOperand(0)->isZeroValue())
+ return Constant::getZeroValue(DestTy);
+ }
+ }
+ // However, since the recent change of the semantic of `ptr addrspace(N)
+ // null`, we can fold address space cast of a nullptr to the corresponding
+ // nullptr in the destination address space.
+ if (opc == Instruction::AddrSpaceCast && V->isNullValue())
+ return Constant::getNullValue(DestTy);
+
if (isa<UndefValue>(V)) {
// zext(undef) = 0, because the top bits will be zero.
// sext(undef) = 0, because the top bits will all be the same.
@@ -256,7 +288,8 @@ Constant *llvm::ConstantFoldCastInstruction(unsigned opc, Constant *V,
Constant *llvm::ConstantFoldSelectInstruction(Constant *Cond,
Constant *V1, Constant *V2) {
// Check for i1 and vector true/false conditions.
- if (Cond->isNullValue()) return V2;
+ if (Cond->isZeroValue())
+ return V2;
if (Cond->isAllOnesValue()) return V1;
// If the condition is a vector constant, fold the result elementwise.
diff --git a/llvm/lib/IR/Constants.cpp b/llvm/lib/IR/Constants.cpp
index 2f020274c305a..876cf7b978929 100644
--- a/llvm/lib/IR/Constants.cpp
+++ b/llvm/lib/IR/Constants.cpp
@@ -72,17 +72,35 @@ bool Constant::isNegativeZeroValue() const {
}
// Return true iff this constant is positive zero (floating point), negative
-// zero (floating point), or a null value.
+// zero (floating point), zero-value pointer, or a null value.
bool Constant::isZeroValue() const {
+ // We can no longer safely say that a ConstantPointerNull is a zero value.
+ if (isa<ConstantPointerNull>(this))
+ return false;
+
// Floating point values have an explicit -0.0 value.
if (const ConstantFP *CFP = dyn_cast<ConstantFP>(this))
return CFP->isZero();
+ // Zero value pointer is a constant expression of inttoptr(0).
+ if (const auto *CE = dyn_cast<ConstantExpr>(this)) {
+ if (CE->getOpcode() == Instruction::IntToPtr) {
+ Constant *SrcCI = cast<Constant>(CE->getOperand(0));
+ // We don't need to check the bitwise value since it is zext or truncate
+ // for inttoptr(0) so it doesn't matter.
+ if (SrcCI->isZeroValue())
+ return true;
+ }
+ }
+
// Check for constant splat vectors of 1 values.
if (getType()->isVectorTy())
if (const auto *SplatCFP = dyn_cast_or_null<ConstantFP>(getSplatValue()))
return SplatCFP->isZero();
+ if (isa<ConstantAggregateZero>(this))
+ return true;
+
// Otherwise, just use +0.0.
return isNullValue();
}
@@ -100,8 +118,14 @@ bool Constant::isNullValue() const {
// constant zero is zero for aggregates, cpnull is null for pointers, none for
// tokens.
- return isa<ConstantAggregateZero>(this) || isa<ConstantPointerNull>(this) ||
- isa<ConstantTokenNone>(this) || isa<ConstantTargetNone>(this);
+ if (isa<ConstantPointerNull>(this) || isa<ConstantTokenNone>(this) ||
+ isa<ConstantTargetNone>(this))
+ return true;
+
+ if (auto *CA = dyn_cast<ConstantAggregate>(this))
+ return CA->isNullValue();
+
+ return false;
}
bool Constant::isAllOnesValue() const {
@@ -386,7 +410,10 @@ bool Constant::containsConstantExpression() const {
return false;
}
-/// Constructor to create a '0' constant of arbitrary type.
+/// Constructor that creates a null constant of any type. For most types, this
+/// means a constant with value '0', but for pointer types, it represents a
+/// nullptr constant. A nullptr isn't always a zero-value pointer in certain
+/// address spaces on some targets.
Constant *Constant::getNullValue(Type *Ty) {
switch (Ty->getTypeID()) {
case Type::IntegerTyID:
@@ -403,10 +430,12 @@ Constant *Constant::getNullValue(Type *Ty) {
case Type::PointerTyID:
return ConstantPointerNull::get(cast<PointerType>(Ty));
case Type::StructTyID:
+ return ConstantStruct::getNullValue(cast<StructType>(Ty));
case Type::ArrayTyID:
+ return ConstantArray::getNullValue(cast<ArrayType>(Ty));
case Type::FixedVectorTyID:
case Type::ScalableVectorTyID:
- return ConstantAggregateZero::get(Ty);
+ return ConstantVector::getNullValue(cast<VectorType>(Ty));
case Type::TokenTyID:
return ConstantTokenNone::get(Ty->getContext());
case Type::TargetExtTyID:
@@ -417,6 +446,24 @@ Constant *Constant::getNullValue(Type *Ty) {
}
}
+/// Constructor that creates a zero constant of any type. For most types, this
+/// is equivalent to getNullValue. For pointer types, it creates an inttoptr
+/// constant expression.
+Constant *Constant::getZeroValue(Type *Ty) {
+ switch (Ty->getTypeID()) {
+ case Type::PointerTyID:
+ return ConstantExpr::getIntToPtr(
+ ConstantInt::get(Type::getInt8Ty(Ty->getContext()), 0), Ty);
+ case Type::StructTyID:
+ case Type::ArrayTyID:
+ case Type::FixedVectorTyID:
+ case Type::ScalableVectorTyID:
+ return ConstantAggregateZero::get(Ty);
+ default:
+ return Constant::getNullValue(Ty);
+ }
+}
+
Constant *Constant::getIntegerValue(Type *Ty, const APInt &V) {
Type *ScalarTy = Ty->getScalarType();
@@ -752,7 +799,7 @@ static bool constantIsDead(const Constant *C, bool RemoveDeadUsers) {
ReplaceableMetadataImpl::SalvageDebugInfo(*C);
const_cast<Constant *>(C)->destroyConstant();
}
-
+
return true;
}
@@ -1154,12 +1201,12 @@ void ConstantFP::destroyConstantImpl() {
Constant *ConstantAggregateZero::getSequentialElement() const {
if (auto *AT = dyn_cast<ArrayType>(getType()))
- return Constant::getNullValue(AT->getElementType());
- return Constant::getNullValue(cast<VectorType>(getType())->getElementType());
+ return Constant::getZeroValue(AT->getElementType());
+ return Constant::getZeroValue(cast<VectorType>(getType())->getElementType());
}
Constant *ConstantAggregateZero::getStructElement(unsigned Elt) const {
- return Constant::getNullValue(getType()->getStructElementType(Elt));
+ return Constant::getZeroValue(getType()->getStructElementType(Elt));
}
Constant *ConstantAggregateZero::getElementValue(Constant *C) const {
@@ -1325,6 +1372,19 @@ ConstantAggregate::ConstantAggregate(Type *T, ValueTy VT,
}
}
+bool ConstantAggregate::isNullValue() const {
+ if (getType()->isVectorTy()) {
+ Constant *V = getSplatValue();
+ return V && V->isNullValue();
+ }
+
+ for (unsigned I = 0; I < getNumOperands(); ++I) {
+ if (!getOperand(I)->isNullValue())
+ return false;
+ }
+ return true;
+}
+
ConstantArray::ConstantArray(ArrayType *T, ArrayRef<Constant *> V,
AllocInfo AllocInfo)
: ConstantAggregate(T, ConstantArrayVal, V, AllocInfo) {
@@ -1410,11 +1470,11 @@ Constant *ConstantStruct::get(StructType *ST, ArrayRef<Constant*> V) {
if (!V.empty()) {
isUndef = isa<UndefValue>(V[0]);
isPoison = isa<PoisonValue>(V[0]);
- isZero = V[0]->isNullValue();
+ isZero = V[0]->isZeroValue();
// PoisonValue inherits UndefValue, so its check is not necessary.
if (isUndef || isZero) {
for (Constant *C : V) {
- if (!C->isNullValue())
+ if (!C->isZeroValue())
isZero = false;
if (!isa<PoisonValue>(C))
isPoison = false;
@@ -1455,7 +1515,7 @@ Constant *ConstantVector::getImpl(ArrayRef<Constant*> V) {
// If this is an all-undef or all-zero vector, return a
// ConstantAggregateZero or UndefValue.
Constant *C = V[0];
- bool isZero = C->isNullValue();
+ bool isZero = C->isZeroValue();
bool isUndef = isa<UndefValue>(C);
bool isPoison = isa<PoisonValue>(C);
bool isSplatFP = UseConstantFPForFixedLengthSplat && isa<ConstantFP>(C);
@@ -2732,7 +2792,7 @@ Constant *ConstantExpr::getBinOpIdentity(unsigned Opcode, Type *Ty,
case Instruction::Add: // X + 0 = X
case Instruction::Or: // X | 0 = X
case Instruction::Xor: // X ^ 0 = X
- return Constant::getNullValue(Ty);
+ return Constant::getZeroValue(Ty);
case Instruction::Mul: // X * 1 = X
return ConstantInt::get(Ty, 1);
case Instruction::And: // X & -1 = X
@@ -2756,7 +2816,7 @@ Constant *ConstantExpr::getBinOpIdentity(unsigned Opcode, Type *Ty,
case Instruction::LShr: // X >>u 0 = X
case Instruction::AShr: // X >> 0 = X
case Instruction::FSub: // X - 0.0 = X
- return Constant::getNullValue(Ty);
+ return Constant::getZeroValue(Ty);
case Instruction::SDiv: // X / 1 = X
case Instruction::UDiv: // X /u 1 = X
return ConstantInt::get(Ty, 1);
@@ -2770,7 +2830,7 @@ Constant *ConstantExpr::getBinOpIdentity(unsigned Opcode, Type *Ty,
Constant *ConstantExpr::getIntrinsicIdentity(Intrinsic::ID ID, Type *Ty) {
switch (ID) {
case Intrinsic::umax:
- return Constant::getNullValue(Ty);
+ return Constant::getZeroValue(Ty);
case Intrinsic::umin:
return Constant::getAllOnesValue(Ty);
case Intrinsic::smax:
@@ -2804,7 +2864,7 @@ Constant *ConstantExpr::getBinOpAbsorber(unsigned Opcode, Type *Ty,
case Instruction::And: // 0 & X = 0
case Instruction::Mul: // 0 * X = 0
- return Constant::getNullValue(Ty);
+ return Constant::getZeroValue(Ty);
}
// AllowLHSConstant must be set.
@@ -2821,7 +2881,7 @@ Constant *ConstantExpr::getBinOpAbsorber(unsigned Opcode, Type *Ty,
case Instruction::UDiv: // 0 /u X = 0
case Instruction::URem: // 0 %u X = 0
case Instruction::SRem: // 0 %s X = 0
- return Constant::getNullValue(Ty);
+ return Constant::getZeroValue(Ty);
}
}
@@ -3357,6 +3417,12 @@ Value *ConstantArray::handleOperandChangeImpl(Value *From, Value *To) {
Values, this, From, ToC, NumUpdated, OperandNo);
}
+Constant *ConstantArray::getNullValue(ArrayType *T) {
+ return ConstantArray::get(
+ T, SmallVector<Constant *>(T->getNumElements(),
+ Constant::getNullValue(T->getElementType())));
+}
+
Value *ConstantStruct::handleOperandChangeImpl(Value *From, Value *To) {
assert(isa<Constant>(To) && "Cannot make Constant refer to non-constant!");
Constant *ToC = cast<Constant>(To);
@@ -3393,6 +3459,14 @@ Value *ConstantStruct::handleOperandChangeImpl(Value *From, Value *To) {
Values, this, From, ToC, NumUpdated, OperandNo);
}
+Constant *ConstantStruct::getNullValue(StructType *T) {
+ SmallVector<Constant *> Values;
+ Values.reserve(T->getNumElements());
+ for (unsigned I = 0; I < T->getNumElements(); ++I)
+ Values.push_back(Constant::getNullValue(T->getElementType(I)));
+ return ConstantStruct::get(T, Values);
+}
+
Value *ConstantVector::handleOperandChangeImpl(Value *From, Value *To) {
assert(isa<Constant>(To) && "Cannot make Constant refer to non-constant!");
Constant *ToC = cast<Constant>(To);
@@ -3419,6 +3493,11 @@ Value *ConstantVector::handleOperandChangeImpl(Value *From, Value *To) {
Values, this, From, ToC, NumUpdated, OperandNo);
}
+Constant *ConstantVector::getNullValue(VectorType *T) {
+ return ConstantVector::getSplat(T->getElementCount(),
+ Constant::getNullValue(T->getElementType()));
+}
+
Value *ConstantExpr::handleOperandChangeImpl(Value *From, Value *ToV) {
assert(isa<Constant>(ToV) && "Cannot make Constant refer to non-constant!");
Constant *To = cast<Constant>(ToV);
diff --git a/llvm/lib/IR/DataLayout.cpp b/llvm/lib/IR/DataLayout.cpp
index 05aa6c29c0e50..0c6449cc77578 100644
--- a/llvm/lib/IR/DataLayout.cpp
+++ b/llvm/lib/IR/DataLayout.cpp
@@ -198,8 +198,8 @@ DataLayout::DataLayout()
FloatSpecs(ArrayRef(DefaultFloatSpecs)),
VectorSpecs(ArrayRef(DefaultVectorSpecs)) {
// Default pointer type specifications.
- setPointerSpec(0, 64, Align::Constant<8>(), Align::Constant<8>(), 64, false,
- false, "");
+ setPointerSpec(0, 64, Align::Constant<8>(), Align::Constant<8>(), 64,
+ APInt(64, 0), false, false, "");
}
DataLayout::DataLayout(StringRef LayoutString) : DataLayout() {
@@ -450,6 +450,15 @@ Error DataLayout::parsePointerSpec(
bool ExternalState = false;
bool UnstableRepr = false;
StringRef AddrSpaceName;
+ // Default nullptr value kind is all-zeros, which is same as the previous
+ // behavior.
+ enum {
+ AllZeros,
+ AllOnes,
+ // The nullptr value is neither all-zeros nor all-ones. LLVM doesn't accept
+ // arbitrary bit patterns, so it will not be able to fold nullptr.
+ Custom
+ } NullPtrValueKind = AllZeros;
StringRef AddrSpaceStr = Components[0];
while (!AddrSpaceStr.empty()) {
char C = AddrSpaceStr.front();
@@ -457,6 +466,12 @@ Error DataLayout::parsePointerSpec(
ExternalState = true;
} else if (C == 'u') {
UnstableRepr = true;
+ } else if (C == 'z') {
+ NullPtrValueKind = AllZeros;
+ } else if (C == 'o') {
+ NullPtrValueKind = AllOnes;
+ } else if (C == 'c') {
+ NullPtrValueKind = Custom;
} else if (isAlpha(C)) {
return createStringError("'%c' is not a valid pointer specification flag",
C);
@@ -509,8 +524,14 @@ Error DataLayout::parsePointerSpec(
return createStringError(
"index size cannot be larger than the pointer size");
+ std::optional<APInt> NullPtrValue;
+ if (NullPtrValueKind == AllZeros)
+ NullPtrValue = APInt::getZero(BitWidth);
+ else if (NullPtrValueKind == AllOnes)
+ NullPtrValue = APInt::getAllOnes(BitWidth);
+
setPointerSpec(AddrSpace, BitWidth, ABIAlign, PrefAlign, IndexBitWidth,
- UnstableRepr, ExternalState, AddrSpaceName);
+ NullPtrValue, UnstableRepr, ExternalState, AddrSpaceName);
return Error::success();
}
@@ -689,8 +710,8 @@ Error DataLayout::parseLayoutString(StringRef LayoutString) {
// the spec for AS0, and we then update that to mark it non-integral.
const PointerSpec &PS = getPointerSpec(AS);
setPointerSpec(AS, PS.BitWidth, PS.ABIAlign, PS.PrefAlign, PS.IndexBitWidth,
- /*HasUnstableRepr=*/true, /*HasExternalState=*/false,
- getAddressSpaceName(AS));
+ PS.NullPtrValue, /*HasUnstableRepr=*/true,
+ /*HasExternalState=*/false, getAddressSpaceName(AS));
}
return Error::success();
@@ -738,19 +759,22 @@ DataLayout::getPointerSpec(uint32_t AddrSpace) const {
void DataLayout::setPointerSpec(uint32_t AddrSpace, uint32_t BitWidth,
Align ABIAlign, Align PrefAlign,
- uint32_t IndexBitWidth, bool HasUnstableRepr,
- bool HasExternalState,
+ uint32_t IndexBitWidth,
+ std::optional<APInt> NullPtrValue,
+ bool HasUnstableRepr, bool HasExternalState,
StringRef AddrSpaceName) {
auto I = lower_bound(PointerSpecs, AddrSpace, LessPointerAddrSpace());
if (I == PointerSpecs.end() || I->AddrSpace != AddrSpace) {
PointerSpecs.insert(I, PointerSpec{AddrSpace, BitWidth, ABIAlign, PrefAlign,
- IndexBitWidth, HasUnstableRepr,
- HasExternalState, AddrSpaceName.str()});
+ IndexBitWidth, NullPtrValue,
+ HasUnstableRepr, HasExternalState,
+ AddrSpaceName.str()});
} else {
I->BitWidth = BitWidth;
I->ABIAlign = ABIAlign;
I->PrefAlign = PrefAlign;
I->IndexBitWidth = IndexBitWidth;
+ I->NullPtrValue = NullPtrValue;
I->HasUnstableRepresentation = HasUnstableRepr;
I->HasExternalState = HasExternalState;
I->AddrSpaceName = AddrSpaceName.str();
diff --git a/llvm/lib/IR/Verifier.cpp b/llvm/lib/IR/Verifier.cpp
index dd42623a1de75..737e35d52ba76 100644
--- a/llvm/lib/IR/Verifier.cpp
+++ b/llvm/lib/IR/Verifier.cpp
@@ -845,7 +845,7 @@ void Verifier::visitGlobalVariable(const GlobalVariable &GV) {
// If the global has common linkage, it must have a zero initializer and
// cannot be constant.
if (GV.hasCommonLinkage()) {
- Check(GV.getInitializer()->isNullValue(),
+ Check(GV.getInitializer()->isZeroValue(),
"'common' global must have a zero initializer!", &GV);
Check(!GV.isConstant(), "'common' global may not be marked constant!",
&GV);
diff --git a/llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp b/llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
index 48a9085820471..1c93ea02d00f7 100644
--- a/llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
+++ b/llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
@@ -1994,6 +1994,8 @@ void DXILBitcodeWriter::writeConstants(unsigned FirstVal, unsigned LastVal,
unsigned AbbrevToUse = 0;
if (C->isNullValue()) {
Code = bitc::CST_CODE_NULL;
+ } else if (C->isZeroValue()) {
+ Code = bitc::CST_CODE_ZERO_VALUE;
} else if (isa<UndefValue>(C)) {
Code = bitc::CST_CODE_UNDEF;
} else if (const ConstantInt *IV = dyn_cast<ConstantInt>(C)) {
diff --git a/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp b/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
index 9bbb3aad89c44..f6710d6db3db9 100644
--- a/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
+++ b/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
@@ -1028,7 +1028,8 @@ void NVPTXAsmPrinter::printModuleLevelGV(const GlobalVariable *GVar,
(GVar->getAddressSpace() == ADDRESS_SPACE_CONST)) &&
GVar->hasInitializer()) {
const Constant *Initializer = GVar->getInitializer();
- if (!isa<UndefValue>(Initializer) && !Initializer->isNullValue()) {
+ if (!isa<UndefValue>(Initializer) && !Initializer->isNullValue() &&
+ !Initializer->isZeroValue()) {
AggBuffer aggBuffer(ElementSize, *this);
bufferAggregateConstant(Initializer, &aggBuffer);
if (aggBuffer.numSymbols()) {
diff --git a/llvm/lib/TargetParser/TargetDataLayout.cpp b/llvm/lib/TargetParser/TargetDataLayout.cpp
index 981c5561211db..0b2fd85f12631 100644
--- a/llvm/lib/TargetParser/TargetDataLayout.cpp
+++ b/llvm/lib/TargetParser/TargetDataLayout.cpp
@@ -273,10 +273,10 @@ static std::string computeAMDDataLayout(const Triple &TT) {
// (address space 7), and 128-bit non-integral buffer resourcees (address
// space 8) which cannot be non-trivilally accessed by LLVM memory operations
// like getelementptr.
- return "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32"
- "-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32-i64:64-"
- "v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-"
- "v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9";
+ return "e-m:e-p:64:64-p1:64:64-po2:32:32-po3:32:32-p4:64:64-po5:32:32-p6:32:"
+ "32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32-i64:64-v16:"
+ "16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:"
+ "1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9";
}
static std::string computeRISCVDataLayout(const Triple &TT, StringRef ABIName) {
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index 83faa89218bcd..219e5d01d6897 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -25634,10 +25634,13 @@ class HorizontalReduction {
: Mask) dbgs()
<< I << " ";
dbgs() << "> of " << VectorizedValue << ". (HorRdx)\n");
- if (NeedShuffle)
+ if (NeedShuffle) {
+ assert(!VectorizedValue->getType()->isPointerTy() &&
+ "don't expect a pointer type");
VectorizedValue = Builder.CreateShuffleVector(
- VectorizedValue,
- ConstantVector::getNullValue(VectorizedValue->getType()), Mask);
+ VectorizedValue, Constant::getNullValue(VectorizedValue->getType()),
+ Mask);
+ }
return VectorizedValue;
}
case RecurKind::FAdd: {
diff --git a/llvm/test/Analysis/Delinearization/gcd_multiply_expr.ll b/llvm/test/Analysis/Delinearization/gcd_multiply_expr.ll
index a5af30011f487..2d697754b2df9 100644
--- a/llvm/test/Analysis/Delinearization/gcd_multiply_expr.ll
+++ b/llvm/test/Analysis/Delinearization/gcd_multiply_expr.ll
@@ -20,7 +20,7 @@
@g = common global i32 0, align 4
@h = common global i32 0, align 4
- at f = common global ptr null, align 4
+ at f = common global ptr zeroinitializer, align 4
@a = common global i32 0, align 4
@b = common global i32 0, align 4
@c = common global i32 0, align 4
diff --git a/llvm/test/Analysis/GlobalsModRef/global-used-by-global.ll b/llvm/test/Analysis/GlobalsModRef/global-used-by-global.ll
index d8fa4a1c9da4c..f09c6e0391b2b 100644
--- a/llvm/test/Analysis/GlobalsModRef/global-used-by-global.ll
+++ b/llvm/test/Analysis/GlobalsModRef/global-used-by-global.ll
@@ -2,7 +2,7 @@
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
- at a = internal global ptr null, align 8
+ at a = internal global ptr zeroinitializer, align 8
@b = global ptr @a, align 8
@c = global ptr @a, align 8
@d = common global i32 0, align 4
diff --git a/llvm/test/Analysis/GlobalsModRef/indirect-global.ll b/llvm/test/Analysis/GlobalsModRef/indirect-global.ll
index fc7f2164fb1c8..e9f73b7ece5d1 100644
--- a/llvm/test/Analysis/GlobalsModRef/indirect-global.ll
+++ b/llvm/test/Analysis/GlobalsModRef/indirect-global.ll
@@ -6,7 +6,7 @@
target datalayout = "p:32:32:32"
- at G = internal global ptr null ; <ptr> [#uses=3]
+ at G = internal global ptr zeroinitializer ; <ptr> [#uses=3]
declare noalias ptr @malloc(i32) allockind("alloc,uninitialized") allocsize(0) inaccessiblememonly
define void @malloc_init() {
@@ -34,7 +34,7 @@ define i32 @malloc_test(ptr %P) {
ret i32 %X
}
- at G2 = internal global ptr null ; <ptr> [#uses=3]
+ at G2 = internal global ptr zeroinitializer ; <ptr> [#uses=3]
declare noalias ptr @calloc(i32, i32) allockind("alloc,zeroed") allocsize(0,1) inaccessiblememonly
define void @calloc_init() {
@@ -62,7 +62,7 @@ define i32 @calloc_test(ptr %P) {
ret i32 %X
}
- at G3 = internal global ptr null ; <ptr> [#uses=3]
+ at G3 = internal global ptr zeroinitializer ; <ptr> [#uses=3]
declare noalias ptr @my_alloc(i32)
define void @my_alloc_init() {
diff --git a/llvm/test/Analysis/GlobalsModRef/no-escape.ll b/llvm/test/Analysis/GlobalsModRef/no-escape.ll
index 1b70acbf7c71e..c3fcdb285ac23 100644
--- a/llvm/test/Analysis/GlobalsModRef/no-escape.ll
+++ b/llvm/test/Analysis/GlobalsModRef/no-escape.ll
@@ -6,7 +6,7 @@ target triple = "x86_64-apple-macosx10.10.0"
@b = common global i32 0, align 4
@c = internal global i32 0, align 4
@d = common global i32 0, align 4
- at e = common global ptr null, align 4
+ at e = common global ptr zeroinitializer, align 4
define void @foo(ptr %P) noinline {
; CHECK: define void @foo
diff --git a/llvm/test/Analysis/LoopAccessAnalysis/backward-dep-different-types.ll b/llvm/test/Analysis/LoopAccessAnalysis/backward-dep-different-types.ll
index dd251367631b4..0c5cd0afb94ec 100644
--- a/llvm/test/Analysis/LoopAccessAnalysis/backward-dep-different-types.ll
+++ b/llvm/test/Analysis/LoopAccessAnalysis/backward-dep-different-types.ll
@@ -14,8 +14,8 @@ target triple = "x86_64-apple-macosx10.10.0"
; CHECK: Report: unsafe dependent memory operations in loop
; CHECK-NOT: Memory dependences are safe
- at B = common global ptr null, align 8
- at A = common global ptr null, align 8
+ at B = common global ptr zeroinitializer, align 8
+ at A = common global ptr zeroinitializer, align 8
define void @f() {
entry:
diff --git a/llvm/test/Analysis/LoopAccessAnalysis/resort-to-memchecks-only.ll b/llvm/test/Analysis/LoopAccessAnalysis/resort-to-memchecks-only.ll
index b5ba85c6e3fa8..76dc3234f980b 100644
--- a/llvm/test/Analysis/LoopAccessAnalysis/resort-to-memchecks-only.ll
+++ b/llvm/test/Analysis/LoopAccessAnalysis/resort-to-memchecks-only.ll
@@ -20,9 +20,9 @@ target triple = "x86_64-apple-macosx10.10.0"
; CHECK-NEXT: Against group
; CHECK-NEXT: %arrayidxA = getelementptr inbounds i16, ptr %a, i64 %indvar
- at B = common global ptr null, align 8
- at A = common global ptr null, align 8
- at C = common global ptr null, align 8
+ at B = common global ptr zeroinitializer, align 8
+ at A = common global ptr zeroinitializer, align 8
+ at C = common global ptr zeroinitializer, align 8
define void @f(i64 %offset) {
entry:
diff --git a/llvm/test/Analysis/LoopAccessAnalysis/reverse-memcheck-bounds.ll b/llvm/test/Analysis/LoopAccessAnalysis/reverse-memcheck-bounds.ll
index 1496e1b0be82b..b89345350c1a9 100644
--- a/llvm/test/Analysis/LoopAccessAnalysis/reverse-memcheck-bounds.ll
+++ b/llvm/test/Analysis/LoopAccessAnalysis/reverse-memcheck-bounds.ll
@@ -17,8 +17,8 @@ target triple = "aarch64"
; CHECK: function 'f':
; CHECK: (Low: (20000 + %a)<nuw> High: (60004 + %a))
- at B = common global ptr null, align 8
- at A = common global ptr null, align 8
+ at B = common global ptr zeroinitializer, align 8
+ at A = common global ptr zeroinitializer, align 8
define void @f() {
entry:
@@ -57,7 +57,7 @@ for.end: ; preds = %for.body
; Here it is not obvious what the limits are, since 'step' could be negative.
-; CHECK: Low: ((60000 + %a) umin (60000 + (-40000 * %step) + %a))
+; CHECK: Low: ((60000 + %a) umin (60000 + (-40000 * %step) + %a))
; CHECK: High: (4 + ((60000 + %a) umax (60000 + (-40000 * %step) + %a)))
define void @g(i64 %step) {
diff --git a/llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance.ll b/llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance.ll
index 8e249b36f6445..61eb8d48187bf 100644
--- a/llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance.ll
+++ b/llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance.ll
@@ -9,7 +9,7 @@
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.10.0"
- at A = common global ptr null, align 8
+ at A = common global ptr zeroinitializer, align 8
define void @f() {
entry:
diff --git a/llvm/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks.ll b/llvm/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks.ll
index f7a6f5f5edd28..f906d4bd20329 100644
--- a/llvm/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks.ll
+++ b/llvm/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks.ll
@@ -27,9 +27,9 @@ target triple = "x86_64-apple-macosx10.10.0"
; CHECK-NEXT: Against group
; CHECK-NEXT: %arrayidxC = getelementptr inbounds i16, ptr %c, i64 %storemerge3
- at B = common global ptr null, align 8
- at A = common global ptr null, align 8
- at C = common global ptr null, align 8
+ at B = common global ptr zeroinitializer, align 8
+ at A = common global ptr zeroinitializer, align 8
+ at C = common global ptr zeroinitializer, align 8
define void @f() {
entry:
diff --git a/llvm/test/Analysis/ScalarEvolution/add-expr-pointer-operand-sorting.ll b/llvm/test/Analysis/ScalarEvolution/add-expr-pointer-operand-sorting.ll
index 7120eec5982e9..cac0dffe8934f 100644
--- a/llvm/test/Analysis/ScalarEvolution/add-expr-pointer-operand-sorting.ll
+++ b/llvm/test/Analysis/ScalarEvolution/add-expr-pointer-operand-sorting.ll
@@ -12,7 +12,7 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at c = dso_local local_unnamed_addr global ptr null, align 8
+ at c = dso_local local_unnamed_addr global ptr zeroinitializer, align 8
@a = dso_local local_unnamed_addr global i32 0, align 4
@b = dso_local global [1 x i32] zeroinitializer, align 4
diff --git a/llvm/test/Analysis/ScalarEvolution/flags-from-poison.ll b/llvm/test/Analysis/ScalarEvolution/flags-from-poison.ll
index 593888f5f7bd5..0d17942c278c1 100644
--- a/llvm/test/Analysis/ScalarEvolution/flags-from-poison.ll
+++ b/llvm/test/Analysis/ScalarEvolution/flags-from-poison.ll
@@ -1627,7 +1627,7 @@ exit:
; PR28932: Don't assert on non-SCEV-able value %2.
%struct.anon = type { ptr }
- at a = common global ptr null, align 8
+ at a = common global ptr zeroinitializer, align 8
@b = common global i32 0, align 4
declare { i32, i1 } @llvm.ssub.with.overflow.i32(i32, i32)
declare void @llvm.trap()
diff --git a/llvm/test/Analysis/ScalarEvolution/scev-expander-existing-value-offset.ll b/llvm/test/Analysis/ScalarEvolution/scev-expander-existing-value-offset.ll
index 5bdfd19639210..05e3c192c58be 100644
--- a/llvm/test/Analysis/ScalarEvolution/scev-expander-existing-value-offset.ll
+++ b/llvm/test/Analysis/ScalarEvolution/scev-expander-existing-value-offset.ll
@@ -4,7 +4,7 @@
; CHECK: select
; CHECK-NOT: select
- at ySrcL = common global ptr null, align 8
+ at ySrcL = common global ptr zeroinitializer, align 8
@smL = common global i32 0, align 4
define void @foo(i32 %rwL, i32 %kL, i32 %xfL) {
diff --git a/llvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll b/llvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll
index fa4e5fb0ac433..15edeead1e814 100644
--- a/llvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll
+++ b/llvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll
@@ -40,7 +40,7 @@ b2: ; preds = %b1
@g0 = common dso_local global i16 0, align 2
@g1 = common dso_local global i32 0, align 4
- at g2 = common dso_local global ptr null, align 8
+ at g2 = common dso_local global ptr zeroinitializer, align 8
define void @f1() #0 {
; CHECK-LABEL: 'f1'
diff --git a/llvm/test/Analysis/StackSafetyAnalysis/local.ll b/llvm/test/Analysis/StackSafetyAnalysis/local.ll
index 6944f38411003..e1d3fe1614c4a 100644
--- a/llvm/test/Analysis/StackSafetyAnalysis/local.ll
+++ b/llvm/test/Analysis/StackSafetyAnalysis/local.ll
@@ -4,7 +4,7 @@
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at sink = global ptr null, align 8
+ at sink = global ptr zeroinitializer, align 8
declare void @llvm.memset.p0.i32(ptr %dest, i8 %val, i32 %len, i1 %isvolatile)
declare void @llvm.memcpy.p0.p0.i32(ptr %dest, ptr %src, i32 %len, i1 %isvolatile)
diff --git a/llvm/test/Analysis/TypeBasedAliasAnalysis/licm.ll b/llvm/test/Analysis/TypeBasedAliasAnalysis/licm.ll
index b9f18a6b29e27..9fbb0c9fcb6e8 100644
--- a/llvm/test/Analysis/TypeBasedAliasAnalysis/licm.ll
+++ b/llvm/test/Analysis/TypeBasedAliasAnalysis/licm.ll
@@ -8,7 +8,7 @@
; CHECK-NEXT: %tmp3 = load ptr, ptr @P
; CHECK-NEXT: br label %for.body
- at P = common global ptr null
+ at P = common global ptr zeroinitializer
define void @foo(i64 %n) nounwind {
entry:
diff --git a/llvm/test/Assembler/2002-08-16-ConstExprInlined.ll b/llvm/test/Assembler/2002-08-16-ConstExprInlined.ll
index 94c22794f5bc3..63d2d63c88df5 100644
--- a/llvm/test/Assembler/2002-08-16-ConstExprInlined.ll
+++ b/llvm/test/Assembler/2002-08-16-ConstExprInlined.ll
@@ -12,7 +12,7 @@
; RUN: verify-uselistorder %s
@.LC0 = internal global [4 x i8] c"foo\00" ; <ptr> [#uses=1]
- at X = global ptr null ; <ptr> [#uses=0]
+ at X = global ptr zeroinitializer ; <ptr> [#uses=0]
declare i32 @puts(ptr)
diff --git a/llvm/test/Assembler/ConstantExprFoldCast.ll b/llvm/test/Assembler/ConstantExprFoldCast.ll
index 2e1782a4c34f7..74ee3986bc4df 100644
--- a/llvm/test/Assembler/ConstantExprFoldCast.ll
+++ b/llvm/test/Assembler/ConstantExprFoldCast.ll
@@ -5,10 +5,10 @@
; CHECK-NOT: bitcast
; CHECK-NOT: trunc
-; CHECK: addrspacecast
-; CHECK: addrspacecast
+; CHECK: ptr addrspace(1) null
+; CHECK: ptr null
- at A = global ptr null ; Cast null -> fold
+ at A = global ptr zeroinitializer ; Cast null -> fold
@B = global ptr @A ; Cast to same type -> fold
@C = global i32 trunc (i64 42 to i32) ; Integral casts
@D = global ptr @C ; cast of cast ptr->ptr
diff --git a/llvm/test/Assembler/unnamed.ll b/llvm/test/Assembler/unnamed.ll
index 1f4eef5d9ccef..81b8db2a9fdfb 100644
--- a/llvm/test/Assembler/unnamed.ll
+++ b/llvm/test/Assembler/unnamed.ll
@@ -12,7 +12,7 @@ module asm "this is another inline asm block"
@0 = global i32 0
@1 = global float 3.0
- at 2 = global ptr null
+ at 2 = global ptr zeroinitializer
@3 = global x86_fp80 0xK4001E000000000000000
define float @foo(ptr %p) nounwind {
diff --git a/llvm/test/Bindings/OCaml/core.ml b/llvm/test/Bindings/OCaml/core.ml
index 289fe013bed2a..8608ad8063b0f 100644
--- a/llvm/test/Bindings/OCaml/core.ml
+++ b/llvm/test/Bindings/OCaml/core.ml
@@ -238,7 +238,7 @@ let test_constants () =
ignore (define_global "const_all_ones" c m);
group "pointer null"; begin
- (* CHECK: const_pointer_null = global ptr null
+ (* CHECK: const_pointer_null = global ptr zeroinitializer
*)
let c = const_pointer_null (pointer_type context) in
ignore (define_global "const_pointer_null" c m);
diff --git a/llvm/test/Bindings/llvm-c/echo.ll b/llvm/test/Bindings/llvm-c/echo.ll
index ab1771d1f879f..66382b2dbeb6b 100644
--- a/llvm/test/Bindings/llvm-c/echo.ll
+++ b/llvm/test/Bindings/llvm-c/echo.ll
@@ -22,7 +22,7 @@ module asm "classical GAS"
@protected = protected global i32 23
@section = global i32 27, section ".custom"
@align = global i32 31, align 4
- at nullptr = global ptr null
+ at nullptr = global ptr zeroinitializer
@const_gep = global ptr getelementptr (i32, ptr @var, i64 2)
@const_inbounds_gep = global ptr getelementptr inbounds (i32, ptr @var, i64 1)
diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
index c68ae925d4295..0c2eff061e150 100644
--- a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
+++ b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
@@ -2251,7 +2251,7 @@ define i32 @test_atomicrmw_umax(ptr %addr) {
ret i32 %oldval
}
- at addr = global ptr null
+ at addr = global ptr zeroinitializer
define void @test_blockaddress() {
; CHECK-LABEL: name: test_blockaddress
diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/combiner-load-store-indexing.ll b/llvm/test/CodeGen/AArch64/GlobalISel/combiner-load-store-indexing.ll
index cae1b3949dca7..ae374d50d49e5 100644
--- a/llvm/test/CodeGen/AArch64/GlobalISel/combiner-load-store-indexing.ll
+++ b/llvm/test/CodeGen/AArch64/GlobalISel/combiner-load-store-indexing.ll
@@ -219,4 +219,4 @@ define ptr @test_load_post_gep_offset_after(ptr %ptr) {
declare void @bar(ptr)
declare i64 @get_offset()
@var = global i8 0
- at varp8 = global ptr null
+ at varp8 = global ptr zeroinitializer
diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/legalize-blockaddress.mir b/llvm/test/CodeGen/AArch64/GlobalISel/legalize-blockaddress.mir
index 84ea6b89e4e14..9d2b785da9c7a 100644
--- a/llvm/test/CodeGen/AArch64/GlobalISel/legalize-blockaddress.mir
+++ b/llvm/test/CodeGen/AArch64/GlobalISel/legalize-blockaddress.mir
@@ -4,7 +4,7 @@
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64-none-linux-gnu"
- @addr = dso_local global ptr null
+ @addr = dso_local global ptr zeroinitializer
define dso_local void @test_blockaddress() {
store ptr blockaddress(@test_blockaddress, %block), ptr @addr
diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/select-blockaddress.mir b/llvm/test/CodeGen/AArch64/GlobalISel/select-blockaddress.mir
index 8d0b835f941ab..3df21e927e3eb 100644
--- a/llvm/test/CodeGen/AArch64/GlobalISel/select-blockaddress.mir
+++ b/llvm/test/CodeGen/AArch64/GlobalISel/select-blockaddress.mir
@@ -7,7 +7,7 @@
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64-none-linux-gnu"
- @addr = dso_local global ptr null
+ @addr = dso_local global ptr zeroinitializer
define dso_local void @test_blockaddress() {
store ptr blockaddress(@test_blockaddress, %block), ptr @addr
diff --git a/llvm/test/CodeGen/AArch64/Redundantstore.ll b/llvm/test/CodeGen/AArch64/Redundantstore.ll
index 229d6446c4e0d..b060a4131849f 100644
--- a/llvm/test/CodeGen/AArch64/Redundantstore.ll
+++ b/llvm/test/CodeGen/AArch64/Redundantstore.ll
@@ -1,7 +1,7 @@
; RUN: llc < %s -O3 -mtriple=aarch64 | FileCheck %s
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
- at end_of_array = common global ptr null, align 8
+ at end_of_array = common global ptr zeroinitializer, align 8
; CHECK-LABEL: @test
; CHECK: stur
diff --git a/llvm/test/CodeGen/AArch64/aarch64-tail-dup-size.ll b/llvm/test/CodeGen/AArch64/aarch64-tail-dup-size.ll
index dd0152c3f4c08..0b0c6561eb775 100644
--- a/llvm/test/CodeGen/AArch64/aarch64-tail-dup-size.ll
+++ b/llvm/test/CodeGen/AArch64/aarch64-tail-dup-size.ll
@@ -10,7 +10,7 @@
%b = type { %c }
%c = type { i32, i32, [31 x i8] }
- at global_ptr = dso_local local_unnamed_addr global ptr null, align 8
+ at global_ptr = dso_local local_unnamed_addr global ptr zeroinitializer, align 8
@global_int = dso_local local_unnamed_addr global i32 0, align 4
define dso_local void @testcase(ptr nocapture %arg){
diff --git a/llvm/test/CodeGen/AArch64/arm64-addr-mode-folding.ll b/llvm/test/CodeGen/AArch64/arm64-addr-mode-folding.ll
index 6bcd2f04849b2..9edf8aa35b079 100644
--- a/llvm/test/CodeGen/AArch64/arm64-addr-mode-folding.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-addr-mode-folding.ll
@@ -1,7 +1,7 @@
; RUN: llc -O3 -mtriple arm64-apple-ios3 -aarch64-enable-gep-opt=false %s -o - | FileCheck %s
; <rdar://problem/13621857>
- at block = common global ptr null, align 8
+ at block = common global ptr zeroinitializer, align 8
define i32 @fct(i32 %i1, i32 %i2) {
; CHECK: @fct
diff --git a/llvm/test/CodeGen/AArch64/arm64-addr-type-promotion.ll b/llvm/test/CodeGen/AArch64/arm64-addr-type-promotion.ll
index 65cc368c0b561..016e3c65b8b03 100644
--- a/llvm/test/CodeGen/AArch64/arm64-addr-type-promotion.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-addr-type-promotion.ll
@@ -5,7 +5,7 @@
; way of the NEXT patterns.
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-n32:64-S128"
- at block = common global ptr null, align 8
+ at block = common global ptr zeroinitializer, align 8
define zeroext i8 @fullGtU(i32 %i1, i32 %i2) {
; CHECK-LABEL: fullGtU:
diff --git a/llvm/test/CodeGen/AArch64/arm64-call-tailcalls.ll b/llvm/test/CodeGen/AArch64/arm64-call-tailcalls.ll
index 7342ac18abd94..f830bcb77ec26 100644
--- a/llvm/test/CodeGen/AArch64/arm64-call-tailcalls.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-call-tailcalls.ll
@@ -1,7 +1,7 @@
; RUN: llc < %s -mtriple=arm64-apple-ios7.0 | FileCheck %s
; RUN: llc -global-isel < %s -mtriple=arm64-apple-ios7.0 | FileCheck %s
- at t = weak global ptr null
+ at t = weak global ptr zeroinitializer
@x = external global i32, align 4
define void @t2() {
diff --git a/llvm/test/CodeGen/AArch64/arm64-cast-opt.ll b/llvm/test/CodeGen/AArch64/arm64-cast-opt.ll
index 06c496dbcafe1..dda2d0f78e74f 100644
--- a/llvm/test/CodeGen/AArch64/arm64-cast-opt.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-cast-opt.ll
@@ -3,7 +3,7 @@
; Zero truncation is not necessary when the values are extended properly
; already.
- at block = common global ptr null, align 8
+ at block = common global ptr zeroinitializer, align 8
define zeroext i8 @foo(i32 %i1, i32 %i2) {
; CHECK-LABEL: foo:
diff --git a/llvm/test/CodeGen/AArch64/arm64-collect-loh-garbage-crash.ll b/llvm/test/CodeGen/AArch64/arm64-collect-loh-garbage-crash.ll
index 330f47da6310a..6747f82a00b56 100644
--- a/llvm/test/CodeGen/AArch64/arm64-collect-loh-garbage-crash.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-collect-loh-garbage-crash.ll
@@ -14,7 +14,7 @@
declare i32 @_ZN5H4ISP11H4ISPDevice32ISP_SelectBestMIPIFrequencyIndexEjPj(ptr)
- at pH4ISPDevice = hidden global ptr null, align 8
+ at pH4ISPDevice = hidden global ptr zeroinitializer, align 8
; CHECK-LABEL: _foo:
; CHECK: ret
diff --git a/llvm/test/CodeGen/AArch64/arm64-fast-isel-addr-offset.ll b/llvm/test/CodeGen/AArch64/arm64-fast-isel-addr-offset.ll
index 4140e7633e38f..e310bb5f098e8 100644
--- a/llvm/test/CodeGen/AArch64/arm64-fast-isel-addr-offset.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-fast-isel-addr-offset.ll
@@ -32,7 +32,7 @@ entry:
; Load an address with a ridiculously large offset.
; rdar://12505553
- at pd2 = common global ptr null, align 8
+ at pd2 = common global ptr zeroinitializer, align 8
define signext i8 @foo3() nounwind ssp {
entry:
diff --git a/llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-bad-outline.mir b/llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-bad-outline.mir
index ab4f0af97e324..cede243664f60 100644
--- a/llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-bad-outline.mir
+++ b/llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-bad-outline.mir
@@ -2,7 +2,7 @@
#
# This test ensure no outlined epilog is formed when X16 is live across the helper.
--- |
- @FuncPtr = local_unnamed_addr global ptr null, align 8
+ @FuncPtr = local_unnamed_addr global ptr zeroinitializer, align 8
define i32 @_Z3fooi(i32) minsize "frame-pointer"="all" {
ret i32 0
diff --git a/llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll b/llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
index 2af7cd4370b10..c86ae04fab1a2 100644
--- a/llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
@@ -2,7 +2,7 @@
; RUN: llc -mtriple=arm64-apple-ios7.0 -o - %s | FileCheck %s --check-prefixes=CHECK,CHECK-SD
; RUN: llc -global-isel=1 -mtriple=arm64-apple-ios7.0 -o - %s 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-GI
- at ptr = global ptr null
+ at ptr = global ptr zeroinitializer
define <8 x i8> @test_v8i8_pre_load(ptr %addr) {
; CHECK-LABEL: test_v8i8_pre_load:
@@ -13997,7 +13997,7 @@ define <4 x i32> @test_inc_cycle(<4 x i32> %vec, ptr %in) {
ret <4 x i32> %newvec
}
- at var = global ptr null
+ at var = global ptr zeroinitializer
define i8 @load_single_extract_variable_index_i8(ptr %A, i32 %idx) {
; CHECK-SD-LABEL: load_single_extract_variable_index_i8:
diff --git a/llvm/test/CodeGen/AArch64/arm64-large-frame.ll b/llvm/test/CodeGen/AArch64/arm64-large-frame.ll
index 683b5a83651b7..3034a82b37722 100644
--- a/llvm/test/CodeGen/AArch64/arm64-large-frame.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-large-frame.ll
@@ -1,7 +1,7 @@
; RUN: llc -verify-machineinstrs -mtriple=arm64-none-linux-gnu -frame-pointer=non-leaf -disable-post-ra < %s | FileCheck %s
declare void @use_addr(ptr)
- at addr = global ptr null
+ at addr = global ptr zeroinitializer
define void @test_bigframe() {
; CHECK-LABEL: test_bigframe:
diff --git a/llvm/test/CodeGen/AArch64/arm64-prefetch-new.ll b/llvm/test/CodeGen/AArch64/arm64-prefetch-new.ll
index da7d74afe56be..3e07944f5cd82 100644
--- a/llvm/test/CodeGen/AArch64/arm64-prefetch-new.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-prefetch-new.ll
@@ -1,7 +1,7 @@
; RUN: llc -mtriple=aarch64 -mattr=+v8.9a --global-isel=0 < %s | FileCheck %s
; RUN: llc -mtriple=aarch64 -mattr=+v8.9a --global-isel=1 --global-isel-abort=1 < %s | FileCheck %s
- at a = internal global ptr null, align 8
+ at a = internal global ptr zeroinitializer, align 8
@b = external global ptr, align 8
define void @test(ptr %i, i32 %j) nounwind ssp {
diff --git a/llvm/test/CodeGen/AArch64/arm64-prefetch.ll b/llvm/test/CodeGen/AArch64/arm64-prefetch.ll
index 55652e3de5a17..156d918f91f38 100644
--- a/llvm/test/CodeGen/AArch64/arm64-prefetch.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-prefetch.ll
@@ -1,7 +1,7 @@
; RUN: llc < %s -mtriple=arm64-eabi | FileCheck %s
; RUN: llc -O0 --global-isel-abort=1 < %s -mtriple=arm64-eabi | FileCheck %s
- at a = common global ptr null, align 8
+ at a = common global ptr zeroinitializer, align 8
define void @test(i32 %i, i32 %j) nounwind ssp {
entry:
diff --git a/llvm/test/CodeGen/AArch64/arm64-triv-disjoint-mem-access.ll b/llvm/test/CodeGen/AArch64/arm64-triv-disjoint-mem-access.ll
index 593d629e17883..362189fc63870 100644
--- a/llvm/test/CodeGen/AArch64/arm64-triv-disjoint-mem-access.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-triv-disjoint-mem-access.ll
@@ -1,6 +1,6 @@
; RUN: llc < %s -mtriple=arm64-linux-gnu -mcpu=cortex-a53 -enable-aa-sched-mi | FileCheck %s
; Check that the scheduler moves the load from a[1] past the store into a[2].
- at a = common global ptr null, align 8
+ at a = common global ptr zeroinitializer, align 8
@m = common global i32 0, align 4
; Function Attrs: nounwind
diff --git a/llvm/test/CodeGen/AArch64/arm64-trunc-store.ll b/llvm/test/CodeGen/AArch64/arm64-trunc-store.ll
index cd47fff46729f..9b85a71855688 100644
--- a/llvm/test/CodeGen/AArch64/arm64-trunc-store.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-trunc-store.ll
@@ -12,9 +12,9 @@ define void @bar(<8 x i16> %arg, ptr %p) nounwind {
ret void
}
- at zptr8 = common global ptr null, align 8
- at zptr16 = common global ptr null, align 8
- at zptr32 = common global ptr null, align 8
+ at zptr8 = common global ptr zeroinitializer, align 8
+ at zptr16 = common global ptr zeroinitializer, align 8
+ at zptr32 = common global ptr zeroinitializer, align 8
define void @fct32(i32 %arg, i64 %var) {
; CHECK-LABEL: fct32:
diff --git a/llvm/test/CodeGen/AArch64/arm64-vector-ldst.ll b/llvm/test/CodeGen/AArch64/arm64-vector-ldst.ll
index 5b055a4eb37a4..d9d4be6003ee3 100644
--- a/llvm/test/CodeGen/AArch64/arm64-vector-ldst.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-vector-ldst.ll
@@ -36,18 +36,18 @@ entry:
; add a bunch of tests for rdar://11246289
- at globalArray64x2 = common global ptr null, align 8
- at globalArray32x4 = common global ptr null, align 8
- at globalArray16x8 = common global ptr null, align 8
- at globalArray8x16 = common global ptr null, align 8
- at globalArray64x1 = common global ptr null, align 8
- at globalArray32x2 = common global ptr null, align 8
- at globalArray16x4 = common global ptr null, align 8
- at globalArray8x8 = common global ptr null, align 8
- at floatglobalArray64x2 = common global ptr null, align 8
- at floatglobalArray32x4 = common global ptr null, align 8
- at floatglobalArray64x1 = common global ptr null, align 8
- at floatglobalArray32x2 = common global ptr null, align 8
+ at globalArray64x2 = common global ptr zeroinitializer, align 8
+ at globalArray32x4 = common global ptr zeroinitializer, align 8
+ at globalArray16x8 = common global ptr zeroinitializer, align 8
+ at globalArray8x16 = common global ptr zeroinitializer, align 8
+ at globalArray64x1 = common global ptr zeroinitializer, align 8
+ at globalArray32x2 = common global ptr zeroinitializer, align 8
+ at globalArray16x4 = common global ptr zeroinitializer, align 8
+ at globalArray8x8 = common global ptr zeroinitializer, align 8
+ at floatglobalArray64x2 = common global ptr zeroinitializer, align 8
+ at floatglobalArray32x4 = common global ptr zeroinitializer, align 8
+ at floatglobalArray64x1 = common global ptr zeroinitializer, align 8
+ at floatglobalArray32x2 = common global ptr zeroinitializer, align 8
define void @fct1_64x2(ptr nocapture %array, i64 %offset) nounwind ssp {
; CHECK-LABEL: fct1_64x2:
diff --git a/llvm/test/CodeGen/AArch64/arm64_32-fastisel.ll b/llvm/test/CodeGen/AArch64/arm64_32-fastisel.ll
index 9a01aacab6c9a..04040f2811e2e 100644
--- a/llvm/test/CodeGen/AArch64/arm64_32-fastisel.ll
+++ b/llvm/test/CodeGen/AArch64/arm64_32-fastisel.ll
@@ -1,5 +1,5 @@
; RUN: llc -mtriple=arm64_32-apple-ios -O0 -fast-isel %s -o - | FileCheck %s
- at var = global ptr null
+ at var = global ptr zeroinitializer
define void @test_store_release_ptr() {
; CHECK-LABEL: test_store_release_ptr
diff --git a/llvm/test/CodeGen/AArch64/blockaddress.ll b/llvm/test/CodeGen/AArch64/blockaddress.ll
index b222d2f373192..f15e803b3706d 100644
--- a/llvm/test/CodeGen/AArch64/blockaddress.ll
+++ b/llvm/test/CodeGen/AArch64/blockaddress.ll
@@ -3,7 +3,7 @@
; RUN: llc -code-model=large -relocation-model=pic -mtriple=aarch64-none-linux-gnu -aarch64-enable-atomic-cfg-tidy=0 < %s | FileCheck %s
; RUN: llc -code-model=tiny -mtriple=aarch64-none-elf -aarch64-enable-atomic-cfg-tidy=0 -verify-machineinstrs < %s | FileCheck --check-prefix=CHECK-TINY %s
- at addr = global ptr null
+ at addr = global ptr zeroinitializer
define void @test_blockaddress() {
; CHECK-LABEL: test_blockaddress:
diff --git a/llvm/test/CodeGen/AArch64/breg.ll b/llvm/test/CodeGen/AArch64/breg.ll
index 44d757a913f14..f101f9ba36a96 100644
--- a/llvm/test/CodeGen/AArch64/breg.ll
+++ b/llvm/test/CodeGen/AArch64/breg.ll
@@ -1,6 +1,6 @@
; RUN: llc -verify-machineinstrs -o - %s -mtriple=aarch64-linux-gnu -aarch64-enable-atomic-cfg-tidy=0 | FileCheck %s
- at stored_label = dso_local global ptr null
+ at stored_label = dso_local global ptr zeroinitializer
define dso_local void @foo() {
; CHECK-LABEL: foo:
diff --git a/llvm/test/CodeGen/AArch64/call-rv-marker.ll b/llvm/test/CodeGen/AArch64/call-rv-marker.ll
index 0bc64498da324..3cd0a412647e5 100644
--- a/llvm/test/CodeGen/AArch64/call-rv-marker.ll
+++ b/llvm/test/CodeGen/AArch64/call-rv-marker.ll
@@ -22,8 +22,8 @@ declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
%struct.S = type { i8 }
- at g = dso_local global ptr null, align 8
- at fptr = dso_local global ptr null, align 8
+ at g = dso_local global ptr zeroinitializer, align 8
+ at fptr = dso_local global ptr zeroinitializer, align 8
define dso_local ptr @rv_marker_1_retain() {
; SELDAG-LABEL: rv_marker_1_retain:
diff --git a/llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll b/llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
index 6449c3e11d667..3456de784037c 100644
--- a/llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
+++ b/llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
@@ -407,7 +407,7 @@ return: ; preds = %if.end, %land.lhs.t
%struct.Struct = type { i64, i64 }
- at glob = internal unnamed_addr global ptr null, align 8
+ at glob = internal unnamed_addr global ptr zeroinitializer, align 8
declare ptr @Update(ptr) #1
diff --git a/llvm/test/CodeGen/AArch64/func-calls.ll b/llvm/test/CodeGen/AArch64/func-calls.ll
index ec7bcdd7a7ba4..07d84cb170803 100644
--- a/llvm/test/CodeGen/AArch64/func-calls.ll
+++ b/llvm/test/CodeGen/AArch64/func-calls.ll
@@ -146,7 +146,7 @@ define dso_local void @check_i128_align() {
ret void
}
- at fptr = dso_local global ptr null
+ at fptr = dso_local global ptr zeroinitializer
define dso_local void @check_indirect_call() {
; CHECK-LABEL: check_indirect_call:
diff --git a/llvm/test/CodeGen/AArch64/irg_sp_tagp.ll b/llvm/test/CodeGen/AArch64/irg_sp_tagp.ll
index 4fa96c771a330..faf30e7020c57 100644
--- a/llvm/test/CodeGen/AArch64/irg_sp_tagp.ll
+++ b/llvm/test/CodeGen/AArch64/irg_sp_tagp.ll
@@ -11,7 +11,7 @@ entry:
ret ptr %q1
}
- at sink = dso_local global ptr null, align 8
+ at sink = dso_local global ptr zeroinitializer, align 8
; Check that IRG is pinned to %b because the store instruction needs
; the address in a non-fixed physical register and can benefit from it
diff --git a/llvm/test/CodeGen/AArch64/ldst-unscaledimm.ll b/llvm/test/CodeGen/AArch64/ldst-unscaledimm.ll
index 24c22847677ef..7342ec74a11bf 100644
--- a/llvm/test/CodeGen/AArch64/ldst-unscaledimm.ll
+++ b/llvm/test/CodeGen/AArch64/ldst-unscaledimm.ll
@@ -9,7 +9,7 @@
@var_float = dso_local global float 0.0
@var_double = dso_local global double 0.0
- at varptr = dso_local global ptr null
+ at varptr = dso_local global ptr zeroinitializer
define dso_local void @ldst_8bit() {
; CHECK-LABEL: ldst_8bit:
diff --git a/llvm/test/CodeGen/AArch64/ldst-unsignedimm.ll b/llvm/test/CodeGen/AArch64/ldst-unsignedimm.ll
index 0ca3483080003..6b36c2442a8eb 100644
--- a/llvm/test/CodeGen/AArch64/ldst-unsignedimm.ll
+++ b/llvm/test/CodeGen/AArch64/ldst-unsignedimm.ll
@@ -214,10 +214,10 @@ define void @st_i64_32(i64 %val64) {
}
- at arr8 = dso_local global ptr null
- at arr16 = dso_local global ptr null
- at arr32 = dso_local global ptr null
- at arr64 = dso_local global ptr null
+ at arr8 = dso_local global ptr zeroinitializer
+ at arr16 = dso_local global ptr zeroinitializer
+ at arr32 = dso_local global ptr zeroinitializer
+ at arr64 = dso_local global ptr zeroinitializer
; Now check that our selection copes with accesses more complex than a
; single symbol. Permitted offsets should be folded into the loads and
diff --git a/llvm/test/CodeGen/AArch64/local_vars.ll b/llvm/test/CodeGen/AArch64/local_vars.ll
index e321b35a5425d..881f0aa89c44b 100644
--- a/llvm/test/CodeGen/AArch64/local_vars.ll
+++ b/llvm/test/CodeGen/AArch64/local_vars.ll
@@ -11,7 +11,7 @@
; implemented.
@var = global i64 0
- at local_addr = global ptr null
+ at local_addr = global ptr zeroinitializer
declare void @foo()
diff --git a/llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.ll b/llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.ll
index 33ee4d9decd74..8e167c6eaa6b5 100644
--- a/llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.ll
+++ b/llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.ll
@@ -1,7 +1,7 @@
; RUN: llc -mtriple aarch64 -enable-machine-outliner \
; RUN: -verify-machineinstrs %s -o - | FileCheck %s
- at v = common dso_local global ptr null, align 8
+ at v = common dso_local global ptr zeroinitializer, align 8
; CHECK-LABEL: foo: // @foo
; CHECK-NEXT: // %bb.0: // %entry
diff --git a/llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.mir b/llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.mir
index 22e5edef2a939..aaadd4e3725f8 100644
--- a/llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.mir
+++ b/llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.mir
@@ -4,7 +4,7 @@
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64-arm-linux-gnu"
- @v = common dso_local global ptr null, align 8
+ @v = common dso_local global ptr zeroinitializer, align 8
; Function Attrs: nounwind
define dso_local void @legal0() #0 {
diff --git a/llvm/test/CodeGen/AArch64/merge-store-dependency.ll b/llvm/test/CodeGen/AArch64/merge-store-dependency.ll
index 3c42987ade20e..7f5967e67e66e 100644
--- a/llvm/test/CodeGen/AArch64/merge-store-dependency.ll
+++ b/llvm/test/CodeGen/AArch64/merge-store-dependency.ll
@@ -4,7 +4,7 @@
; PR26827 - Merge stores causes wrong dependency.
%struct1 = type { ptr, ptr, i32, i32, i16, i16, ptr, ptr }
@gv0 = internal unnamed_addr global i32 0, align 4
- at gv1 = internal unnamed_addr global ptr null, align 8
+ at gv1 = internal unnamed_addr global ptr zeroinitializer, align 8
define void @test(ptr %fde, i32 %fd, ptr %func, ptr %arg) uwtable {
;CHECK-LABEL: test
diff --git a/llvm/test/CodeGen/AArch64/misched-fusion-addadrp.ll b/llvm/test/CodeGen/AArch64/misched-fusion-addadrp.ll
index 70b6b91d3cf66..39e8ac157bfb7 100644
--- a/llvm/test/CodeGen/AArch64/misched-fusion-addadrp.ll
+++ b/llvm/test/CodeGen/AArch64/misched-fusion-addadrp.ll
@@ -19,7 +19,7 @@
; RUN: llc %s -o - -mtriple=aarch64-unknown -mcpu=ampere1a -mattr=-fuse-literals | FileCheck %s
; RUN: llc %s -o - -mtriple=aarch64-unknown -mcpu=ampere1b -mattr=-fuse-literals | FileCheck %s
- at g = common local_unnamed_addr global ptr null, align 8
+ at g = common local_unnamed_addr global ptr zeroinitializer, align 8
define dso_local ptr @addldr(i32 %a, i32 %b) {
; CHECK-LABEL: addldr:
diff --git a/llvm/test/CodeGen/AArch64/misched-fusion-lit.ll b/llvm/test/CodeGen/AArch64/misched-fusion-lit.ll
index fedbb642a3620..6fd1b08ca3ab0 100644
--- a/llvm/test/CodeGen/AArch64/misched-fusion-lit.ll
+++ b/llvm/test/CodeGen/AArch64/misched-fusion-lit.ll
@@ -8,7 +8,7 @@
; RUN: llc %s -o - -mtriple=aarch64-unknown -mcpu=exynos-m5 | FileCheck %s --check-prefix=CHECK --check-prefix=CHECKFUSE
; RUN: llc %s -o - -mtriple=aarch64-unknown -mcpu=neoverse-n1 | FileCheck %s --check-prefix=CHECKFUSE-NEOVERSE
- at g = common local_unnamed_addr global ptr null, align 8
+ at g = common local_unnamed_addr global ptr zeroinitializer, align 8
define dso_local ptr @litp(i32 %a, i32 %b) {
entry:
diff --git a/llvm/test/CodeGen/AArch64/partial-pipeline-execution.ll b/llvm/test/CodeGen/AArch64/partial-pipeline-execution.ll
index 00a8c30229e57..8a63c1a78e281 100644
--- a/llvm/test/CodeGen/AArch64/partial-pipeline-execution.ll
+++ b/llvm/test/CodeGen/AArch64/partial-pipeline-execution.ll
@@ -17,7 +17,7 @@ source_filename = "loop.c"
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64-none-linux-gnu"
- at q = dso_local local_unnamed_addr global ptr null, align 8
+ at q = dso_local local_unnamed_addr global ptr zeroinitializer, align 8
; Function Attrs: nofree norecurse nounwind
define dso_local i32 @main(i32 %argc, ptr nocapture readnone %argv) local_unnamed_addr #0 {
diff --git a/llvm/test/CodeGen/AArch64/peephole-and-tst.ll b/llvm/test/CodeGen/AArch64/peephole-and-tst.ll
index 74b0e69d1b05b..9465887958234 100644
--- a/llvm/test/CodeGen/AArch64/peephole-and-tst.ll
+++ b/llvm/test/CodeGen/AArch64/peephole-and-tst.ll
@@ -4,7 +4,7 @@
%struct.anon = type { ptr, ptr }
- at ptr_wrapper = common global ptr null, align 8
+ at ptr_wrapper = common global ptr zeroinitializer, align 8
define i32 @test_func_i32_two_uses(i32 %in, i32 %bit, i32 %mask) {
; CHECK-SD-LABEL: test_func_i32_two_uses:
diff --git a/llvm/test/CodeGen/AArch64/ptrauth-elf-got-function-symbols.ll b/llvm/test/CodeGen/AArch64/ptrauth-elf-got-function-symbols.ll
index e75acceaa0d12..52759418c29ef 100644
--- a/llvm/test/CodeGen/AArch64/ptrauth-elf-got-function-symbols.ll
+++ b/llvm/test/CodeGen/AArch64/ptrauth-elf-got-function-symbols.ll
@@ -28,7 +28,7 @@
; OBJ-NEXT: Num: Value Size Type Bind Vis Ndx Name
; OBJ: 0000000000000000 0 FUNC GLOBAL DEFAULT UND bar
- at fptr = private global ptr null
+ at fptr = private global ptr zeroinitializer
define void @foo() {
store ptr ptrauth (ptr @bar, i32 0), ptr @fptr
diff --git a/llvm/test/CodeGen/AArch64/ptrauth-tiny-model-pic.ll b/llvm/test/CodeGen/AArch64/ptrauth-tiny-model-pic.ll
index 9d13714bbefe3..b03124fafee25 100644
--- a/llvm/test/CodeGen/AArch64/ptrauth-tiny-model-pic.ll
+++ b/llvm/test/CodeGen/AArch64/ptrauth-tiny-model-pic.ll
@@ -132,7 +132,7 @@ entry:
@lsrc = internal global i8 0, align 4
@ldst = internal global i8 0, align 4
- at lptr = internal global ptr null, align 8
+ at lptr = internal global ptr zeroinitializer, align 8
declare void @func(...)
diff --git a/llvm/test/CodeGen/AArch64/sibling-call.ll b/llvm/test/CodeGen/AArch64/sibling-call.ll
index 60031aec49e07..da1975f78dda0 100644
--- a/llvm/test/CodeGen/AArch64/sibling-call.ll
+++ b/llvm/test/CodeGen/AArch64/sibling-call.ll
@@ -100,7 +100,7 @@ define dso_local void @caller_to16_from16([8 x i64], i64 %a, i64 %b) {
}
- at func = dso_local global ptr null
+ at func = dso_local global ptr zeroinitializer
define dso_local void @indirect_tail() {
; CHECK-LABEL: indirect_tail:
diff --git a/llvm/test/CodeGen/AArch64/speculation-hardening-sls.ll b/llvm/test/CodeGen/AArch64/speculation-hardening-sls.ll
index f380b2d05d863..51b95df8234ef 100644
--- a/llvm/test/CodeGen/AArch64/speculation-hardening-sls.ll
+++ b/llvm/test/CodeGen/AArch64/speculation-hardening-sls.ll
@@ -129,7 +129,7 @@ entry:
}
; verify calling through a function pointer.
- at a = dso_local local_unnamed_addr global ptr null, align 8
+ at a = dso_local local_unnamed_addr global ptr zeroinitializer, align 8
@b = dso_local local_unnamed_addr global i32 0, align 4
define dso_local void @indirect_call_global() local_unnamed_addr {
; CHECK-LABEL: indirect_call_global:
diff --git a/llvm/test/CodeGen/AArch64/speculation-hardening.mir b/llvm/test/CodeGen/AArch64/speculation-hardening.mir
index 1e5fafb7242b8..ed52fb8157029 100644
--- a/llvm/test/CodeGen/AArch64/speculation-hardening.mir
+++ b/llvm/test/CodeGen/AArch64/speculation-hardening.mir
@@ -31,7 +31,7 @@
define void @indirect_call_x17(i32 %a, i32 %b) speculative_load_hardening {
ret void
}
- @g = common dso_local local_unnamed_addr global ptr null, align 8
+ @g = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8
define void @indirect_tailcall_x17(i32 %a, i32 %b) speculative_load_hardening {
ret void
}
diff --git a/llvm/test/CodeGen/AArch64/sponentry.ll b/llvm/test/CodeGen/AArch64/sponentry.ll
index fa960563c1e20..14ed4b802f89a 100644
--- a/llvm/test/CodeGen/AArch64/sponentry.ll
+++ b/llvm/test/CodeGen/AArch64/sponentry.ll
@@ -3,7 +3,7 @@
; RUN: llc -mtriple=aarch64-windows-msvc %s -o - | FileCheck %s --check-prefix=NOFP
; RUN: llc -mtriple=aarch64-windows-msvc -fast-isel %s -o - | FileCheck %s --check-prefix=NOFP
- at env2 = common dso_local global ptr null, align 8
+ at env2 = common dso_local global ptr zeroinitializer, align 8
define dso_local void @bar() {
%1 = call ptr @llvm.sponentry()
diff --git a/llvm/test/CodeGen/AArch64/stack-protector-musttail.ll b/llvm/test/CodeGen/AArch64/stack-protector-musttail.ll
index 844860a290eed..8defd27da707b 100644
--- a/llvm/test/CodeGen/AArch64/stack-protector-musttail.ll
+++ b/llvm/test/CodeGen/AArch64/stack-protector-musttail.ll
@@ -1,6 +1,6 @@
; RUN: llc -mtriple=arm64-apple-macosx -fast-isel %s -o - -start-before=stack-protector -stop-after=stack-protector | FileCheck %s
- at var = global ptr null
+ at var = global ptr zeroinitializer
declare void @callee()
diff --git a/llvm/test/CodeGen/AArch64/stack-tagging-setjmp.ll b/llvm/test/CodeGen/AArch64/stack-tagging-setjmp.ll
index 4be63913a5048..822c40a48d3e3 100644
--- a/llvm/test/CodeGen/AArch64/stack-tagging-setjmp.ll
+++ b/llvm/test/CodeGen/AArch64/stack-tagging-setjmp.ll
@@ -2,7 +2,7 @@
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64-unknown-linux-android29"
- at stackbuf = dso_local local_unnamed_addr global ptr null, align 8
+ at stackbuf = dso_local local_unnamed_addr global ptr zeroinitializer, align 8
@jbuf = dso_local global [32 x i64] zeroinitializer, align 8
declare void @may_jump()
diff --git a/llvm/test/CodeGen/AArch64/tiny-model-pic.ll b/llvm/test/CodeGen/AArch64/tiny-model-pic.ll
index 3868303a9fb70..ec0b0de2cbaed 100644
--- a/llvm/test/CodeGen/AArch64/tiny-model-pic.ll
+++ b/llvm/test/CodeGen/AArch64/tiny-model-pic.ll
@@ -79,7 +79,7 @@ entry:
@lsrc = internal global i8 0, align 4
@ldst = internal global i8 0, align 4
- at lptr = internal global ptr null, align 8
+ at lptr = internal global ptr zeroinitializer, align 8
define dso_preemptable void @bar1() {
; CHECK-PIC-LABEL: bar1:
diff --git a/llvm/test/CodeGen/AArch64/tiny-model-static.ll b/llvm/test/CodeGen/AArch64/tiny-model-static.ll
index a62d4a07cc535..99948fd6dffc2 100644
--- a/llvm/test/CodeGen/AArch64/tiny-model-static.ll
+++ b/llvm/test/CodeGen/AArch64/tiny-model-static.ll
@@ -79,7 +79,7 @@ entry:
@lsrc = internal global i8 0, align 4
@ldst = internal global i8 0, align 4
- at lptr = internal global ptr null, align 8
+ at lptr = internal global ptr zeroinitializer, align 8
define dso_local void @bar1() {
; CHECK-LABEL: bar1:
diff --git a/llvm/test/CodeGen/AMDGPU/32-bit-local-address-space.ll b/llvm/test/CodeGen/AMDGPU/32-bit-local-address-space.ll
index 4b53f66b379a4..3f8e8a9314878 100644
--- a/llvm/test/CodeGen/AMDGPU/32-bit-local-address-space.ll
+++ b/llvm/test/CodeGen/AMDGPU/32-bit-local-address-space.ll
@@ -164,7 +164,7 @@ define amdgpu_kernel void @null_32bit_lds_ptr(ptr addrspace(1) %out, ptr addrspa
; GFX7-NEXT: s_mov_b32 s3, 0xf000
; GFX7-NEXT: s_mov_b32 s2, -1
; GFX7-NEXT: s_waitcnt lgkmcnt(0)
-; GFX7-NEXT: s_cmp_lg_u32 s6, 0
+; GFX7-NEXT: s_cmp_lg_u32 s6, -1
; GFX7-NEXT: s_cselect_b32 s4, s4, 0x1c8
; GFX7-NEXT: v_mov_b32_e32 v0, s4
; GFX7-NEXT: buffer_store_dword v0, off, s[0:3], 0
@@ -178,7 +178,7 @@ define amdgpu_kernel void @null_32bit_lds_ptr(ptr addrspace(1) %out, ptr addrspa
; GFX8-NEXT: s_mov_b32 s3, 0xf000
; GFX8-NEXT: s_mov_b32 s2, -1
; GFX8-NEXT: s_waitcnt lgkmcnt(0)
-; GFX8-NEXT: s_cmp_lg_u32 s6, 0
+; GFX8-NEXT: s_cmp_lg_u32 s6, -1
; GFX8-NEXT: s_cselect_b32 s4, s4, 0x1c8
; GFX8-NEXT: v_mov_b32_e32 v0, s4
; GFX8-NEXT: buffer_store_dword v0, off, s[0:3], 0
diff --git a/llvm/test/CodeGen/AMDGPU/GlobalISel/bug_shuffle_vector_to_scalar.ll b/llvm/test/CodeGen/AMDGPU/GlobalISel/bug_shuffle_vector_to_scalar.ll
index b19872aba2cca..451b9394c2f8e 100644
--- a/llvm/test/CodeGen/AMDGPU/GlobalISel/bug_shuffle_vector_to_scalar.ll
+++ b/llvm/test/CodeGen/AMDGPU/GlobalISel/bug_shuffle_vector_to_scalar.ll
@@ -7,7 +7,7 @@
define amdgpu_gs <4 x float> @_amdgpu_gs_main() {
; CHECK-LABEL: _amdgpu_gs_main:
; CHECK: ; %bb.0: ; %bb
-; CHECK-NEXT: v_mov_b32_e32 v0, 16
+; CHECK-NEXT: v_mov_b32_e32 v0, 15
; CHECK-NEXT: ds_read2_b32 v[0:1], v0 offset1:1
; CHECK-NEXT: s_mov_b32 s0, 0
; CHECK-NEXT: s_mov_b32 s1, s0
diff --git a/llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll b/llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
index 333207a24fe7d..744556c03840e 100644
--- a/llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
+++ b/llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
@@ -1990,7 +1990,7 @@ define amdgpu_kernel void @p1i8_arg(ptr addrspace(1) %arg) nounwind {
; HSA-VI-NEXT: {{ $}}
; HSA-VI-NEXT: [[COPY:%[0-9]+]]:_(p4) = COPY $sgpr8_sgpr9
; HSA-VI-NEXT: [[C:%[0-9]+]]:_(s8) = G_CONSTANT i8 9
- ; HSA-VI-NEXT: [[C1:%[0-9]+]]:_(p3) = G_CONSTANT i32 0
+ ; HSA-VI-NEXT: [[C1:%[0-9]+]]:_(p3) = G_CONSTANT i32 -1
; HSA-VI-NEXT: G_STORE [[C]](s8), [[C1]](p3) :: (store (s8) into `ptr addrspace(3) null`, addrspace 3)
; HSA-VI-NEXT: S_ENDPGM 0
;
@@ -2000,7 +2000,7 @@ define amdgpu_kernel void @p1i8_arg(ptr addrspace(1) %arg) nounwind {
; LEGACY-MESA-VI-NEXT: {{ $}}
; LEGACY-MESA-VI-NEXT: [[COPY:%[0-9]+]]:_(p4) = COPY $sgpr4_sgpr5
; LEGACY-MESA-VI-NEXT: [[C:%[0-9]+]]:_(s8) = G_CONSTANT i8 9
- ; LEGACY-MESA-VI-NEXT: [[C1:%[0-9]+]]:_(p3) = G_CONSTANT i32 0
+ ; LEGACY-MESA-VI-NEXT: [[C1:%[0-9]+]]:_(p3) = G_CONSTANT i32 -1
; LEGACY-MESA-VI-NEXT: G_STORE [[C]](s8), [[C1]](p3) :: (store (s8) into `ptr addrspace(3) null`, addrspace 3)
; LEGACY-MESA-VI-NEXT: S_ENDPGM 0
store i8 9, ptr addrspace(3) null
diff --git a/llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-block-addr.mir b/llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-block-addr.mir
index 9b5a0b2de4f81..fbb1f87c1ff54 100644
--- a/llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-block-addr.mir
+++ b/llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-block-addr.mir
@@ -2,7 +2,7 @@
# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -O0 -run-pass=legalizer %s -o - | FileCheck %s
--- |
- @addr = global ptr null
+ @addr = global ptr zeroinitializer
define void @test_blockaddress() {
store ptr blockaddress(@test_blockaddress, %block), ptr @addr
diff --git a/llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll b/llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
index 7b5621ff3b5a9..d405b52bd58e2 100644
--- a/llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
+++ b/llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
@@ -433,7 +433,7 @@ define amdgpu_kernel void @set_inactive_p3(ptr addrspace(1) %out, ptr addrspace(
; GCN-NEXT: s_waitcnt lgkmcnt(0)
; GCN-NEXT: v_mov_b32_e32 v1, s3
; GCN-NEXT: s_or_saveexec_b64 s[4:5], -1
-; GCN-NEXT: v_cndmask_b32_e64 v0, 0, v1, s[4:5]
+; GCN-NEXT: v_cndmask_b32_e64 v0, -1, v1, s[4:5]
; GCN-NEXT: s_mov_b64 exec, s[4:5]
; GCN-NEXT: v_mov_b32_e32 v1, v0
; GCN-NEXT: s_mov_b32 s3, 0xf000
@@ -454,7 +454,7 @@ define amdgpu_kernel void @set_inactive_p5(ptr addrspace(1) %out, ptr addrspace(
; GCN-NEXT: s_waitcnt lgkmcnt(0)
; GCN-NEXT: v_mov_b32_e32 v1, s3
; GCN-NEXT: s_or_saveexec_b64 s[4:5], -1
-; GCN-NEXT: v_cndmask_b32_e64 v0, 0, v1, s[4:5]
+; GCN-NEXT: v_cndmask_b32_e64 v0, -1, v1, s[4:5]
; GCN-NEXT: s_mov_b64 exec, s[4:5]
; GCN-NEXT: v_mov_b32_e32 v1, v0
; GCN-NEXT: s_mov_b32 s3, 0xf000
diff --git a/llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-block-addr.mir b/llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-block-addr.mir
index fc86dd884fac0..aa222d9263ccd 100644
--- a/llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-block-addr.mir
+++ b/llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-block-addr.mir
@@ -3,7 +3,7 @@
--- |
- @addr = global ptr null
+ @addr = global ptr zeroinitializer
define void @test_blockaddress() {
store ptr blockaddress(@test_blockaddress, %block), ptr @addr
diff --git a/llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll b/llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
index 98fbbe1a515ed..59b36abc4b21c 100644
--- a/llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
+++ b/llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
@@ -18,7 +18,7 @@ declare void @llvm.memcpy.p1.p4.i32(ptr addrspace(1) nocapture, ptr addrspace(4)
define amdgpu_kernel void @store_cast_0_flat_to_group_addrspacecast() #1 {
; HSA-LABEL: define {{[^@]+}}@store_cast_0_flat_to_group_addrspacecast
; HSA-SAME: () #[[ATTR1:[0-9]+]] {
-; HSA-NEXT: store i32 7, ptr addrspace(3) addrspacecast (ptr addrspace(4) null to ptr addrspace(3)), align 4
+; HSA-NEXT: store i32 7, ptr addrspace(3) null, align 4
; HSA-NEXT: ret void
;
store i32 7, ptr addrspace(3) addrspacecast (ptr addrspace(4) null to ptr addrspace(3))
@@ -27,8 +27,8 @@ define amdgpu_kernel void @store_cast_0_flat_to_group_addrspacecast() #1 {
define amdgpu_kernel void @store_cast_0_group_to_flat_addrspacecast() #1 {
; HSA-LABEL: define {{[^@]+}}@store_cast_0_group_to_flat_addrspacecast
-; HSA-SAME: () #[[ATTR2:[0-9]+]] {
-; HSA-NEXT: store i32 7, ptr addrspace(4) addrspacecast (ptr addrspace(3) null to ptr addrspace(4)), align 4
+; HSA-SAME: () #[[ATTR1]] {
+; HSA-NEXT: store i32 7, ptr addrspace(4) null, align 4
; HSA-NEXT: ret void
;
store i32 7, ptr addrspace(4) addrspacecast (ptr addrspace(3) null to ptr addrspace(4))
@@ -37,7 +37,7 @@ define amdgpu_kernel void @store_cast_0_group_to_flat_addrspacecast() #1 {
define amdgpu_kernel void @store_constant_cast_group_gv_to_flat() #1 {
; HSA-LABEL: define {{[^@]+}}@store_constant_cast_group_gv_to_flat
-; HSA-SAME: () #[[ATTR2]] {
+; HSA-SAME: () #[[ATTR2:[0-9]+]] {
; HSA-NEXT: store i32 7, ptr addrspace(4) addrspacecast (ptr addrspace(3) @lds.i32 to ptr addrspace(4)), align 4
; HSA-NEXT: ret void
;
diff --git a/llvm/test/CodeGen/AMDGPU/addrspacecast.r600.ll b/llvm/test/CodeGen/AMDGPU/addrspacecast.r600.ll
index 95a3263a58a2b..a0693a7dbfc8c 100644
--- a/llvm/test/CodeGen/AMDGPU/addrspacecast.r600.ll
+++ b/llvm/test/CodeGen/AMDGPU/addrspacecast.r600.ll
@@ -42,7 +42,7 @@ define amdgpu_kernel void @addrspacecast_flat_null_to_local(ptr addrspace(1) %ou
; CHECK-NEXT: PAD
; CHECK-NEXT: ALU clause starting at 4:
; CHECK-NEXT: MOV * T0.X, literal.x,
-; CHECK-NEXT: -1(nan), 0(0.000000e+00)
+; CHECK-NEXT: 0(0.000000e+00), 0(0.000000e+00)
; CHECK-NEXT: LSHR * T1.X, KC0[2].Y, literal.x,
; CHECK-NEXT: 2(2.802597e-45), 0(0.000000e+00)
store ptr addrspace(3) addrspacecast (ptr null to ptr addrspace(3)), ptr addrspace(1) %out
diff --git a/llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll b/llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
index ef7a13819a799..e0e6504f15778 100644
--- a/llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
+++ b/llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
@@ -520,6 +520,7 @@ define amdgpu_kernel void @introduced_copy_to_sgpr(i64 %arg, i32 %arg1, i32 %arg
; GFX908-NEXT: s_sub_i32 s1, 0, s7
; GFX908-NEXT: v_cvt_f32_f16_e32 v18, s0
; GFX908-NEXT: v_mov_b32_e32 v17, 0
+<<<<<<< HEAD
; GFX908-NEXT: v_rcp_iflag_f32_e32 v0, v0
; GFX908-NEXT: v_mul_f32_e32 v0, 0x4f7ffffe, v0
; GFX908-NEXT: v_cvt_u32_f32_e32 v0, v0
@@ -545,7 +546,35 @@ define amdgpu_kernel void @introduced_copy_to_sgpr(i64 %arg, i32 %arg1, i32 %arg
; GFX908-NEXT: s_lshl_b64 s[14:15], s[10:11], 5
; GFX908-NEXT: s_and_b64 s[0:1], exec, s[0:1]
; GFX908-NEXT: s_lshl_b64 s[16:17], s[8:9], 5
+=======
+; GFX908-NEXT: v_rcp_iflag_f32_e32 v2, v0
+; GFX908-NEXT: v_mov_b32_e32 v0, 0
+>>>>>>> c62baaf6e26d ([WIP][IR][Constants] Change the semantic of `ConstantPointerNull` to represent an actual `nullptr` instead of a zero-value pointer)
; GFX908-NEXT: v_mov_b32_e32 v1, 0
+; GFX908-NEXT: v_mov_b32_e32 v20, -1
+; GFX908-NEXT: v_mul_f32_e32 v2, 0x4f7ffffe, v2
+; GFX908-NEXT: v_cvt_u32_f32_e32 v2, v2
+; GFX908-NEXT: v_readfirstlane_b32 s2, v2
+; GFX908-NEXT: s_mul_i32 s1, s1, s2
+; GFX908-NEXT: s_mul_hi_u32 s1, s2, s1
+; GFX908-NEXT: s_add_i32 s2, s2, s1
+; GFX908-NEXT: s_mul_hi_u32 s1, s6, s2
+; GFX908-NEXT: s_mul_i32 s2, s1, s7
+; GFX908-NEXT: s_sub_i32 s2, s6, s2
+; GFX908-NEXT: s_add_i32 s3, s1, 1
+; GFX908-NEXT: s_sub_i32 s6, s2, s7
+; GFX908-NEXT: s_cmp_ge_u32 s2, s7
+; GFX908-NEXT: s_cselect_b32 s1, s3, s1
+; GFX908-NEXT: s_cselect_b32 s2, s6, s2
+; GFX908-NEXT: s_add_i32 s3, s1, 1
+; GFX908-NEXT: s_cmp_ge_u32 s2, s7
+; GFX908-NEXT: s_cselect_b32 s8, s3, s1
+; GFX908-NEXT: s_lshr_b32 s2, s0, 16
+; GFX908-NEXT: v_cvt_f32_f16_e32 v19, s2
+; GFX908-NEXT: s_lshl_b64 s[6:7], s[4:5], 5
+; GFX908-NEXT: s_lshl_b64 s[14:15], s[10:11], 5
+; GFX908-NEXT: s_and_b64 s[0:1], exec, s[0:1]
+; GFX908-NEXT: s_lshl_b64 s[16:17], s[8:9], 5
; GFX908-NEXT: s_waitcnt vmcnt(0)
; GFX908-NEXT: v_readfirstlane_b32 s2, v16
; GFX908-NEXT: s_and_b32 s2, 0xffff, s2
@@ -609,37 +638,43 @@ define amdgpu_kernel void @introduced_copy_to_sgpr(i64 %arg, i32 %arg1, i32 %arg
; GFX908-NEXT: ; => This Inner Loop Header: Depth=2
; GFX908-NEXT: s_add_u32 s22, s20, s9
; GFX908-NEXT: s_addc_u32 s23, s21, s13
+<<<<<<< HEAD
; GFX908-NEXT: global_load_dword v21, v17, s[22:23] offset:16 glc
; GFX908-NEXT: s_waitcnt vmcnt(0)
; GFX908-NEXT: global_load_dword v20, v17, s[22:23] offset:20 glc
+=======
+; GFX908-NEXT: global_load_dword v22, v17, s[22:23] offset:16 glc
+; GFX908-NEXT: s_waitcnt vmcnt(0)
+; GFX908-NEXT: global_load_dword v21, v17, s[22:23] offset:20 glc
+>>>>>>> c62baaf6e26d ([WIP][IR][Constants] Change the semantic of `ConstantPointerNull` to represent an actual `nullptr` instead of a zero-value pointer)
; GFX908-NEXT: s_waitcnt vmcnt(0)
; GFX908-NEXT: global_load_dword v12, v17, s[22:23] offset:24 glc
; GFX908-NEXT: s_waitcnt vmcnt(0)
; GFX908-NEXT: global_load_dword v12, v17, s[22:23] offset:28 glc
; GFX908-NEXT: s_waitcnt vmcnt(0)
-; GFX908-NEXT: ds_read_b64 v[12:13], v17
+; GFX908-NEXT: ds_read_b64 v[12:13], v20
; GFX908-NEXT: ds_read_b64 v[14:15], v0
; GFX908-NEXT: s_and_b64 vcc, exec, s[2:3]
; GFX908-NEXT: s_waitcnt lgkmcnt(0)
; GFX908-NEXT: s_cbranch_vccnz .LBB3_7
; GFX908-NEXT: ; %bb.6: ; %bb51
; GFX908-NEXT: ; in Loop: Header=BB3_5 Depth=2
-; GFX908-NEXT: v_cvt_f32_f16_sdwa v22, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+; GFX908-NEXT: v_cvt_f32_f16_sdwa v23, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+; GFX908-NEXT: v_cvt_f32_f16_e32 v22, v22
+; GFX908-NEXT: v_cvt_f32_f16_sdwa v24, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
; GFX908-NEXT: v_cvt_f32_f16_e32 v21, v21
-; GFX908-NEXT: v_cvt_f32_f16_sdwa v23, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-; GFX908-NEXT: v_cvt_f32_f16_e32 v20, v20
-; GFX908-NEXT: v_add_f32_e32 v24, v18, v12
-; GFX908-NEXT: v_add_f32_e32 v25, v19, v13
-; GFX908-NEXT: v_add_f32_e32 v26, 0, v12
-; GFX908-NEXT: v_add_f32_e32 v27, 0, v13
-; GFX908-NEXT: v_add_f32_e32 v15, v22, v15
-; GFX908-NEXT: v_add_f32_e32 v14, v21, v14
-; GFX908-NEXT: v_add_f32_e32 v13, v23, v13
-; GFX908-NEXT: v_add_f32_e32 v12, v20, v12
-; GFX908-NEXT: v_add_f32_e32 v5, v5, v25
-; GFX908-NEXT: v_add_f32_e32 v4, v4, v24
-; GFX908-NEXT: v_add_f32_e32 v7, v7, v27
-; GFX908-NEXT: v_add_f32_e32 v6, v6, v26
+; GFX908-NEXT: v_add_f32_e32 v25, v18, v12
+; GFX908-NEXT: v_add_f32_e32 v26, v19, v13
+; GFX908-NEXT: v_add_f32_e32 v27, 0, v12
+; GFX908-NEXT: v_add_f32_e32 v28, 0, v13
+; GFX908-NEXT: v_add_f32_e32 v15, v23, v15
+; GFX908-NEXT: v_add_f32_e32 v14, v22, v14
+; GFX908-NEXT: v_add_f32_e32 v13, v24, v13
+; GFX908-NEXT: v_add_f32_e32 v12, v21, v12
+; GFX908-NEXT: v_add_f32_e32 v5, v5, v26
+; GFX908-NEXT: v_add_f32_e32 v4, v4, v25
+; GFX908-NEXT: v_add_f32_e32 v7, v7, v28
+; GFX908-NEXT: v_add_f32_e32 v6, v6, v27
; GFX908-NEXT: v_add_f32_e32 v8, v8, v14
; GFX908-NEXT: v_add_f32_e32 v9, v9, v15
; GFX908-NEXT: v_add_f32_e32 v10, v10, v12
@@ -684,12 +719,22 @@ define amdgpu_kernel void @introduced_copy_to_sgpr(i64 %arg, i32 %arg1, i32 %arg
; GFX90A-NEXT: v_cvt_f32_u32_e32 v0, s7
; GFX90A-NEXT: s_sub_i32 s1, 0, s7
; GFX90A-NEXT: v_mov_b32_e32 v19, 0
+<<<<<<< HEAD
; GFX90A-NEXT: v_pk_mov_b32 v[2:3], 0, 0
; GFX90A-NEXT: v_rcp_iflag_f32_e32 v0, v0
; GFX90A-NEXT: v_mul_f32_e32 v0, 0x4f7ffffe, v0
; GFX90A-NEXT: v_cvt_u32_f32_e32 v1, v0
; GFX90A-NEXT: v_cvt_f32_f16_e32 v0, s0
; GFX90A-NEXT: v_readfirstlane_b32 s2, v1
+=======
+; GFX90A-NEXT: v_mov_b32_e32 v20, -1
+; GFX90A-NEXT: v_rcp_iflag_f32_e32 v2, v0
+; GFX90A-NEXT: v_pk_mov_b32 v[0:1], 0, 0
+; GFX90A-NEXT: v_mul_f32_e32 v2, 0x4f7ffffe, v2
+; GFX90A-NEXT: v_cvt_u32_f32_e32 v3, v2
+; GFX90A-NEXT: v_cvt_f32_f16_e32 v2, s0
+; GFX90A-NEXT: v_readfirstlane_b32 s2, v3
+>>>>>>> c62baaf6e26d ([WIP][IR][Constants] Change the semantic of `ConstantPointerNull` to represent an actual `nullptr` instead of a zero-value pointer)
; GFX90A-NEXT: s_mul_i32 s1, s1, s2
; GFX90A-NEXT: s_mul_hi_u32 s1, s2, s1
; GFX90A-NEXT: s_add_i32 s2, s2, s1
@@ -705,7 +750,11 @@ define amdgpu_kernel void @introduced_copy_to_sgpr(i64 %arg, i32 %arg1, i32 %arg
; GFX90A-NEXT: s_cmp_ge_u32 s2, s7
; GFX90A-NEXT: s_cselect_b32 s8, s3, s1
; GFX90A-NEXT: s_lshr_b32 s2, s0, 16
+<<<<<<< HEAD
; GFX90A-NEXT: v_cvt_f32_f16_e32 v1, s2
+=======
+; GFX90A-NEXT: v_cvt_f32_f16_e32 v3, s2
+>>>>>>> c62baaf6e26d ([WIP][IR][Constants] Change the semantic of `ConstantPointerNull` to represent an actual `nullptr` instead of a zero-value pointer)
; GFX90A-NEXT: s_lshl_b64 s[6:7], s[4:5], 5
; GFX90A-NEXT: s_lshl_b64 s[14:15], s[10:11], 5
; GFX90A-NEXT: s_and_b64 s[0:1], exec, s[0:1]
@@ -731,7 +780,11 @@ define amdgpu_kernel void @introduced_copy_to_sgpr(i64 %arg, i32 %arg1, i32 %arg
; GFX90A-NEXT: s_cbranch_vccz .LBB3_10
; GFX90A-NEXT: ; %bb.3: ; %bb14
; GFX90A-NEXT: ; in Loop: Header=BB3_2 Depth=1
+<<<<<<< HEAD
; GFX90A-NEXT: global_load_dwordx2 v[4:5], v[2:3], off
+=======
+; GFX90A-NEXT: global_load_dwordx2 v[4:5], v[0:1], off
+>>>>>>> c62baaf6e26d ([WIP][IR][Constants] Change the semantic of `ConstantPointerNull` to represent an actual `nullptr` instead of a zero-value pointer)
; GFX90A-NEXT: v_cmp_gt_i64_e64 s[2:3], s[10:11], -1
; GFX90A-NEXT: s_mov_b32 s13, s12
; GFX90A-NEXT: v_cndmask_b32_e64 v8, 0, 1, s[2:3]
@@ -769,15 +822,21 @@ define amdgpu_kernel void @introduced_copy_to_sgpr(i64 %arg, i32 %arg1, i32 %arg
; GFX90A-NEXT: ; => This Inner Loop Header: Depth=2
; GFX90A-NEXT: s_add_u32 s22, s20, s9
; GFX90A-NEXT: s_addc_u32 s23, s21, s13
+<<<<<<< HEAD
; GFX90A-NEXT: global_load_dword v21, v19, s[22:23] offset:16 glc
; GFX90A-NEXT: s_waitcnt vmcnt(0)
; GFX90A-NEXT: global_load_dword v20, v19, s[22:23] offset:20 glc
+=======
+; GFX90A-NEXT: global_load_dword v22, v19, s[22:23] offset:16 glc
+; GFX90A-NEXT: s_waitcnt vmcnt(0)
+; GFX90A-NEXT: global_load_dword v21, v19, s[22:23] offset:20 glc
+>>>>>>> c62baaf6e26d ([WIP][IR][Constants] Change the semantic of `ConstantPointerNull` to represent an actual `nullptr` instead of a zero-value pointer)
; GFX90A-NEXT: s_waitcnt vmcnt(0)
; GFX90A-NEXT: global_load_dword v14, v19, s[22:23] offset:24 glc
; GFX90A-NEXT: s_waitcnt vmcnt(0)
; GFX90A-NEXT: global_load_dword v14, v19, s[22:23] offset:28 glc
; GFX90A-NEXT: s_waitcnt vmcnt(0)
-; GFX90A-NEXT: ds_read_b64 v[14:15], v19
+; GFX90A-NEXT: ds_read_b64 v[14:15], v20
; GFX90A-NEXT: ds_read_b64 v[16:17], v0
; GFX90A-NEXT: s_and_b64 vcc, exec, s[2:3]
; GFX90A-NEXT: ; kill: killed $sgpr22 killed $sgpr23
@@ -785,16 +844,16 @@ define amdgpu_kernel void @introduced_copy_to_sgpr(i64 %arg, i32 %arg1, i32 %arg
; GFX90A-NEXT: s_cbranch_vccnz .LBB3_7
; GFX90A-NEXT: ; %bb.6: ; %bb51
; GFX90A-NEXT: ; in Loop: Header=BB3_5 Depth=2
-; GFX90A-NEXT: v_cvt_f32_f16_sdwa v23, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-; GFX90A-NEXT: v_cvt_f32_f16_e32 v22, v21
-; GFX90A-NEXT: v_cvt_f32_f16_sdwa v21, v20 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
-; GFX90A-NEXT: v_cvt_f32_f16_e32 v20, v20
-; GFX90A-NEXT: v_pk_add_f32 v[24:25], v[0:1], v[14:15]
-; GFX90A-NEXT: v_pk_add_f32 v[26:27], v[14:15], 0 op_sel_hi:[1,0]
+; GFX90A-NEXT: v_cvt_f32_f16_sdwa v23, v22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+; GFX90A-NEXT: v_cvt_f32_f16_e32 v22, v22
+; GFX90A-NEXT: v_cvt_f32_f16_sdwa v25, v21 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+; GFX90A-NEXT: v_cvt_f32_f16_e32 v24, v21
+; GFX90A-NEXT: v_pk_add_f32 v[26:27], v[2:3], v[14:15]
+; GFX90A-NEXT: v_pk_add_f32 v[28:29], v[14:15], 0 op_sel_hi:[1,0]
; GFX90A-NEXT: v_pk_add_f32 v[16:17], v[22:23], v[16:17]
-; GFX90A-NEXT: v_pk_add_f32 v[14:15], v[20:21], v[14:15]
-; GFX90A-NEXT: v_pk_add_f32 v[6:7], v[6:7], v[24:25]
-; GFX90A-NEXT: v_pk_add_f32 v[8:9], v[8:9], v[26:27]
+; GFX90A-NEXT: v_pk_add_f32 v[14:15], v[24:25], v[14:15]
+; GFX90A-NEXT: v_pk_add_f32 v[6:7], v[6:7], v[26:27]
+; GFX90A-NEXT: v_pk_add_f32 v[8:9], v[8:9], v[28:29]
; GFX90A-NEXT: v_pk_add_f32 v[10:11], v[10:11], v[16:17]
; GFX90A-NEXT: v_pk_add_f32 v[12:13], v[12:13], v[14:15]
; GFX90A-NEXT: s_branch .LBB3_4
diff --git a/llvm/test/CodeGen/AMDGPU/amdgpu-late-codegenprepare.ll b/llvm/test/CodeGen/AMDGPU/amdgpu-late-codegenprepare.ll
index 3e232bb1914f8..3fed0c978f5d1 100644
--- a/llvm/test/CodeGen/AMDGPU/amdgpu-late-codegenprepare.ll
+++ b/llvm/test/CodeGen/AMDGPU/amdgpu-late-codegenprepare.ll
@@ -7,14 +7,14 @@
; address spaces
define amdgpu_kernel void @constant_from_offset_cast_generic_null() {
; GFX9-LABEL: @constant_from_offset_cast_generic_null(
-; GFX9-NEXT: [[TMP1:%.*]] = load i32, ptr addrspace(4) getelementptr (i8, ptr addrspace(4) addrspacecast (ptr null to ptr addrspace(4)), i64 4), align 4
+; GFX9-NEXT: [[TMP1:%.*]] = load i32, ptr addrspace(4) getelementptr (i8, ptr addrspace(4) null, i64 4), align 4
; GFX9-NEXT: [[TMP2:%.*]] = lshr i32 [[TMP1]], 16
; GFX9-NEXT: [[TMP3:%.*]] = trunc i32 [[TMP2]] to i8
; GFX9-NEXT: store i8 [[TMP3]], ptr addrspace(1) poison, align 1
; GFX9-NEXT: ret void
;
; GFX12-LABEL: @constant_from_offset_cast_generic_null(
-; GFX12-NEXT: [[LOAD:%.*]] = load i8, ptr addrspace(4) getelementptr inbounds (i8, ptr addrspace(4) addrspacecast (ptr null to ptr addrspace(4)), i64 6), align 1
+; GFX12-NEXT: [[LOAD:%.*]] = load i8, ptr addrspace(4) getelementptr inbounds (i8, ptr addrspace(4) null, i64 6), align 1
; GFX12-NEXT: store i8 [[LOAD]], ptr addrspace(1) poison, align 1
; GFX12-NEXT: ret void
;
@@ -25,14 +25,14 @@ define amdgpu_kernel void @constant_from_offset_cast_generic_null() {
define amdgpu_kernel void @constant_from_offset_cast_global_null() {
; GFX9-LABEL: @constant_from_offset_cast_global_null(
-; GFX9-NEXT: [[TMP1:%.*]] = load i32, ptr addrspace(4) getelementptr (i8, ptr addrspace(4) addrspacecast (ptr addrspace(1) null to ptr addrspace(4)), i64 4), align 4
+; GFX9-NEXT: [[TMP1:%.*]] = load i32, ptr addrspace(4) getelementptr (i8, ptr addrspace(4) null, i64 4), align 4
; GFX9-NEXT: [[TMP2:%.*]] = lshr i32 [[TMP1]], 16
; GFX9-NEXT: [[TMP3:%.*]] = trunc i32 [[TMP2]] to i8
; GFX9-NEXT: store i8 [[TMP3]], ptr addrspace(1) poison, align 1
; GFX9-NEXT: ret void
;
; GFX12-LABEL: @constant_from_offset_cast_global_null(
-; GFX12-NEXT: [[LOAD:%.*]] = load i8, ptr addrspace(4) getelementptr inbounds (i8, ptr addrspace(4) addrspacecast (ptr addrspace(1) null to ptr addrspace(4)), i64 6), align 1
+; GFX12-NEXT: [[LOAD:%.*]] = load i8, ptr addrspace(4) getelementptr inbounds (i8, ptr addrspace(4) null, i64 6), align 1
; GFX12-NEXT: store i8 [[LOAD]], ptr addrspace(1) poison, align 1
; GFX12-NEXT: ret void
;
diff --git a/llvm/test/CodeGen/AMDGPU/amdgpu-unroll-threshold.ll b/llvm/test/CodeGen/AMDGPU/amdgpu-unroll-threshold.ll
index cee80e3dc46df..0aee5c8b6f969 100644
--- a/llvm/test/CodeGen/AMDGPU/amdgpu-unroll-threshold.ll
+++ b/llvm/test/CodeGen/AMDGPU/amdgpu-unroll-threshold.ll
@@ -14,8 +14,8 @@
; CHECK-NOT: br i1 %cmp
; CHECK: ret void
- at in = internal unnamed_addr global ptr null, align 8
- at out = internal unnamed_addr global ptr null, align 8
+ at in = internal unnamed_addr global ptr zeroinitializer, align 8
+ at out = internal unnamed_addr global ptr zeroinitializer, align 8
define void @unroll_default() {
entry:
diff --git a/llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll b/llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll
index ad0d6d8016ad6..0bcbfd213b5e6 100644
--- a/llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll
+++ b/llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll
@@ -73,11 +73,12 @@ define amdgpu_kernel void @blender_no_live_segment_at_def_error(<4 x float> %ext
; CHECK-NEXT: s_mov_b32 s50, s48
; CHECK-NEXT: s_mov_b32 s51, s48
; CHECK-NEXT: .LBB0_8: ; %if.end294.i.i
-; CHECK-NEXT: v_mov_b32_e32 v0, 0
-; CHECK-NEXT: buffer_store_dword v0, off, s[0:3], 0 offset:12
-; CHECK-NEXT: buffer_store_dword v0, off, s[0:3], 0 offset:8
-; CHECK-NEXT: buffer_store_dword v0, off, s[0:3], 0 offset:4
-; CHECK-NEXT: buffer_store_dword v0, off, s[0:3], 0
+; CHECK-NEXT: v_mov_b32_e32 v0, -1
+; CHECK-NEXT: v_mov_b32_e32 v1, 0
+; CHECK-NEXT: buffer_store_dword v1, v0, s[0:3], 0 offen
+; CHECK-NEXT: buffer_store_dword v1, off, s[0:3], 0 offset:11
+; CHECK-NEXT: buffer_store_dword v1, off, s[0:3], 0 offset:7
+; CHECK-NEXT: buffer_store_dword v1, off, s[0:3], 0 offset:3
; CHECK-NEXT: .LBB0_9: ; %kernel_direct_lighting.exit
; CHECK-NEXT: s_load_dwordx2 s[4:5], s[8:9], 0x20
; CHECK-NEXT: v_mov_b32_e32 v0, s48
diff --git a/llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll b/llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
index 905c8e36dd692..a212d625c0dde 100644
--- a/llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
+++ b/llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
@@ -13,26 +13,28 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $sgpr17, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: renamable $vgpr31 = COPY $vgpr0, implicit $exec
- ; GFX90A-NEXT: early-clobber renamable $sgpr20_sgpr21_sgpr22_sgpr23 = S_LOAD_DWORDX4_IMM_ec renamable $sgpr8_sgpr9, 24, 0 :: (dereferenceable invariant load (s128) from %ir.arg3.kernarg.offset.align.down, align 8, addrspace 4)
+ ; GFX90A-NEXT: renamable $sgpr17 = S_LOAD_DWORD_IMM renamable $sgpr8_sgpr9, 24, 0 :: (dereferenceable invariant load (s32) from %ir.arg4.kernarg.offset.align.down, align 8, addrspace 4)
+ ; GFX90A-NEXT: early-clobber renamable $sgpr20_sgpr21_sgpr22_sgpr23 = S_LOAD_DWORDX4_IMM_ec renamable $sgpr8_sgpr9, 24, 0 :: (dereferenceable invariant load (s128) from %ir.arg6.kernarg.offset.align.down, align 8, addrspace 4)
+ ; GFX90A-NEXT: renamable $sgpr33 = S_LOAD_DWORD_IMM renamable $sgpr8_sgpr9, 40, 0 :: (dereferenceable invariant load (s32) from %ir.arg6.kernarg.offset.align.down + 16, align 8, addrspace 4)
; GFX90A-NEXT: renamable $sgpr24_sgpr25_sgpr26_sgpr27 = S_LOAD_DWORDX4_IMM renamable $sgpr8_sgpr9, 0, 0 :: (dereferenceable invariant load (s128) from %ir.arg.kernarg.offset1, addrspace 4)
; GFX90A-NEXT: renamable $sgpr56_sgpr57 = S_LOAD_DWORDX2_IMM renamable $sgpr8_sgpr9, 16, 0 :: (dereferenceable invariant load (s64) from %ir.arg.kernarg.offset1 + 16, align 16, addrspace 4)
- ; GFX90A-NEXT: renamable $sgpr17 = S_LOAD_DWORD_IMM renamable $sgpr8_sgpr9, 40, 0 :: (dereferenceable invariant load (s32) from %ir.arg3.kernarg.offset.align.down + 16, align 8, addrspace 4)
- ; GFX90A-NEXT: S_BITCMP1_B32 renamable $sgpr20, 0, implicit-def $scc
+ ; GFX90A-NEXT: S_BITCMP1_B32 renamable $sgpr17, 0, implicit-def $scc
; GFX90A-NEXT: renamable $sgpr12_sgpr13 = S_CSELECT_B64 -1, 0, implicit killed $scc
; GFX90A-NEXT: renamable $sgpr18_sgpr19 = S_MOV_B64 -1
; GFX90A-NEXT: renamable $sgpr28_sgpr29 = S_XOR_B64 renamable $sgpr12_sgpr13, -1, implicit-def dead $scc
- ; GFX90A-NEXT: S_BITCMP1_B32 renamable $sgpr20, 8, implicit-def $scc
+ ; GFX90A-NEXT: S_BITCMP1_B32 renamable $sgpr17, 8, implicit-def $scc
; GFX90A-NEXT: renamable $sgpr30_sgpr31 = S_CSELECT_B64 -1, 0, implicit killed $scc
; GFX90A-NEXT: renamable $sgpr30_sgpr31 = S_XOR_B64 killed renamable $sgpr30_sgpr31, -1, implicit-def dead $scc
+ ; GFX90A-NEXT: renamable $vgpr0 = AV_MOV_B32_IMM_PSEUDO -1, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr4 = DS_READ_B32_gfx9 killed renamable $vgpr0, 0, 0, implicit $exec :: (load (s32) from `ptr addrspace(3) null`, align 8, addrspace 3)
; GFX90A-NEXT: renamable $vgpr5 = AV_MOV_B32_IMM_PSEUDO 0, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr4 = DS_READ_B32_gfx9 renamable $vgpr5, 0, 0, implicit $exec :: (load (s32) from `ptr addrspace(3) null`, align 8, addrspace 3)
; GFX90A-NEXT: renamable $sgpr40_sgpr41 = S_MOV_B64 0
; GFX90A-NEXT: renamable $vcc = S_AND_B64 $exec, renamable $sgpr28_sgpr29, implicit-def dead $scc
; GFX90A-NEXT: S_CBRANCH_VCCZ %bb.2, implicit $vcc
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.1.bb103:
; GFX90A-NEXT: successors: %bb.58(0x40000000), %bb.2(0x40000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr40_sgpr41, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x00000000000000FF, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000FF, $vgpr4_vgpr5:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $sgpr33, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr40_sgpr41, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x00000000000000FF, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000FF, $vgpr4_vgpr5:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: renamable $sgpr18_sgpr19 = S_MOV_B64 0
; GFX90A-NEXT: renamable $vcc = S_AND_B64 $exec, renamable $sgpr30_sgpr31, implicit-def dead $scc
@@ -40,7 +42,7 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.2:
; GFX90A-NEXT: successors: %bb.3(0x80000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8, $sgpr9, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr40_sgpr41, $sgpr56, $sgpr57, $sgpr20_sgpr21_sgpr22, $sgpr22_sgpr23, $sgpr24_sgpr25_sgpr26, $sgpr26_sgpr27, $vgpr4, $vgpr5
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8, $sgpr9, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr40_sgpr41, $sgpr56, $sgpr57, $sgpr20_sgpr21_sgpr22, $sgpr22_sgpr23, $sgpr24_sgpr25_sgpr26, $sgpr26_sgpr27, $vgpr4, $vgpr5
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: renamable $vgpr17 = IMPLICIT_DEF implicit-def $vgpr16
; GFX90A-NEXT: renamable $vgpr3 = IMPLICIT_DEF implicit-def $vgpr2
@@ -51,7 +53,7 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.3.Flow17:
; GFX90A-NEXT: successors: %bb.4(0x40000000), %bb.57(0x40000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr36_sgpr37, $sgpr40_sgpr41, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000FF, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr16_vgpr17:0x000000000000000F, $vgpr26_vgpr27:0x000000000000000F, $vgpr28_vgpr29:0x000000000000000F, $vgpr32_vgpr33:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr36_sgpr37, $sgpr40_sgpr41, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000FF, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr16_vgpr17:0x000000000000000F, $vgpr26_vgpr27:0x000000000000000F, $vgpr28_vgpr29:0x000000000000000F, $vgpr32_vgpr33:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: renamable $vgpr6 = V_AND_B32_e32 1023, $vgpr31, implicit $exec
; GFX90A-NEXT: renamable $vcc = S_AND_B64 $exec, killed renamable $sgpr18_sgpr19, implicit-def dead $scc
@@ -59,7 +61,7 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.4.bb15:
; GFX90A-NEXT: successors: %bb.35(0x40000000), %bb.5(0x40000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr36_sgpr37, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000FF, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr40_sgpr41
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr36_sgpr37, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000FF, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr40_sgpr41
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: renamable $vgpr0_vgpr1 = nsw V_LSHLREV_B64_e64 2, $vgpr4_vgpr5, implicit $exec
; GFX90A-NEXT: renamable $vgpr2 = COPY renamable $sgpr25, implicit $exec
@@ -141,8 +143,9 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: successors: %bb.10(0x80000000)
; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr64_sgpr65, $sgpr66_sgpr67, $sgpr68_sgpr69, $vgpr0_vgpr1:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET renamable $vgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr12, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: renamable $vgpr2 = AV_MOV_B32_IMM_PSEUDO -1, implicit $exec
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFEN renamable $vgpr12, killed renamable $vgpr2, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr13, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 3, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
; GFX90A-NEXT: renamable $sgpr68_sgpr69 = S_OR_B64 killed renamable $sgpr68_sgpr69, $exec, implicit-def dead $scc
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.10.Flow33:
@@ -158,8 +161,9 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: successors: %bb.12(0x80000000)
; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr64_sgpr65, $sgpr66_sgpr67, $sgpr68_sgpr69, $vgpr0_vgpr1:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET renamable $vgpr11, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr10, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: renamable $vgpr2 = AV_MOV_B32_IMM_PSEUDO -1, implicit $exec
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFEN renamable $vgpr10, killed renamable $vgpr2, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr11, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 3, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
; GFX90A-NEXT: renamable $sgpr68_sgpr69 = S_OR_B64 killed renamable $sgpr68_sgpr69, $exec, implicit-def dead $scc
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.12.Flow34:
@@ -175,8 +179,9 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: successors: %bb.14(0x80000000)
; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr42_sgpr43, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr64_sgpr65, $sgpr66_sgpr67, $sgpr68_sgpr69, $vgpr0_vgpr1:0x000000000000000F, $vgpr8_vgpr9:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET renamable $vgpr9, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr8, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: renamable $vgpr2 = AV_MOV_B32_IMM_PSEUDO -1, implicit $exec
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFEN renamable $vgpr8, killed renamable $vgpr2, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr9, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 3, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
; GFX90A-NEXT: renamable $sgpr68_sgpr69 = S_OR_B64 killed renamable $sgpr68_sgpr69, $exec, implicit-def dead $scc
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.14.Flow35:
@@ -215,8 +220,9 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: successors: %bb.18(0x80000000)
; GFX90A-NEXT: liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr64_sgpr65, $sgpr68_sgpr69, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET renamable $vgpr47, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr46, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: renamable $vgpr0 = AV_MOV_B32_IMM_PSEUDO -1, implicit $exec
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFEN renamable $vgpr46, killed renamable $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr47, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 3, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
; GFX90A-NEXT: renamable $sgpr68_sgpr69 = S_OR_B64 killed renamable $sgpr68_sgpr69, $exec, implicit-def dead $scc
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.18.Flow37:
@@ -232,8 +238,9 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: successors: %bb.20(0x80000000)
; GFX90A-NEXT: liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr68_sgpr69, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET renamable $vgpr63, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr62, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: renamable $vgpr0 = AV_MOV_B32_IMM_PSEUDO -1, implicit $exec
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFEN renamable $vgpr62, killed renamable $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr63, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 3, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
; GFX90A-NEXT: renamable $sgpr68_sgpr69 = S_OR_B64 killed renamable $sgpr68_sgpr69, $exec, implicit-def dead $scc
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.20.Flow38:
@@ -249,8 +256,9 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: successors: %bb.22(0x80000000)
; GFX90A-NEXT: liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr68_sgpr69, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET renamable $vgpr61, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr60, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: renamable $vgpr0 = AV_MOV_B32_IMM_PSEUDO -1, implicit $exec
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFEN renamable $vgpr60, killed renamable $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr61, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 3, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
; GFX90A-NEXT: renamable $sgpr68_sgpr69 = S_OR_B64 killed renamable $sgpr68_sgpr69, $exec, implicit-def dead $scc
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.22.Flow39:
@@ -266,8 +274,9 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: successors: %bb.24(0x80000000)
; GFX90A-NEXT: liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr68_sgpr69, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET renamable $vgpr59, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr58, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: renamable $vgpr0 = AV_MOV_B32_IMM_PSEUDO -1, implicit $exec
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFEN renamable $vgpr58, killed renamable $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr59, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 3, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
; GFX90A-NEXT: renamable $sgpr68_sgpr69 = S_OR_B64 killed renamable $sgpr68_sgpr69, $exec, implicit-def dead $scc
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.24.Flow40:
@@ -283,8 +292,9 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: successors: %bb.26(0x80000000)
; GFX90A-NEXT: liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr48_sgpr49, $sgpr68_sgpr69, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET renamable $vgpr57, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr56, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: renamable $vgpr0 = AV_MOV_B32_IMM_PSEUDO -1, implicit $exec
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFEN renamable $vgpr56, killed renamable $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr57, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 3, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
; GFX90A-NEXT: renamable $sgpr68_sgpr69 = S_OR_B64 killed renamable $sgpr68_sgpr69, $exec, implicit-def dead $scc
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.26.Flow41:
@@ -300,8 +310,9 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: successors: %bb.28(0x80000000)
; GFX90A-NEXT: liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr68_sgpr69, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET renamable $vgpr45, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr44, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: renamable $vgpr0 = AV_MOV_B32_IMM_PSEUDO -1, implicit $exec
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFEN renamable $vgpr44, killed renamable $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr45, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 3, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
; GFX90A-NEXT: renamable $sgpr68_sgpr69 = S_OR_B64 killed renamable $sgpr68_sgpr69, $exec, implicit-def dead $scc
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.28.Flow42:
@@ -325,8 +336,9 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: successors: %bb.31(0x80000000)
; GFX90A-NEXT: liveins: $sgpr68_sgpr69, $vgpr40_vgpr41:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET renamable $vgpr41, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr40, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: renamable $vgpr0 = AV_MOV_B32_IMM_PSEUDO -1, implicit $exec
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFEN renamable $vgpr40, killed renamable $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr41, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 3, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
; GFX90A-NEXT: renamable $sgpr68_sgpr69 = S_OR_B64 killed renamable $sgpr68_sgpr69, $exec, implicit-def dead $scc
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.31.Flow44:
@@ -351,14 +363,15 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: successors: %bb.29(0x80000000)
; GFX90A-NEXT: liveins: $sgpr4_sgpr5, $sgpr34_sgpr35, $sgpr68_sgpr69, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET renamable $vgpr43, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr42, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: renamable $vgpr0 = AV_MOV_B32_IMM_PSEUDO -1, implicit $exec
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFEN renamable $vgpr42, killed renamable $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr43, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 3, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
; GFX90A-NEXT: renamable $sgpr68_sgpr69 = S_OR_B64 killed renamable $sgpr68_sgpr69, $exec, implicit-def dead $scc
; GFX90A-NEXT: S_BRANCH %bb.29
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.35.bb20:
; GFX90A-NEXT: successors: %bb.37(0x40000000), %bb.36(0x40000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr36_sgpr37, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr40_sgpr41
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr36_sgpr37, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr40_sgpr41
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: renamable $vgpr0 = FLAT_LOAD_SBYTE renamable $vgpr40_vgpr41, 1024, 0, implicit $exec, implicit $flat_scr :: (load (s8) from %ir.i23)
; GFX90A-NEXT: renamable $vgpr42 = V_ADD_CO_U32_e32 1024, $vgpr40, implicit-def $vcc, implicit $exec
@@ -405,7 +418,7 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.37.bb27:
; GFX90A-NEXT: successors: %bb.39(0x40000000), %bb.38(0x40000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr40_sgpr41, $sgpr46_sgpr47, $sgpr44_sgpr45, $sgpr64_sgpr65, $sgpr54_sgpr55, $sgpr52_sgpr53, $sgpr66_sgpr67, $sgpr48_sgpr49
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr40_sgpr41, $sgpr46_sgpr47, $sgpr44_sgpr45, $sgpr64_sgpr65, $sgpr54_sgpr55, $sgpr52_sgpr53, $sgpr66_sgpr67, $sgpr48_sgpr49
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: renamable $vgpr0 = FLAT_LOAD_UBYTE renamable $vgpr40_vgpr41, 2048, 0, implicit $exec, implicit $flat_scr :: (load (s8) from %ir.i30)
; GFX90A-NEXT: renamable $vgpr44 = V_ADD_CO_U32_e32 2048, $vgpr40, implicit-def $vcc, implicit $exec
@@ -458,7 +471,7 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.39.bb34:
; GFX90A-NEXT: successors: %bb.41(0x40000000), %bb.40(0x40000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr48_sgpr49, $sgpr46_sgpr47, $sgpr60_sgpr61, $sgpr62_sgpr63, $sgpr64_sgpr65, $sgpr54_sgpr55, $sgpr52_sgpr53, $sgpr66_sgpr67
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr48_sgpr49, $sgpr46_sgpr47, $sgpr60_sgpr61, $sgpr62_sgpr63, $sgpr64_sgpr65, $sgpr54_sgpr55, $sgpr52_sgpr53, $sgpr66_sgpr67
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: renamable $vgpr0 = FLAT_LOAD_UBYTE renamable $vgpr40_vgpr41, 3072, 0, implicit $exec, implicit $flat_scr :: (load (s8) from %ir.i37)
; GFX90A-NEXT: renamable $vgpr56 = V_ADD_CO_U32_e32 3072, $vgpr40, implicit-def $vcc, implicit $exec
@@ -467,6 +480,7 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: renamable $sgpr58_sgpr59 = S_MOV_B64 0
; GFX90A-NEXT: renamable $vgpr57, dead renamable $vcc = V_ADDC_U32_e64 0, $vgpr41, killed $vcc, 0, implicit $exec
; GFX90A-NEXT: renamable $vcc = V_CMP_EQ_U16_e64 0, killed $vgpr0, implicit $exec
+ ; GFX90A-NEXT: renamable $sgpr68_sgpr69 = S_MOV_B64 0
; GFX90A-NEXT: renamable $vgpr12_vgpr13 = IMPLICIT_DEF
; GFX90A-NEXT: renamable $vgpr10_vgpr11 = IMPLICIT_DEF
; GFX90A-NEXT: renamable $vgpr8_vgpr9 = IMPLICIT_DEF
@@ -488,12 +502,12 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.40.Flow23:
; GFX90A-NEXT: successors: %bb.38(0x80000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr7, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19:0x0000000000000003, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr60_sgpr61, $sgpr62_sgpr63, $sgpr64_sgpr65, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr18_vgpr19:0x0000000000000003, $vgpr20_vgpr21:0x000000000000000F, $vgpr22_vgpr23:0x0000000000000003, $vgpr24_vgpr25:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr7, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19:0x0000000000000003, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr60_sgpr61, $sgpr62_sgpr63, $sgpr64_sgpr65, $sgpr68_sgpr69, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr18_vgpr19:0x0000000000000003, $vgpr20_vgpr21:0x000000000000000F, $vgpr22_vgpr23:0x0000000000000003, $vgpr24_vgpr25:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: $exec = S_OR_B64 $exec, killed renamable $sgpr40_sgpr41, implicit-def $scc
; GFX90A-NEXT: renamable $sgpr42_sgpr43 = S_XOR_B64 $exec, -1, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr66_sgpr67 = S_AND_B64 killed renamable $sgpr44_sgpr45, $exec, implicit-def dead $scc
- ; GFX90A-NEXT: renamable $sgpr52_sgpr53 = S_AND_B64 killed renamable $sgpr52_sgpr53, $exec, implicit-def dead $scc
+ ; GFX90A-NEXT: renamable $sgpr52_sgpr53 = S_AND_B64 killed renamable $sgpr68_sgpr69, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr54_sgpr55 = S_AND_B64 killed renamable $sgpr54_sgpr55, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr64_sgpr65 = S_AND_B64 killed renamable $sgpr64_sgpr65, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr62_sgpr63 = S_AND_B64 killed renamable $sgpr62_sgpr63, $exec, implicit-def dead $scc
@@ -508,7 +522,7 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.41.bb41:
; GFX90A-NEXT: successors: %bb.46(0x40000000), %bb.42(0x40000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr48_sgpr49, $sgpr66_sgpr67, $sgpr58_sgpr59, $sgpr60_sgpr61, $sgpr62_sgpr63, $sgpr64_sgpr65, $sgpr54_sgpr55
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr48_sgpr49, $sgpr52_sgpr53, $sgpr58_sgpr59, $sgpr60_sgpr61, $sgpr62_sgpr63, $sgpr64_sgpr65, $sgpr54_sgpr55, $sgpr66_sgpr67, $sgpr68_sgpr69
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: renamable $vgpr58 = V_ADD_CO_U32_e32 4096, $vgpr40, implicit-def $vcc, implicit $exec
; GFX90A-NEXT: renamable $vgpr1, dead renamable $sgpr18_sgpr19 = V_ADDC_U32_e64 0, $vgpr41, $vcc, 0, implicit $exec
@@ -538,17 +552,17 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.42.Flow24:
; GFX90A-NEXT: successors: %bb.40(0x80000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr7, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19:0x0000000000000003, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr60_sgpr61, $sgpr62_sgpr63, $sgpr64_sgpr65, $sgpr66_sgpr67, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr18_vgpr19:0x0000000000000003, $vgpr20_vgpr21:0x000000000000000F, $vgpr22_vgpr23:0x0000000000000003, $vgpr24_vgpr25:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr7, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19:0x0000000000000003, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr58_sgpr59, $sgpr60_sgpr61, $sgpr62_sgpr63, $sgpr64_sgpr65, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr18_vgpr19:0x0000000000000003, $vgpr20_vgpr21:0x000000000000000F, $vgpr22_vgpr23:0x0000000000000003, $vgpr24_vgpr25:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: $exec = S_OR_B64 $exec, killed renamable $sgpr42_sgpr43, implicit-def $scc
; GFX90A-NEXT: renamable $sgpr44_sgpr45 = S_XOR_B64 $exec, -1, implicit-def dead $scc
- ; GFX90A-NEXT: renamable $sgpr52_sgpr53 = S_AND_B64 killed renamable $sgpr46_sgpr47, $exec, implicit-def dead $scc
+ ; GFX90A-NEXT: renamable $sgpr68_sgpr69 = S_AND_B64 killed renamable $sgpr46_sgpr47, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr54_sgpr55 = S_AND_B64 killed renamable $sgpr54_sgpr55, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr64_sgpr65 = S_AND_B64 killed renamable $sgpr64_sgpr65, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr62_sgpr63 = S_AND_B64 killed renamable $sgpr62_sgpr63, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr60_sgpr61 = S_AND_B64 killed renamable $sgpr60_sgpr61, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr58_sgpr59 = S_AND_B64 killed renamable $sgpr58_sgpr59, $exec, implicit-def dead $scc
- ; GFX90A-NEXT: renamable $sgpr46_sgpr47 = S_AND_B64 killed renamable $sgpr66_sgpr67, $exec, implicit-def dead $scc
+ ; GFX90A-NEXT: renamable $sgpr46_sgpr47 = S_AND_B64 killed renamable $sgpr52_sgpr53, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr48_sgpr49 = S_AND_B64 killed renamable $sgpr48_sgpr49, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr42_sgpr43 = S_ANDN2_B64 renamable $sgpr36_sgpr37, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr50_sgpr51 = S_AND_B64 killed renamable $sgpr50_sgpr51, $exec, implicit-def dead $scc
@@ -557,11 +571,11 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.43.bb55:
; GFX90A-NEXT: successors: %bb.48(0x40000000), %bb.44(0x40000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr46_sgpr47, $sgpr54_sgpr55, $sgpr60_sgpr61, $sgpr58_sgpr59, $sgpr48_sgpr49
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr46_sgpr47, $sgpr54_sgpr55, $sgpr60_sgpr61, $sgpr58_sgpr59, $sgpr48_sgpr49
; GFX90A-NEXT: {{ $}}
- ; GFX90A-NEXT: S_BITCMP1_B32 renamable $sgpr20, 16, implicit-def $scc
- ; GFX90A-NEXT: renamable $sgpr66_sgpr67 = S_CSELECT_B64 -1, 0, implicit killed $scc
- ; GFX90A-NEXT: renamable $sgpr18_sgpr19 = S_XOR_B64 renamable $sgpr66_sgpr67, -1, implicit-def dead $scc
+ ; GFX90A-NEXT: S_BITCMP1_B32 killed renamable $sgpr17, 16, implicit-def $scc
+ ; GFX90A-NEXT: renamable $sgpr64_sgpr65 = S_CSELECT_B64 -1, 0, implicit killed $scc
+ ; GFX90A-NEXT: renamable $sgpr18_sgpr19 = S_XOR_B64 renamable $sgpr64_sgpr65, -1, implicit-def dead $scc
; GFX90A-NEXT: renamable $vgpr62 = V_ADD_CO_U32_e32 6144, $vgpr40, implicit-def $vcc, implicit $exec
; GFX90A-NEXT: renamable $vgpr63, dead renamable $vcc = V_ADDC_U32_e64 0, $vgpr41, killed $vcc, 0, implicit $exec
; GFX90A-NEXT: renamable $vcc = S_AND_B64 $exec, renamable $sgpr18_sgpr19, implicit-def dead $scc
@@ -605,7 +619,7 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.46.bb48:
; GFX90A-NEXT: successors: %bb.43(0x40000000), %bb.47(0x40000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr48_sgpr49, $sgpr66_sgpr67, $sgpr58_sgpr59, $sgpr64_sgpr65, $sgpr46_sgpr47, $sgpr54_sgpr55, $sgpr60_sgpr61
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr48_sgpr49, $sgpr66_sgpr67, $sgpr58_sgpr59, $sgpr68_sgpr69, $sgpr64_sgpr65, $sgpr46_sgpr47, $sgpr54_sgpr55, $sgpr60_sgpr61
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: renamable $vgpr60 = V_ADD_CO_U32_e32 5120, $vgpr40, implicit-def $vcc, implicit $exec
; GFX90A-NEXT: renamable $sgpr18_sgpr19 = COPY $vcc
@@ -614,7 +628,6 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: renamable $vgpr0 = FLAT_LOAD_UBYTE killed renamable $vgpr0_vgpr1, 1024, 0, implicit $exec, implicit $flat_scr :: (load (s8) from %ir.i51)
; GFX90A-NEXT: renamable $sgpr62_sgpr63 = S_MOV_B64 -1
; GFX90A-NEXT: renamable $sgpr50_sgpr51 = COPY renamable $sgpr36_sgpr37
- ; GFX90A-NEXT: renamable $sgpr68_sgpr69 = S_MOV_B64 0
; GFX90A-NEXT: renamable $sgpr70_sgpr71 = S_MOV_B64 0
; GFX90A-NEXT: renamable $vgpr61, dead renamable $vcc = V_ADDC_U32_e64 0, $vgpr41, killed $sgpr18_sgpr19, 0, implicit $exec
; GFX90A-NEXT: renamable $vcc = V_CMP_EQ_U16_e64 0, killed $vgpr0, implicit $exec
@@ -646,7 +659,7 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: renamable $sgpr62_sgpr63 = S_AND_B64 killed renamable $sgpr70_sgpr71, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr60_sgpr61 = S_AND_B64 killed renamable $sgpr68_sgpr69, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr58_sgpr59 = S_AND_B64 killed renamable $sgpr58_sgpr59, $exec, implicit-def dead $scc
- ; GFX90A-NEXT: renamable $sgpr66_sgpr67 = S_AND_B64 killed renamable $sgpr66_sgpr67, $exec, implicit-def dead $scc
+ ; GFX90A-NEXT: renamable $sgpr52_sgpr53 = S_AND_B64 killed renamable $sgpr66_sgpr67, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr48_sgpr49 = S_AND_B64 killed renamable $sgpr48_sgpr49, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr44_sgpr45 = S_ANDN2_B64 renamable $sgpr36_sgpr37, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr50_sgpr51 = S_AND_B64 killed renamable $sgpr50_sgpr51, $exec, implicit-def dead $scc
@@ -655,7 +668,7 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.48.bb63:
; GFX90A-NEXT: successors: %bb.50(0x40000000), %bb.49(0x40000000)
- ; GFX90A-NEXT: liveins: $vcc, $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr56_sgpr57:0x000000000000000F, $sgpr66_sgpr67, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr54_sgpr55, $sgpr60_sgpr61, $sgpr58_sgpr59, $sgpr48_sgpr49
+ ; GFX90A-NEXT: liveins: $vcc, $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr56_sgpr57:0x000000000000000F, $sgpr64_sgpr65, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr54_sgpr55, $sgpr60_sgpr61, $sgpr58_sgpr59, $sgpr48_sgpr49
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: renamable $sgpr46_sgpr47 = S_MOV_B64 0
; GFX90A-NEXT: S_CBRANCH_VCCNZ %bb.50, implicit $vcc
@@ -669,7 +682,7 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.50.bb68:
; GFX90A-NEXT: successors: %bb.54(0x40000000), %bb.51(0x40000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr56_sgpr57:0x000000000000000F, $sgpr66_sgpr67, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr48_sgpr49, $sgpr54_sgpr55, $sgpr60_sgpr61, $sgpr58_sgpr59
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr56_sgpr57:0x000000000000000F, $sgpr64_sgpr65, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr48_sgpr49, $sgpr54_sgpr55, $sgpr60_sgpr61, $sgpr58_sgpr59
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: renamable $vgpr0 = nuw nsw V_LSHLREV_B32_e32 3, $vgpr6, implicit $exec
; GFX90A-NEXT: renamable $vgpr1 = AV_MOV_B32_IMM_PSEUDO 0, implicit $exec
@@ -698,7 +711,7 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.52.bb80:
; GFX90A-NEXT: successors: %bb.59(0x40000000), %bb.53(0x40000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr56_sgpr57:0x000000000000000F, $sgpr62_sgpr63, $sgpr66_sgpr67, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr8_vgpr9:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr56_sgpr57:0x000000000000000F, $sgpr62_sgpr63, $sgpr64_sgpr65, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr8_vgpr9:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: renamable $sgpr17 = S_BFE_U32 renamable $sgpr20, 65560, implicit-def dead $scc
; GFX90A-NEXT: S_CMP_EQ_U32 killed renamable $sgpr17, 0, implicit-def $scc
@@ -712,7 +725,7 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: renamable $sgpr52_sgpr53 = S_MOV_B64 0
; GFX90A-NEXT: renamable $sgpr54_sgpr55 = S_MOV_B64 -1
- ; GFX90A-NEXT: renamable $sgpr64_sgpr65 = COPY renamable $sgpr36_sgpr37
+ ; GFX90A-NEXT: renamable $sgpr66_sgpr67 = COPY renamable $sgpr36_sgpr37
; GFX90A-NEXT: renamable $vgpr12_vgpr13 = IMPLICIT_DEF
; GFX90A-NEXT: renamable $vgpr7 = IMPLICIT_DEF
; GFX90A-NEXT: renamable $vgpr14 = IMPLICIT_DEF
@@ -727,7 +740,7 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.54.bb73:
; GFX90A-NEXT: successors: %bb.52(0x40000000), %bb.55(0x40000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr56_sgpr57:0x000000000000000F, $sgpr66_sgpr67, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr54_sgpr55, $sgpr60_sgpr61
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr56_sgpr57:0x000000000000000F, $sgpr64_sgpr65, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003F, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr54_sgpr55, $sgpr60_sgpr61
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: renamable $vgpr3 = FLAT_LOAD_UBYTE renamable $vgpr0_vgpr1, 2048, 0, implicit $exec, implicit $flat_scr :: (load (s8) from %ir.i76)
; GFX90A-NEXT: renamable $vgpr8 = V_ADD_CO_U32_e32 2048, $vgpr0, implicit-def $vcc, implicit $exec
@@ -759,21 +772,21 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.56.bb90:
; GFX90A-NEXT: successors: %bb.60(0x80000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr54_sgpr55, $sgpr56_sgpr57:0x000000000000000F, $sgpr62_sgpr63, $sgpr66_sgpr67, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr54_sgpr55, $sgpr56_sgpr57:0x000000000000000F, $sgpr62_sgpr63, $sgpr64_sgpr65, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
- ; GFX90A-NEXT: renamable $vgpr30 = V_CNDMASK_B32_e64 0, 0, 0, 1, killed $sgpr66_sgpr67, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr3 = AV_MOV_B32_IMM_PSEUDO 0, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr30 = V_CNDMASK_B32_e64 0, 0, 0, 1, killed $sgpr64_sgpr65, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr3 = AV_MOV_B32_IMM_PSEUDO -1, implicit $exec
; GFX90A-NEXT: renamable $vgpr7 = COPY renamable $sgpr21, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr24_vgpr25 = DS_READ_B64_gfx9 killed renamable $vgpr7, 0, 0, implicit $exec :: (load (s64) from %ir.4, addrspace 3)
+ ; GFX90A-NEXT: renamable $vgpr24_vgpr25 = DS_READ_B64_gfx9 killed renamable $vgpr7, 0, 0, implicit $exec :: (load (s64) from %ir.7, addrspace 3)
; GFX90A-NEXT: renamable $vgpr22_vgpr23 = DS_READ_B64_gfx9 killed renamable $vgpr3, 0, 0, implicit $exec :: (load (s64) from `ptr addrspace(3) null`, addrspace 3)
; GFX90A-NEXT: renamable $vgpr3 = COPY renamable $sgpr22, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr20_vgpr21 = DS_READ_B64_gfx9 killed renamable $vgpr3, 0, 0, implicit $exec :: (load (s64) from %ir.5, addrspace 3)
+ ; GFX90A-NEXT: renamable $vgpr20_vgpr21 = DS_READ_B64_gfx9 killed renamable $vgpr3, 0, 0, implicit $exec :: (load (s64) from %ir.8, addrspace 3)
; GFX90A-NEXT: renamable $sgpr18_sgpr19 = S_LSHR_B64 killed renamable $sgpr56_sgpr57, 1, implicit-def dead $scc
; GFX90A-NEXT: renamable $vgpr18_vgpr19 = V_LSHRREV_B64_e64 1, $vgpr24_vgpr25, implicit $exec
; GFX90A-NEXT: renamable $vgpr7 = V_CNDMASK_B32_e64 0, 0, 0, 1, $sgpr12_sgpr13, implicit $exec
; GFX90A-NEXT: renamable $vgpr14_vgpr15 = V_LSHRREV_B64_e64 1, $vgpr22_vgpr23, implicit $exec
; GFX90A-NEXT: renamable $sgpr52_sgpr53 = S_XOR_B64 $exec, -1, implicit-def dead $scc
- ; GFX90A-NEXT: renamable $sgpr64_sgpr65 = S_OR_B64 renamable $sgpr36_sgpr37, $exec, implicit-def dead $scc
+ ; GFX90A-NEXT: renamable $sgpr66_sgpr67 = S_OR_B64 renamable $sgpr36_sgpr37, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $vgpr16 = COPY renamable $vgpr22, implicit $exec
; GFX90A-NEXT: S_BRANCH %bb.60
; GFX90A-NEXT: {{ $}}
@@ -816,31 +829,31 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.58.bb105:
; GFX90A-NEXT: successors: %bb.3(0x80000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr40_sgpr41, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x00000000000000FF, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000FF, $vgpr4_vgpr5:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $sgpr17, $sgpr33, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr40_sgpr41, $sgpr56_sgpr57:0x000000000000000F, $sgpr20_sgpr21_sgpr22_sgpr23:0x00000000000000FF, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000FF, $vgpr4_vgpr5:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
- ; GFX90A-NEXT: renamable $vgpr0 = AV_MOV_B32_IMM_PSEUDO 0, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr0 = AV_MOV_B32_IMM_PSEUDO -1, implicit $exec
; GFX90A-NEXT: renamable $vgpr28_vgpr29 = DS_READ_B64_gfx9 killed renamable $vgpr0, 0, 0, implicit $exec :: (load (s64) from `ptr addrspace(3) null`, addrspace 3)
; GFX90A-NEXT: renamable $vgpr0 = COPY renamable $sgpr23, implicit $exec
; GFX90A-NEXT: renamable $vgpr26_vgpr27 = DS_READ_B64_gfx9 killed renamable $vgpr0, 0, 0, implicit $exec :: (load (s64) from %ir.419, addrspace 3)
; GFX90A-NEXT: renamable $vgpr0 = COPY renamable $sgpr21, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr2_vgpr3 = DS_READ_B64_gfx9 killed renamable $vgpr0, 0, 0, implicit $exec :: (load (s64) from %ir.4, addrspace 3)
- ; GFX90A-NEXT: renamable $vgpr0 = COPY killed renamable $sgpr17, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr2_vgpr3 = DS_READ_B64_gfx9 killed renamable $vgpr0, 0, 0, implicit $exec :: (load (s64) from %ir.7, addrspace 3)
+ ; GFX90A-NEXT: renamable $vgpr0 = COPY killed renamable $sgpr33, implicit $exec
; GFX90A-NEXT: renamable $vgpr16_vgpr17 = DS_READ_B64_gfx9 killed renamable $vgpr0, 0, 0, implicit $exec :: (load (s64) from %ir.420, addrspace 3)
; GFX90A-NEXT: renamable $vgpr0 = COPY renamable $sgpr22, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr32_vgpr33 = DS_READ_B64_gfx9 killed renamable $vgpr0, 0, 0, implicit $exec :: (load (s64) from %ir.5, addrspace 3)
+ ; GFX90A-NEXT: renamable $vgpr32_vgpr33 = DS_READ_B64_gfx9 killed renamable $vgpr0, 0, 0, implicit $exec :: (load (s64) from %ir.8, addrspace 3)
; GFX90A-NEXT: renamable $sgpr36_sgpr37 = S_MOV_B64 -1
; GFX90A-NEXT: S_BRANCH %bb.3
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.59.bb85:
; GFX90A-NEXT: successors: %bb.56(0x40000000), %bb.60(0x40000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr56_sgpr57:0x000000000000000F, $sgpr62_sgpr63, $sgpr66_sgpr67, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr56_sgpr57:0x000000000000000F, $sgpr62_sgpr63, $sgpr64_sgpr65, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: renamable $vgpr12 = V_OR_B32_e32 1, $vgpr10, implicit $exec
; GFX90A-NEXT: renamable $vgpr13 = COPY renamable $vgpr11, implicit $exec
; GFX90A-NEXT: renamable $vgpr3 = FLAT_LOAD_UBYTE renamable $vgpr12_vgpr13, 0, 0, implicit $exec, implicit $flat_scr :: (load (s8) from %ir.i86)
; GFX90A-NEXT: renamable $sgpr52_sgpr53 = S_MOV_B64 -1
; GFX90A-NEXT: renamable $vcc = V_CMP_EQ_U16_e64 0, killed $vgpr3, implicit $exec
- ; GFX90A-NEXT: renamable $sgpr64_sgpr65 = COPY renamable $sgpr36_sgpr37
+ ; GFX90A-NEXT: renamable $sgpr66_sgpr67 = COPY renamable $sgpr36_sgpr37
; GFX90A-NEXT: renamable $vgpr7 = IMPLICIT_DEF
; GFX90A-NEXT: renamable $vgpr14 = IMPLICIT_DEF
; GFX90A-NEXT: renamable $vgpr22 = IMPLICIT_DEF
@@ -855,20 +868,20 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.60.Flow31:
; GFX90A-NEXT: successors: %bb.61(0x80000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr7, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19:0x0000000000000003, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr62_sgpr63, $sgpr64_sgpr65, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr18_vgpr19:0x0000000000000003, $vgpr20_vgpr21:0x000000000000000F, $vgpr22_vgpr23:0x0000000000000003, $vgpr24_vgpr25:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr7, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19:0x0000000000000003, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr62_sgpr63, $sgpr66_sgpr67, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr18_vgpr19:0x0000000000000003, $vgpr20_vgpr21:0x000000000000000F, $vgpr22_vgpr23:0x0000000000000003, $vgpr24_vgpr25:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: $exec = S_OR_B64 $exec, killed renamable $sgpr54_sgpr55, implicit-def $scc
; GFX90A-NEXT: renamable $sgpr54_sgpr55 = S_MOV_B64 0
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.61.Flow30:
; GFX90A-NEXT: successors: %bb.55(0x80000000)
- ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr7, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19:0x0000000000000003, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr62_sgpr63, $sgpr64_sgpr65, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr18_vgpr19:0x0000000000000003, $vgpr20_vgpr21:0x000000000000000F, $vgpr22_vgpr23:0x0000000000000003, $vgpr24_vgpr25:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
+ ; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr7, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19:0x0000000000000003, $sgpr24_sgpr25, $sgpr28_sgpr29, $sgpr30_sgpr31, $sgpr34_sgpr35, $sgpr36_sgpr37, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr62_sgpr63, $sgpr66_sgpr67, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x0000000000000003, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x0000000000000003, $vgpr18_vgpr19:0x0000000000000003, $vgpr20_vgpr21:0x000000000000000F, $vgpr22_vgpr23:0x0000000000000003, $vgpr24_vgpr25:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: renamable $sgpr58_sgpr59 = S_XOR_B64 $exec, -1, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr60_sgpr61 = S_AND_B64 killed renamable $sgpr54_sgpr55, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr54_sgpr55 = S_AND_B64 killed renamable $sgpr52_sgpr53, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr52_sgpr53 = S_ANDN2_B64 renamable $sgpr36_sgpr37, $exec, implicit-def dead $scc
- ; GFX90A-NEXT: renamable $sgpr56_sgpr57 = S_AND_B64 killed renamable $sgpr64_sgpr65, $exec, implicit-def dead $scc
+ ; GFX90A-NEXT: renamable $sgpr56_sgpr57 = S_AND_B64 killed renamable $sgpr66_sgpr67, $exec, implicit-def dead $scc
; GFX90A-NEXT: renamable $sgpr52_sgpr53 = S_OR_B64 killed renamable $sgpr52_sgpr53, killed renamable $sgpr56_sgpr57, implicit-def dead $scc
; GFX90A-NEXT: S_BRANCH %bb.55
; GFX90A-NEXT: {{ $}}
@@ -926,7 +939,8 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: renamable $vcc = V_CMP_EQ_U32_sdwa 0, killed $vgpr7, 0, $vgpr3, 0, 0, 6, implicit $exec
; GFX90A-NEXT: renamable $vgpr2 = V_CNDMASK_B32_e64 0, 0, 0, killed $vgpr2, killed $vcc, implicit $exec
; GFX90A-NEXT: renamable $vgpr2 = V_OR_B32_e32 killed $vgpr2, killed $vgpr14, implicit $exec
- ; GFX90A-NEXT: DS_WRITE2_B32_gfx9 killed renamable $vgpr3, killed renamable $vgpr2, renamable $vgpr3, 0, 1, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, align 4, addrspace 3)
+ ; GFX90A-NEXT: renamable $vgpr4 = AV_MOV_B32_IMM_PSEUDO -1, implicit $exec
+ ; GFX90A-NEXT: DS_WRITE2_B32_gfx9 killed renamable $vgpr4, killed renamable $vgpr2, killed renamable $vgpr3, 0, 1, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, align 4, addrspace 3)
; GFX90A-NEXT: S_BRANCH %bb.65
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.68.bb174:
@@ -934,14 +948,14 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr7, $vgpr30, $vgpr31, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr12_sgpr13, $sgpr18_sgpr19, $sgpr28_sgpr29, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr64_sgpr65, $sgpr66_sgpr67, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000F, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x000000000000000F, $vgpr18_vgpr19:0x0000000000000003, $vgpr20_vgpr21:0x000000000000000F, $vgpr22_vgpr23:0x0000000000000003, $vgpr24_vgpr25:0x0000000000000003, $vgpr26_vgpr27:0x000000000000000F, $vgpr28_vgpr29:0x000000000000000F, $vgpr32_vgpr33:0x000000000000000F, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: renamable $agpr0 = COPY killed renamable $vgpr14, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr34 = V_OR_B32_e32 1, $vgpr32, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr54 = V_OR_B32_e32 $vgpr34, $vgpr28, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr48 = V_OR_B32_e32 $vgpr54, $vgpr26, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr36 = V_CNDMASK_B32_e64 0, $vgpr48, 0, 0, $sgpr12_sgpr13, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr52 = V_OR_B32_e32 $vgpr36, $vgpr2, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr50 = V_OR_B32_e32 $vgpr52, $vgpr16, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr38 = V_OR_B32_e32 $vgpr50, $vgpr20, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr14 = V_CNDMASK_B32_e64 0, 0, 0, $vgpr38, killed $sgpr12_sgpr13, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr48 = V_OR_B32_e32 1, $vgpr32, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr52 = V_OR_B32_e32 $vgpr48, $vgpr28, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr38 = V_OR_B32_e32 $vgpr52, $vgpr26, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr34 = V_CNDMASK_B32_e64 0, $vgpr38, 0, 0, $sgpr12_sgpr13, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr50 = V_OR_B32_e32 $vgpr34, $vgpr2, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr14 = V_OR_B32_e32 $vgpr50, $vgpr16, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr36 = V_OR_B32_e32 $vgpr14, $vgpr20, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr54 = V_CNDMASK_B32_e64 0, 0, 0, $vgpr36, killed $sgpr12_sgpr13, implicit $exec
; GFX90A-NEXT: renamable $sgpr12_sgpr13 = S_MOV_B64 -1
; GFX90A-NEXT: renamable $vcc = S_AND_B64 $exec, killed renamable $sgpr28_sgpr29, implicit-def dead $scc
; GFX90A-NEXT: S_CBRANCH_VCCNZ %bb.72, implicit $vcc
@@ -961,26 +975,27 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: renamable $vgpr2 = COPY renamable $sgpr27, implicit $exec
; GFX90A-NEXT: renamable $vgpr4, renamable $vcc = V_ADD_CO_U32_e64 killed $sgpr26, $vgpr4, 0, implicit $exec
; GFX90A-NEXT: renamable $vgpr2, dead renamable $vcc = V_ADDC_U32_e64 killed $vgpr2, killed $vgpr5, killed $vcc, 0, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr35 = AV_MOV_B32_IMM_PSEUDO 0, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr55 = COPY renamable $vgpr35, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr49 = COPY renamable $vgpr35, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr53 = COPY renamable $vgpr35, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr51 = COPY renamable $vgpr35, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr37 = COPY renamable $vgpr35, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr15 = COPY renamable $vgpr35, implicit $exec
- ; GFX90A-NEXT: renamable $vgpr39 = COPY renamable $vgpr35, implicit $exec
- ; GFX90A-NEXT: DS_WRITE_B64_gfx9 renamable $vgpr35, renamable $vgpr34_vgpr35, 0, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, addrspace 3)
- ; GFX90A-NEXT: renamable $vgpr5 = COPY renamable $sgpr21, implicit $exec
- ; GFX90A-NEXT: DS_WRITE_B64_gfx9 renamable $vgpr5, killed renamable $vgpr54_vgpr55, 0, 0, implicit $exec :: (store (s64) into %ir.4, addrspace 3)
- ; GFX90A-NEXT: renamable $vgpr16 = COPY killed renamable $sgpr22, implicit $exec
- ; GFX90A-NEXT: DS_WRITE_B64_gfx9 killed renamable $vgpr16, killed renamable $vgpr48_vgpr49, 0, 0, implicit $exec :: (store (s64) into %ir.5, addrspace 3)
- ; GFX90A-NEXT: DS_WRITE_B64_gfx9 renamable $vgpr35, killed renamable $vgpr52_vgpr53, 0, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, addrspace 3)
- ; GFX90A-NEXT: DS_WRITE_B64_gfx9 renamable $vgpr5, killed renamable $vgpr50_vgpr51, 0, 0, implicit $exec :: (store (s64) into %ir.4, addrspace 3)
- ; GFX90A-NEXT: DS_WRITE_B64_gfx9 renamable $vgpr35, killed renamable $vgpr36_vgpr37, 0, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, addrspace 3)
- ; GFX90A-NEXT: DS_WRITE_B64_gfx9 killed renamable $vgpr5, killed renamable $vgpr14_vgpr15, 0, 0, implicit $exec :: (store (s64) into %ir.4, addrspace 3)
- ; GFX90A-NEXT: DS_WRITE_B64_gfx9 killed renamable $vgpr35, killed renamable $vgpr38_vgpr39, 0, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, addrspace 3)
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr2, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
- ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr4, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: renamable $vgpr49 = AV_MOV_B32_IMM_PSEUDO 0, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr53 = COPY renamable $vgpr49, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr39 = COPY renamable $vgpr49, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr51 = COPY renamable $vgpr49, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr15 = COPY renamable $vgpr49, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr35 = COPY renamable $vgpr49, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr55 = COPY renamable $vgpr49, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr37 = COPY renamable $vgpr49, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr5 = AV_MOV_B32_IMM_PSEUDO -1, implicit $exec
+ ; GFX90A-NEXT: DS_WRITE_B64_gfx9 renamable $vgpr5, killed renamable $vgpr48_vgpr49, 0, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, addrspace 3)
+ ; GFX90A-NEXT: renamable $vgpr16 = COPY renamable $sgpr21, implicit $exec
+ ; GFX90A-NEXT: DS_WRITE_B64_gfx9 renamable $vgpr16, killed renamable $vgpr52_vgpr53, 0, 0, implicit $exec :: (store (s64) into %ir.7, addrspace 3)
+ ; GFX90A-NEXT: renamable $vgpr19 = COPY killed renamable $sgpr22, implicit $exec
+ ; GFX90A-NEXT: DS_WRITE_B64_gfx9 killed renamable $vgpr19, killed renamable $vgpr38_vgpr39, 0, 0, implicit $exec :: (store (s64) into %ir.8, addrspace 3)
+ ; GFX90A-NEXT: DS_WRITE_B64_gfx9 renamable $vgpr5, killed renamable $vgpr50_vgpr51, 0, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, addrspace 3)
+ ; GFX90A-NEXT: DS_WRITE_B64_gfx9 renamable $vgpr16, killed renamable $vgpr14_vgpr15, 0, 0, implicit $exec :: (store (s64) into %ir.7, addrspace 3)
+ ; GFX90A-NEXT: DS_WRITE_B64_gfx9 renamable $vgpr5, killed renamable $vgpr34_vgpr35, 0, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, addrspace 3)
+ ; GFX90A-NEXT: DS_WRITE_B64_gfx9 killed renamable $vgpr16, killed renamable $vgpr54_vgpr55, 0, 0, implicit $exec :: (store (s64) into %ir.7, addrspace 3)
+ ; GFX90A-NEXT: DS_WRITE_B64_gfx9 renamable $vgpr5, killed renamable $vgpr36_vgpr37, 0, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, addrspace 3)
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFEN killed renamable $vgpr4, killed renamable $vgpr5, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null`, align 8, addrspace 5)
+ ; GFX90A-NEXT: BUFFER_STORE_DWORD_OFFSET killed renamable $vgpr2, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 3, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) null` + 4, basealign 8, addrspace 5)
; GFX90A-NEXT: {{ $}}
; GFX90A-NEXT: bb.71.Flow9:
; GFX90A-NEXT: successors: %bb.63(0x80000000)
@@ -994,10 +1009,11 @@ define amdgpu_kernel void @f1(ptr addrspace(1) %arg, ptr addrspace(1) %arg1, i64
; GFX90A-NEXT: successors: %bb.69(0x80000000)
; GFX90A-NEXT: liveins: $sgpr14, $sgpr15, $sgpr16, $vgpr7, $vgpr30, $vgpr31, $agpr0_agpr1:0x0000000000000003, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9:0x000000000000000F, $sgpr10_sgpr11, $sgpr18_sgpr19, $sgpr34_sgpr35, $sgpr38_sgpr39, $sgpr40_sgpr41, $sgpr42_sgpr43, $sgpr44_sgpr45, $sgpr46_sgpr47, $sgpr48_sgpr49, $sgpr50_sgpr51, $sgpr52_sgpr53, $sgpr54_sgpr55, $sgpr64_sgpr65, $sgpr66_sgpr67, $sgpr20_sgpr21_sgpr22_sgpr23:0x000000000000003C, $sgpr24_sgpr25_sgpr26_sgpr27:0x00000000000000F0, $vgpr0_vgpr1:0x000000000000000F, $vgpr2_vgpr3:0x000000000000000C, $vgpr4_vgpr5:0x000000000000000F, $vgpr6_vgpr7:0x0000000000000003, $vgpr8_vgpr9:0x000000000000000F, $vgpr10_vgpr11:0x000000000000000F, $vgpr12_vgpr13:0x000000000000000F, $vgpr14_vgpr15:0x0000000000000003, $vgpr16_vgpr17:0x000000000000000C, $vgpr18_vgpr19:0x0000000000000003, $vgpr20_vgpr21:0x000000000000000C, $vgpr22_vgpr23:0x0000000000000003, $vgpr24_vgpr25:0x0000000000000003, $vgpr26_vgpr27:0x000000000000000C, $vgpr28_vgpr29:0x000000000000000C, $vgpr32_vgpr33:0x000000000000000C, $vgpr34_vgpr35:0x0000000000000003, $vgpr36_vgpr37:0x0000000000000003, $vgpr38_vgpr39:0x0000000000000003, $vgpr40_vgpr41:0x000000000000000F, $vgpr42_vgpr43:0x000000000000000F, $vgpr44_vgpr45:0x000000000000000F, $vgpr46_vgpr47:0x000000000000000F, $vgpr48_vgpr49:0x0000000000000003, $vgpr50_vgpr51:0x0000000000000003, $vgpr52_vgpr53:0x0000000000000003, $vgpr54_vgpr55:0x0000000000000003, $vgpr56_vgpr57:0x000000000000000F, $vgpr58_vgpr59:0x000000000000000F, $vgpr60_vgpr61:0x000000000000000F, $vgpr62_vgpr63:0x000000000000000F, $sgpr0_sgpr1_sgpr2_sgpr3
; GFX90A-NEXT: {{ $}}
- ; GFX90A-NEXT: renamable $vgpr2 = V_OR_B32_e32 $vgpr14, killed $vgpr24, implicit $exec
+ ; GFX90A-NEXT: renamable $vgpr2 = V_OR_B32_e32 $vgpr54, killed $vgpr24, implicit $exec
; GFX90A-NEXT: renamable $vgpr22 = V_OR_B32_e32 killed $vgpr2, killed $vgpr22, implicit $exec
; GFX90A-NEXT: renamable $vgpr23 = AV_MOV_B32_IMM_PSEUDO 0, implicit $exec
- ; GFX90A-NEXT: DS_WRITE_B64_gfx9 killed renamable $vgpr23, renamable $vgpr22_vgpr23, 0, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, addrspace 3)
+ ; GFX90A-NEXT: renamable $vgpr2 = AV_MOV_B32_IMM_PSEUDO -1, implicit $exec
+ ; GFX90A-NEXT: DS_WRITE_B64_gfx9 killed renamable $vgpr2, killed renamable $vgpr22_vgpr23, 0, 0, implicit $exec :: (store (s64) into `ptr addrspace(3) null`, addrspace 3)
; GFX90A-NEXT: renamable $sgpr12_sgpr13 = S_MOV_B64 0
; GFX90A-NEXT: S_BRANCH %bb.69
bb:
diff --git a/llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll b/llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
index b5352bef50b1e..55d65b3f19541 100644
--- a/llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
+++ b/llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
@@ -365,7 +365,7 @@ for.body:
define amdgpu_kernel void @loop_arg_0(ptr addrspace(3) %ptr, i32 %n) nounwind {
; GCN-LABEL: loop_arg_0:
; GCN: ; %bb.0: ; %entry
-; GCN-NEXT: v_mov_b32_e32 v0, 0
+; GCN-NEXT: v_mov_b32_e32 v0, -1
; GCN-NEXT: s_mov_b32 m0, -1
; GCN-NEXT: ds_read_u8 v0, v0
; GCN-NEXT: s_load_dword s4, s[4:5], 0x9
@@ -401,7 +401,7 @@ define amdgpu_kernel void @loop_arg_0(ptr addrspace(3) %ptr, i32 %n) nounwind {
; GCN_DBG-NEXT: ; implicit-def: $vgpr2 : SGPR spill to VGPR lane
; GCN_DBG-NEXT: s_waitcnt lgkmcnt(0)
; GCN_DBG-NEXT: v_writelane_b32 v2, s0, 0
-; GCN_DBG-NEXT: v_mov_b32_e32 v0, 0
+; GCN_DBG-NEXT: v_mov_b32_e32 v0, -1
; GCN_DBG-NEXT: s_mov_b32 m0, -1
; GCN_DBG-NEXT: ds_read_u8 v0, v0
; GCN_DBG-NEXT: s_waitcnt lgkmcnt(0)
diff --git a/llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll b/llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
index c71527c5e3117..6c7a72de5eb26 100644
--- a/llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
+++ b/llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
@@ -13,8 +13,8 @@ define <2 x half> @chain_hi_to_lo_private() {
; GFX900: ; %bb.0: ; %bb
; GFX900-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX900-NEXT: buffer_load_ushort v0, off, s[0:3], 0 offset:2
-; GFX900-NEXT: s_nop 0
-; GFX900-NEXT: buffer_load_short_d16_hi v0, off, s[0:3], 0
+; GFX900-NEXT: v_mov_b32_e32 v1, -1
+; GFX900-NEXT: buffer_load_short_d16_hi v0, v1, s[0:3], 0 offen
; GFX900-NEXT: s_waitcnt vmcnt(0)
; GFX900-NEXT: s_setpc_b64 s[30:31]
;
@@ -23,7 +23,7 @@ define <2 x half> @chain_hi_to_lo_private() {
; FLATSCR-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; FLATSCR-NEXT: s_mov_b32 s0, 2
; FLATSCR-NEXT: scratch_load_ushort v0, off, s0
-; FLATSCR-NEXT: s_mov_b32 s0, 0
+; FLATSCR-NEXT: s_mov_b32 s0, -1
; FLATSCR-NEXT: scratch_load_short_d16_hi v0, off, s0
; FLATSCR-NEXT: s_waitcnt vmcnt(0)
; FLATSCR-NEXT: s_setpc_b64 s[30:31]
@@ -31,9 +31,9 @@ define <2 x half> @chain_hi_to_lo_private() {
; GFX10_DEFAULT-LABEL: chain_hi_to_lo_private:
; GFX10_DEFAULT: ; %bb.0: ; %bb
; GFX10_DEFAULT-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX10_DEFAULT-NEXT: s_clause 0x1
; GFX10_DEFAULT-NEXT: buffer_load_ushort v0, off, s[0:3], 0 offset:2
-; GFX10_DEFAULT-NEXT: buffer_load_short_d16_hi v0, off, s[0:3], 0
+; GFX10_DEFAULT-NEXT: v_mov_b32_e32 v1, -1
+; GFX10_DEFAULT-NEXT: buffer_load_short_d16_hi v0, v1, s[0:3], 0 offen
; GFX10_DEFAULT-NEXT: s_waitcnt vmcnt(0)
; GFX10_DEFAULT-NEXT: s_setpc_b64 s[30:31]
;
@@ -42,8 +42,8 @@ define <2 x half> @chain_hi_to_lo_private() {
; FLATSCR_GFX10-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; FLATSCR_GFX10-NEXT: s_mov_b32 s0, 2
; FLATSCR_GFX10-NEXT: scratch_load_ushort v0, off, s0
-; FLATSCR_GFX10-NEXT: s_waitcnt_depctr depctr_vm_vsrc(0)
-; FLATSCR_GFX10-NEXT: s_mov_b32 s0, 0
+; FLATSCR_GFX10-NEXT: s_waitcnt_depctr 0xffe3
+; FLATSCR_GFX10-NEXT: s_mov_b32 s0, -1
; FLATSCR_GFX10-NEXT: scratch_load_short_d16_hi v0, off, s0
; FLATSCR_GFX10-NEXT: s_waitcnt vmcnt(0)
; FLATSCR_GFX10-NEXT: s_setpc_b64 s[30:31]
@@ -53,7 +53,7 @@ define <2 x half> @chain_hi_to_lo_private() {
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX11-TRUE16-NEXT: s_mov_b32 s0, 2
; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v0, off, s0
-; GFX11-TRUE16-NEXT: s_mov_b32 s0, 0
+; GFX11-TRUE16-NEXT: s_mov_b32 s0, -1
; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v0, off, s0
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31]
@@ -63,7 +63,7 @@ define <2 x half> @chain_hi_to_lo_private() {
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX11-FAKE16-NEXT: s_mov_b32 s0, 2
; GFX11-FAKE16-NEXT: scratch_load_u16 v0, off, s0
-; GFX11-FAKE16-NEXT: s_mov_b32 s0, 0
+; GFX11-FAKE16-NEXT: s_mov_b32 s0, -1
; GFX11-FAKE16-NEXT: scratch_load_d16_hi_b16 v0, off, s0
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]
@@ -207,8 +207,9 @@ define <2 x half> @chain_hi_to_lo_group() {
; GCN-LABEL: chain_hi_to_lo_group:
; GCN: ; %bb.0: ; %bb
; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GCN-NEXT: v_mov_b32_e32 v1, 0
-; GCN-NEXT: ds_read_u16 v0, v1 offset:2
+; GCN-NEXT: v_mov_b32_e32 v0, 0
+; GCN-NEXT: ds_read_u16 v0, v0 offset:2
+; GCN-NEXT: v_mov_b32_e32 v1, -1
; GCN-NEXT: s_waitcnt lgkmcnt(0)
; GCN-NEXT: ds_read_u16_d16_hi v0, v1
; GCN-NEXT: s_waitcnt lgkmcnt(0)
@@ -217,8 +218,9 @@ define <2 x half> @chain_hi_to_lo_group() {
; GFX10-LABEL: chain_hi_to_lo_group:
; GFX10: ; %bb.0: ; %bb
; GFX10-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX10-NEXT: v_mov_b32_e32 v1, 0
-; GFX10-NEXT: ds_read_u16 v0, v1 offset:2
+; GFX10-NEXT: v_mov_b32_e32 v0, 0
+; GFX10-NEXT: v_mov_b32_e32 v1, -1
+; GFX10-NEXT: ds_read_u16 v0, v0 offset:2
; GFX10-NEXT: s_waitcnt lgkmcnt(0)
; GFX10-NEXT: ds_read_u16_d16_hi v0, v1
; GFX10-NEXT: s_waitcnt lgkmcnt(0)
@@ -227,8 +229,8 @@ define <2 x half> @chain_hi_to_lo_group() {
; GFX11-TRUE16-LABEL: chain_hi_to_lo_group:
; GFX11-TRUE16: ; %bb.0: ; %bb
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-TRUE16-NEXT: v_mov_b32_e32 v1, 0
-; GFX11-TRUE16-NEXT: ds_load_u16_d16 v0, v1 offset:2
+; GFX11-TRUE16-NEXT: v_dual_mov_b32 v0, 0 :: v_dual_mov_b32 v1, -1
+; GFX11-TRUE16-NEXT: ds_load_u16_d16 v0, v0 offset:2
; GFX11-TRUE16-NEXT: s_waitcnt lgkmcnt(0)
; GFX11-TRUE16-NEXT: ds_load_u16_d16_hi v0, v1
; GFX11-TRUE16-NEXT: s_waitcnt lgkmcnt(0)
@@ -237,8 +239,8 @@ define <2 x half> @chain_hi_to_lo_group() {
; GFX11-FAKE16-LABEL: chain_hi_to_lo_group:
; GFX11-FAKE16: ; %bb.0: ; %bb
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-FAKE16-NEXT: v_mov_b32_e32 v1, 0
-; GFX11-FAKE16-NEXT: ds_load_u16 v0, v1 offset:2
+; GFX11-FAKE16-NEXT: v_dual_mov_b32 v0, 0 :: v_dual_mov_b32 v1, -1
+; GFX11-FAKE16-NEXT: ds_load_u16 v0, v0 offset:2
; GFX11-FAKE16-NEXT: s_waitcnt lgkmcnt(0)
; GFX11-FAKE16-NEXT: ds_load_u16_d16_hi v0, v1
; GFX11-FAKE16-NEXT: s_waitcnt lgkmcnt(0)
@@ -593,10 +595,14 @@ define amdgpu_kernel void @vload2_private(ptr addrspace(1) nocapture readonly %i
; FLATSCR-NEXT: s_waitcnt vmcnt(0)
; FLATSCR-NEXT: scratch_store_short off, v0, s0 offset:4
; FLATSCR-NEXT: s_waitcnt vmcnt(0)
-; FLATSCR-NEXT: scratch_load_dword v0, off, s0
-; FLATSCR-NEXT: s_waitcnt vmcnt(0)
-; FLATSCR-NEXT: v_lshrrev_b32_e32 v1, 16, v0
+; FLATSCR-NEXT: scratch_load_ushort v0, off, s0 offset:2
+; FLATSCR-NEXT: scratch_load_ushort v3, off, s0
+; FLATSCR-NEXT: s_waitcnt vmcnt(1)
+; FLATSCR-NEXT: v_mov_b32_e32 v1, v0
; FLATSCR-NEXT: scratch_load_short_d16_hi v1, off, s0 offset:4
+; FLATSCR-NEXT: s_mov_b32 s0, 0x5040100
+; FLATSCR-NEXT: s_waitcnt vmcnt(1)
+; FLATSCR-NEXT: v_perm_b32 v0, v0, v3, s0
; FLATSCR-NEXT: s_waitcnt vmcnt(0)
; FLATSCR-NEXT: global_store_dwordx2 v2, v[0:1], s[2:3]
; FLATSCR-NEXT: s_endpgm
@@ -651,14 +657,18 @@ define amdgpu_kernel void @vload2_private(ptr addrspace(1) nocapture readonly %i
; FLATSCR_GFX10-NEXT: scratch_store_short off, v0, s4 offset:2
; FLATSCR_GFX10-NEXT: s_waitcnt_vscnt null, 0x0
; FLATSCR_GFX10-NEXT: global_load_ushort v0, v2, s[0:1] offset:4
-; FLATSCR_GFX10-NEXT: s_waitcnt_depctr depctr_vm_vsrc(0)
+; FLATSCR_GFX10-NEXT: s_waitcnt_depctr 0xffe3
; FLATSCR_GFX10-NEXT: s_mov_b32 s0, 0
; FLATSCR_GFX10-NEXT: s_waitcnt vmcnt(0)
; FLATSCR_GFX10-NEXT: scratch_store_short off, v0, s0 offset:4
; FLATSCR_GFX10-NEXT: s_waitcnt_vscnt null, 0x0
-; FLATSCR_GFX10-NEXT: scratch_load_dword v0, off, s0
+; FLATSCR_GFX10-NEXT: s_clause 0x1
+; FLATSCR_GFX10-NEXT: scratch_load_ushort v0, off, s0 offset:2
+; FLATSCR_GFX10-NEXT: scratch_load_ushort v3, off, s0
+; FLATSCR_GFX10-NEXT: s_waitcnt vmcnt(1)
+; FLATSCR_GFX10-NEXT: v_mov_b32_e32 v1, v0
; FLATSCR_GFX10-NEXT: s_waitcnt vmcnt(0)
-; FLATSCR_GFX10-NEXT: v_lshrrev_b32_e32 v1, 16, v0
+; FLATSCR_GFX10-NEXT: v_perm_b32 v0, v0, v3, 0x5040100
; FLATSCR_GFX10-NEXT: scratch_load_short_d16_hi v1, off, s0 offset:4
; FLATSCR_GFX10-NEXT: s_waitcnt vmcnt(0)
; FLATSCR_GFX10-NEXT: global_store_dwordx2 v2, v[0:1], s[2:3]
@@ -681,9 +691,12 @@ define amdgpu_kernel void @vload2_private(ptr addrspace(1) nocapture readonly %i
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: scratch_store_b16 off, v0, off offset:4 dlc
; GFX11-TRUE16-NEXT: s_waitcnt_vscnt null, 0x0
-; GFX11-TRUE16-NEXT: scratch_load_b32 v0, off, off
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v3, off, off offset:2
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-TRUE16-NEXT: v_mov_b16_e32 v1.l, v0.h
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v1, v3
+; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v3.l
+; GFX11-TRUE16-NEXT: s_clause 0x1
+; GFX11-TRUE16-NEXT: scratch_load_d16_b16 v0, off, off
; GFX11-TRUE16-NEXT: scratch_load_d16_hi_b16 v1, off, off offset:4
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-TRUE16-NEXT: global_store_b64 v2, v[0:1], s[2:3]
@@ -706,9 +719,13 @@ define amdgpu_kernel void @vload2_private(ptr addrspace(1) nocapture readonly %i
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-FAKE16-NEXT: scratch_store_b16 off, v0, off offset:4 dlc
; GFX11-FAKE16-NEXT: s_waitcnt_vscnt null, 0x0
-; GFX11-FAKE16-NEXT: scratch_load_b32 v0, off, off
+; GFX11-FAKE16-NEXT: s_clause 0x1
+; GFX11-FAKE16-NEXT: scratch_load_u16 v0, off, off offset:2
+; GFX11-FAKE16-NEXT: scratch_load_u16 v3, off, off
+; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(1)
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v1, v0
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
-; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v1, 16, v0
+; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v3, 0x5040100
; GFX11-FAKE16-NEXT: scratch_load_d16_hi_b16 v1, off, off offset:4
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0)
; GFX11-FAKE16-NEXT: global_store_b64 v2, v[0:1], s[2:3]
diff --git a/llvm/test/CodeGen/AMDGPU/collapse-endcf.ll b/llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
index ce541dd2954f4..b3c5ef741d0aa 100644
--- a/llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
+++ b/llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
@@ -35,7 +35,7 @@ define amdgpu_kernel void @simple_nested_if(ptr addrspace(1) nocapture %arg) {
; GCN-NEXT: .LBB0_3: ; %bb.outer.end
; GCN-NEXT: s_or_b64 exec, exec, s[6:7]
; GCN-NEXT: v_mov_b32_e32 v0, 3
-; GCN-NEXT: v_mov_b32_e32 v1, 0
+; GCN-NEXT: v_mov_b32_e32 v1, -1
; GCN-NEXT: s_mov_b32 m0, -1
; GCN-NEXT: ds_write_b32 v1, v0
; GCN-NEXT: s_endpgm
@@ -142,7 +142,7 @@ define amdgpu_kernel void @simple_nested_if(ptr addrspace(1) nocapture %arg) {
; GCN-O0-NEXT: v_readlane_b32 s1, v4, 3
; GCN-O0-NEXT: s_or_b64 exec, exec, s[0:1]
; GCN-O0-NEXT: v_mov_b32_e32 v1, 3
-; GCN-O0-NEXT: v_mov_b32_e32 v0, 0
+; GCN-O0-NEXT: v_mov_b32_e32 v0, -1
; GCN-O0-NEXT: s_mov_b32 m0, -1
; GCN-O0-NEXT: ds_write_b32 v0, v1
; GCN-O0-NEXT: s_endpgm
@@ -204,7 +204,7 @@ define amdgpu_kernel void @uncollapsable_nested_if(ptr addrspace(1) nocapture %a
; GCN-NEXT: s_or_b64 exec, exec, s[6:7]
; GCN-NEXT: s_waitcnt expcnt(0)
; GCN-NEXT: v_mov_b32_e32 v0, 3
-; GCN-NEXT: v_mov_b32_e32 v1, 0
+; GCN-NEXT: v_mov_b32_e32 v1, -1
; GCN-NEXT: s_mov_b32 m0, -1
; GCN-NEXT: ds_write_b32 v1, v0
; GCN-NEXT: s_endpgm
@@ -332,7 +332,7 @@ define amdgpu_kernel void @uncollapsable_nested_if(ptr addrspace(1) nocapture %a
; GCN-O0-NEXT: s_branch .LBB1_3
; GCN-O0-NEXT: .LBB1_5: ; %bb.outer.end
; GCN-O0-NEXT: v_mov_b32_e32 v1, 3
-; GCN-O0-NEXT: v_mov_b32_e32 v0, 0
+; GCN-O0-NEXT: v_mov_b32_e32 v0, -1
; GCN-O0-NEXT: s_mov_b32 m0, -1
; GCN-O0-NEXT: ds_write_b32 v0, v1
; GCN-O0-NEXT: s_endpgm
@@ -378,9 +378,10 @@ define amdgpu_kernel void @nested_if_if_else(ptr addrspace(1) nocapture %arg) {
; GCN-NEXT: s_and_saveexec_b64 s[2:3], vcc
; GCN-NEXT: s_cbranch_execz .LBB2_5
; GCN-NEXT: ; %bb.1: ; %bb.outer.then
-; GCN-NEXT: v_mov_b32_e32 v4, s1
-; GCN-NEXT: v_add_i32_e32 v3, vcc, s0, v1
-; GCN-NEXT: v_addc_u32_e32 v4, vcc, 0, v4, vcc
+; GCN-NEXT: s_waitcnt expcnt(0)
+; GCN-NEXT: v_mov_b32_e32 v2, s1
+; GCN-NEXT: v_add_i32_e32 v1, vcc, s0, v1
+; GCN-NEXT: v_addc_u32_e32 v2, vcc, 0, v2, vcc
; GCN-NEXT: v_cmp_ne_u32_e32 vcc, 2, v0
; GCN-NEXT: s_and_saveexec_b64 s[0:1], vcc
; GCN-NEXT: s_xor_b64 s[0:1], exec, s[0:1]
@@ -391,8 +392,8 @@ define amdgpu_kernel void @nested_if_if_else(ptr addrspace(1) nocapture %arg) {
; GCN-NEXT: s_mov_b32 s4, s6
; GCN-NEXT: s_mov_b32 s5, s6
; GCN-NEXT: v_mov_b32_e32 v0, 2
-; GCN-NEXT: buffer_store_dword v0, v[3:4], s[4:7], 0 addr64 offset:8
-; GCN-NEXT: ; implicit-def: $vgpr3_vgpr4
+; GCN-NEXT: buffer_store_dword v0, v[1:2], s[4:7], 0 addr64 offset:8
+; GCN-NEXT: ; implicit-def: $vgpr1_vgpr2
; GCN-NEXT: .LBB2_3: ; %Flow
; GCN-NEXT: s_andn2_saveexec_b64 s[0:1], s[0:1]
; GCN-NEXT: s_cbranch_execz .LBB2_5
@@ -403,13 +404,14 @@ define amdgpu_kernel void @nested_if_if_else(ptr addrspace(1) nocapture %arg) {
; GCN-NEXT: s_mov_b32 s5, s6
; GCN-NEXT: s_waitcnt expcnt(0)
; GCN-NEXT: v_mov_b32_e32 v0, 1
-; GCN-NEXT: buffer_store_dword v0, v[3:4], s[4:7], 0 addr64 offset:4
+; GCN-NEXT: buffer_store_dword v0, v[1:2], s[4:7], 0 addr64 offset:4
; GCN-NEXT: .LBB2_5: ; %bb.outer.end
; GCN-NEXT: s_or_b64 exec, exec, s[2:3]
; GCN-NEXT: s_waitcnt expcnt(0)
; GCN-NEXT: v_mov_b32_e32 v0, 3
+; GCN-NEXT: v_mov_b32_e32 v1, -1
; GCN-NEXT: s_mov_b32 m0, -1
-; GCN-NEXT: ds_write_b32 v2, v0
+; GCN-NEXT: ds_write_b32 v1, v0
; GCN-NEXT: s_endpgm
;
; GCN-O0-LABEL: nested_if_if_else:
@@ -558,7 +560,7 @@ define amdgpu_kernel void @nested_if_if_else(ptr addrspace(1) nocapture %arg) {
; GCN-O0-NEXT: v_readlane_b32 s1, v4, 3
; GCN-O0-NEXT: s_or_b64 exec, exec, s[0:1]
; GCN-O0-NEXT: v_mov_b32_e32 v1, 3
-; GCN-O0-NEXT: v_mov_b32_e32 v0, 0
+; GCN-O0-NEXT: v_mov_b32_e32 v0, -1
; GCN-O0-NEXT: s_mov_b32 m0, -1
; GCN-O0-NEXT: ds_write_b32 v0, v1
; GCN-O0-NEXT: s_endpgm
@@ -647,7 +649,7 @@ define amdgpu_kernel void @nested_if_else_if(ptr addrspace(1) nocapture %arg) {
; GCN-NEXT: s_or_b64 exec, exec, s[4:5]
; GCN-NEXT: s_waitcnt expcnt(0)
; GCN-NEXT: v_mov_b32_e32 v0, 3
-; GCN-NEXT: v_mov_b32_e32 v1, 0
+; GCN-NEXT: v_mov_b32_e32 v1, -1
; GCN-NEXT: s_mov_b32 m0, -1
; GCN-NEXT: ds_write_b32 v1, v0
; GCN-NEXT: s_endpgm
@@ -838,7 +840,7 @@ define amdgpu_kernel void @nested_if_else_if(ptr addrspace(1) nocapture %arg) {
; GCN-O0-NEXT: v_readlane_b32 s1, v6, 3
; GCN-O0-NEXT: s_or_b64 exec, exec, s[0:1]
; GCN-O0-NEXT: v_mov_b32_e32 v1, 3
-; GCN-O0-NEXT: v_mov_b32_e32 v0, 0
+; GCN-O0-NEXT: v_mov_b32_e32 v0, -1
; GCN-O0-NEXT: s_mov_b32 m0, -1
; GCN-O0-NEXT: ds_write_b32 v0, v1
; GCN-O0-NEXT: s_endpgm
diff --git a/llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll b/llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
index 5c91ee3f7e748..1539aab563fc1 100644
--- a/llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
+++ b/llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
@@ -29,7 +29,8 @@ define amdgpu_kernel void @cannot_create_empty_or_backwards_segment(i1 %arg, i1
; CHECK-NEXT: s_and_b64 s[4:5], exec, s[4:5]
; CHECK-NEXT: s_and_b64 s[6:7], exec, s[10:11]
; CHECK-NEXT: v_cmp_ne_u32_e64 s[0:1], 1, v0
-; CHECK-NEXT: v_mov_b32_e32 v0, 0
+; CHECK-NEXT: v_mov_b32_e32 v0, -1
+; CHECK-NEXT: v_mov_b32_e32 v1, 0
; CHECK-NEXT: s_branch .LBB0_3
; CHECK-NEXT: .LBB0_1: ; in Loop: Header=BB0_3 Depth=1
; CHECK-NEXT: s_mov_b64 s[18:19], 0
@@ -96,8 +97,8 @@ define amdgpu_kernel void @cannot_create_empty_or_backwards_segment(i1 %arg, i1
; CHECK-NEXT: s_cbranch_vccnz .LBB0_15
; CHECK-NEXT: ; %bb.14: ; %bb15
; CHECK-NEXT: ; in Loop: Header=BB0_3 Depth=1
-; CHECK-NEXT: buffer_store_dword v0, off, s[24:27], 0 offset:4
-; CHECK-NEXT: buffer_store_dword v0, off, s[24:27], 0
+; CHECK-NEXT: buffer_store_dword v1, v0, s[24:27], 0 offen
+; CHECK-NEXT: buffer_store_dword v1, off, s[24:27], 0 offset:3
; CHECK-NEXT: .LBB0_15: ; %Flow
; CHECK-NEXT: ; in Loop: Header=BB0_3 Depth=1
; CHECK-NEXT: s_mov_b64 s[20:21], 0
diff --git a/llvm/test/CodeGen/AMDGPU/hazard-recognizer-src-shared-base.ll b/llvm/test/CodeGen/AMDGPU/hazard-recognizer-src-shared-base.ll
index 1db476300c261..5e95ac9b619fe 100644
--- a/llvm/test/CodeGen/AMDGPU/hazard-recognizer-src-shared-base.ll
+++ b/llvm/test/CodeGen/AMDGPU/hazard-recognizer-src-shared-base.ll
@@ -4,11 +4,12 @@
define amdgpu_kernel void @foo() {
; CHECK-LABEL: foo:
; CHECK: ; %bb.0: ; %entry
-; CHECK-NEXT: s_mov_b64 s[0:1], src_shared_base
-; CHECK-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(VALU_DEP_1)
-; CHECK-NEXT: v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v2, s1
-; CHECK-NEXT: v_mov_b32_e32 v0, v1
-; CHECK-NEXT: flat_store_b64 v[1:2], v[0:1]
+; CHECK-NEXT: v_mov_b32_e32 v0, 0
+; CHECK-NEXT: v_mov_b32_e32 v2, 0
+; CHECK-NEXT: v_mov_b32_e32 v3, 0
+; CHECK-NEXT: s_delay_alu instid0(VALU_DEP_3)
+; CHECK-NEXT: v_mov_b32_e32 v1, v0
+; CHECK-NEXT: flat_store_b64 v[2:3], v[0:1]
; CHECK-NEXT: s_endpgm
entry:
br label %bb1
diff --git a/llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll b/llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
index a0f5d2f3164ab..0fc7f3ddfa19c 100644
--- a/llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
+++ b/llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
@@ -1,10 +1,10 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --check-globals
; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -passes=amdgpu-attributor %s -o - | FileCheck %s
- at g_fn = addrspace(1) global ptr null
+ at g_fn = addrspace(1) global ptr zeroinitializer
;.
-; CHECK: @g_fn = addrspace(1) global ptr null
+; CHECK: @g_fn = addrspace(1) global ptr zeroinitializer
;.
define void @set_fn(ptr %fn) {
; CHECK-LABEL: define {{[^@]+}}@set_fn
diff --git a/llvm/test/CodeGen/AMDGPU/issue130120-eliminate-frame-index.ll b/llvm/test/CodeGen/AMDGPU/issue130120-eliminate-frame-index.ll
index 300124848c1aa..bb28526b8407d 100644
--- a/llvm/test/CodeGen/AMDGPU/issue130120-eliminate-frame-index.ll
+++ b/llvm/test/CodeGen/AMDGPU/issue130120-eliminate-frame-index.ll
@@ -38,24 +38,24 @@ define amdgpu_gfx [13 x i32] @issue130120() {
; CHECK-NEXT: s_cmp_eq_u32 s46, 0
; CHECK-NEXT: s_mov_b32 s49, s48
; CHECK-NEXT: s_mov_b32 s50, s48
-; CHECK-NEXT: s_cselect_b32 s51, 0, s1
-; CHECK-NEXT: s_cselect_b32 s55, 0, s35
+; CHECK-NEXT: s_cselect_b32 s51, -1, s1
+; CHECK-NEXT: s_cselect_b32 s55, -1, s35
; CHECK-NEXT: v_dual_mov_b32 v2, s48 :: v_dual_mov_b32 v3, s49
-; CHECK-NEXT: s_cselect_b32 s52, 0, s2
-; CHECK-NEXT: s_cselect_b32 s56, 0, s36
-; CHECK-NEXT: s_cselect_b32 vcc_lo, 0, s43
+; CHECK-NEXT: s_cselect_b32 s52, -1, s2
+; CHECK-NEXT: s_cselect_b32 s56, -1, s36
+; CHECK-NEXT: s_cselect_b32 vcc_lo, -1, s43
; CHECK-NEXT: v_mov_b32_e32 v4, s50
; CHECK-NEXT: s_cselect_b32 s47, s45, 0xf0
-; CHECK-NEXT: s_cselect_b32 s53, 0, s3
-; CHECK-NEXT: s_cselect_b32 s54, 0, s34
-; CHECK-NEXT: s_cselect_b32 s57, 0, s37
-; CHECK-NEXT: s_cselect_b32 s58, 0, s38
-; CHECK-NEXT: s_cselect_b32 s59, 0, s0
-; CHECK-NEXT: s_cselect_b32 s60, 0, s39
-; CHECK-NEXT: s_cselect_b32 s61, 0, s40
-; CHECK-NEXT: s_cselect_b32 s62, 0, s41
-; CHECK-NEXT: s_cselect_b32 s63, 0, s42
-; CHECK-NEXT: s_cselect_b32 vcc_hi, 0, s44
+; CHECK-NEXT: s_cselect_b32 s53, -1, s3
+; CHECK-NEXT: s_cselect_b32 s54, -1, s34
+; CHECK-NEXT: s_cselect_b32 s57, -1, s37
+; CHECK-NEXT: s_cselect_b32 s58, -1, s38
+; CHECK-NEXT: s_cselect_b32 s59, -1, s0
+; CHECK-NEXT: s_cselect_b32 s60, -1, s39
+; CHECK-NEXT: s_cselect_b32 s61, -1, s40
+; CHECK-NEXT: s_cselect_b32 s62, -1, s41
+; CHECK-NEXT: s_cselect_b32 s63, -1, s42
+; CHECK-NEXT: s_cselect_b32 vcc_hi, -1, s44
; CHECK-NEXT: s_mov_b32 s46, s48
; CHECK-NEXT: scratch_store_b32 off, v0, s51
; CHECK-NEXT: scratch_store_b32 off, v0, s52
diff --git a/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.AFLCustomIRMutator.opt.ll b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.AFLCustomIRMutator.opt.ll
index 50bf632533378..9800138f13f19 100644
--- a/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.AFLCustomIRMutator.opt.ll
+++ b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.AFLCustomIRMutator.opt.ll
@@ -4,29 +4,30 @@
define amdgpu_kernel void @test_iglp_opt_rev_mfma_gemm(<1 x i64> %L1) {
; GCN-LABEL: test_iglp_opt_rev_mfma_gemm:
; GCN: ; %bb.0: ; %entry
-; GCN-NEXT: v_mov_b32_e32 v0, 0
-; GCN-NEXT: ds_read_b128 v[2:5], v0
+; GCN-NEXT: v_mov_b32_e32 v1, 0
+; GCN-NEXT: ds_read_b128 v[30:33], v1 offset:111
+; GCN-NEXT: ds_read_b128 v[26:29], v1 offset:95
+; GCN-NEXT: ds_read_b128 v[22:25], v1 offset:79
+; GCN-NEXT: ds_read_b128 v[2:5], v1 offset:15
+; GCN-NEXT: v_mov_b32_e32 v0, -1
; GCN-NEXT: s_load_dwordx2 s[0:1], s[8:9], 0x0
-; GCN-NEXT: ds_read_b128 v[30:33], v0 offset:112
-; GCN-NEXT: ds_read_b128 v[26:29], v0 offset:96
-; GCN-NEXT: ds_read_b128 v[22:25], v0 offset:80
-; GCN-NEXT: ds_read_b128 v[18:21], v0 offset:64
-; GCN-NEXT: ds_read_b128 v[6:9], v0 offset:16
-; GCN-NEXT: ds_read_b128 v[10:13], v0 offset:32
-; GCN-NEXT: ds_read_b128 v[14:17], v0 offset:48
+; GCN-NEXT: ds_read_b128 v[10:13], v1 offset:31
+; GCN-NEXT: ds_read_b128 v[14:17], v1 offset:47
+; GCN-NEXT: ds_read_b128 v[18:21], v1 offset:63
+; GCN-NEXT: ds_read_b128 v[6:9], v0
; GCN-NEXT: s_waitcnt lgkmcnt(0)
-; GCN-NEXT: ds_write_b128 v0, v[2:5]
+; GCN-NEXT: ds_write_b128 v1, v[2:5] offset:15
; GCN-NEXT: v_mov_b32_e32 v2, 0
; GCN-NEXT: v_mov_b32_e32 v3, 0
; GCN-NEXT: s_cmp_lg_u64 s[0:1], 0
; GCN-NEXT: ; iglp_opt mask(0x00000001)
-; GCN-NEXT: ds_write_b128 v0, v[30:33] offset:112
-; GCN-NEXT: ds_write_b128 v0, v[26:29] offset:96
-; GCN-NEXT: ds_write_b128 v0, v[22:25] offset:80
-; GCN-NEXT: ds_write_b128 v0, v[18:21] offset:64
-; GCN-NEXT: ds_write_b128 v0, v[14:17] offset:48
-; GCN-NEXT: ds_write_b128 v0, v[10:13] offset:32
-; GCN-NEXT: ds_write_b128 v0, v[6:9] offset:16
+; GCN-NEXT: ds_write_b128 v1, v[30:33] offset:111
+; GCN-NEXT: ds_write_b128 v1, v[26:29] offset:95
+; GCN-NEXT: ds_write_b128 v1, v[22:25] offset:79
+; GCN-NEXT: ds_write_b128 v1, v[18:21] offset:63
+; GCN-NEXT: ds_write_b128 v1, v[14:17] offset:47
+; GCN-NEXT: ds_write_b128 v1, v[10:13] offset:31
+; GCN-NEXT: ds_write_b128 v0, v[6:9]
; GCN-NEXT: ds_write_b64 v0, v[2:3]
; GCN-NEXT: s_endpgm
entry:
diff --git a/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
index 32cbe6d9cb73c..55c39c27c908b 100644
--- a/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
+++ b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
@@ -451,7 +451,7 @@ define amdgpu_kernel void @set_inactive_p3(ptr addrspace(1) %out, ptr addrspace(
; GCN-NEXT: s_waitcnt lgkmcnt(0)
; GCN-NEXT: v_mov_b32_e32 v1, s6
; GCN-NEXT: s_or_saveexec_b64 s[4:5], -1
-; GCN-NEXT: v_cndmask_b32_e64 v0, 0, v1, s[4:5]
+; GCN-NEXT: v_cndmask_b32_e64 v0, -1, v1, s[4:5]
; GCN-NEXT: s_mov_b64 exec, s[4:5]
; GCN-NEXT: v_mov_b32_e32 v1, v0
; GCN-NEXT: buffer_store_dword v1, off, s[0:3], 0
@@ -472,7 +472,7 @@ define amdgpu_kernel void @set_inactive_p5(ptr addrspace(1) %out, ptr addrspace(
; GCN-NEXT: s_waitcnt lgkmcnt(0)
; GCN-NEXT: v_mov_b32_e32 v1, s6
; GCN-NEXT: s_or_saveexec_b64 s[4:5], -1
-; GCN-NEXT: v_cndmask_b32_e64 v0, 0, v1, s[4:5]
+; GCN-NEXT: v_cndmask_b32_e64 v0, -1, v1, s[4:5]
; GCN-NEXT: s_mov_b64 exec, s[4:5]
; GCN-NEXT: v_mov_b32_e32 v1, v0
; GCN-NEXT: buffer_store_dword v1, off, s[0:3], 0
diff --git a/llvm/test/CodeGen/AMDGPU/load-hi16.ll b/llvm/test/CodeGen/AMDGPU/load-hi16.ll
index 825ae8060aaa6..348025a1ce20b 100644
--- a/llvm/test/CodeGen/AMDGPU/load-hi16.ll
+++ b/llvm/test/CodeGen/AMDGPU/load-hi16.ll
@@ -12,7 +12,7 @@ define <2 x i16> @load_local_lo_hi_v2i16_multi_use_lo(ptr addrspace(3) noalias %
; GFX900-NEXT: s_waitcnt lgkmcnt(0)
; GFX900-NEXT: v_mov_b32_e32 v1, v2
; GFX900-NEXT: ds_read_u16_d16_hi v1, v0 offset:16
-; GFX900-NEXT: v_mov_b32_e32 v0, 0
+; GFX900-NEXT: v_mov_b32_e32 v0, -1
; GFX900-NEXT: ds_write_b16 v0, v2
; GFX900-NEXT: s_waitcnt lgkmcnt(1)
; GFX900-NEXT: v_mov_b32_e32 v0, v1
@@ -25,7 +25,7 @@ define <2 x i16> @load_local_lo_hi_v2i16_multi_use_lo(ptr addrspace(3) noalias %
; GFX906-NEXT: ds_read_u16 v1, v0
; GFX906-NEXT: ds_read_u16 v0, v0 offset:16
; GFX906-NEXT: s_mov_b32 s4, 0x5040100
-; GFX906-NEXT: v_mov_b32_e32 v2, 0
+; GFX906-NEXT: v_mov_b32_e32 v2, -1
; GFX906-NEXT: s_waitcnt lgkmcnt(1)
; GFX906-NEXT: ds_write_b16 v2, v1
; GFX906-NEXT: s_waitcnt lgkmcnt(1)
@@ -39,7 +39,7 @@ define <2 x i16> @load_local_lo_hi_v2i16_multi_use_lo(ptr addrspace(3) noalias %
; GFX803-NEXT: s_mov_b32 m0, -1
; GFX803-NEXT: ds_read_u16 v1, v0
; GFX803-NEXT: ds_read_u16 v0, v0 offset:16
-; GFX803-NEXT: v_mov_b32_e32 v2, 0
+; GFX803-NEXT: v_mov_b32_e32 v2, -1
; GFX803-NEXT: s_waitcnt lgkmcnt(1)
; GFX803-NEXT: ds_write_b16 v2, v1
; GFX803-NEXT: s_waitcnt lgkmcnt(1)
@@ -55,7 +55,7 @@ define <2 x i16> @load_local_lo_hi_v2i16_multi_use_lo(ptr addrspace(3) noalias %
; GFX900-FLATSCR-NEXT: s_waitcnt lgkmcnt(0)
; GFX900-FLATSCR-NEXT: v_mov_b32_e32 v1, v2
; GFX900-FLATSCR-NEXT: ds_read_u16_d16_hi v1, v0 offset:16
-; GFX900-FLATSCR-NEXT: v_mov_b32_e32 v0, 0
+; GFX900-FLATSCR-NEXT: v_mov_b32_e32 v0, -1
; GFX900-FLATSCR-NEXT: ds_write_b16 v0, v2
; GFX900-FLATSCR-NEXT: s_waitcnt lgkmcnt(1)
; GFX900-FLATSCR-NEXT: v_mov_b32_e32 v0, v1
@@ -78,7 +78,7 @@ define <2 x i16> @load_local_lo_hi_v2i16_multi_use_hi(ptr addrspace(3) noalias %
; GFX900-NEXT: ds_read_u16 v1, v0 offset:16
; GFX900-NEXT: ds_read_u16 v0, v0
; GFX900-NEXT: s_mov_b32 s4, 0x5040100
-; GFX900-NEXT: v_mov_b32_e32 v2, 0
+; GFX900-NEXT: v_mov_b32_e32 v2, -1
; GFX900-NEXT: s_waitcnt lgkmcnt(1)
; GFX900-NEXT: ds_write_b16 v2, v1
; GFX900-NEXT: s_waitcnt lgkmcnt(1)
@@ -92,7 +92,7 @@ define <2 x i16> @load_local_lo_hi_v2i16_multi_use_hi(ptr addrspace(3) noalias %
; GFX906-NEXT: ds_read_u16 v1, v0 offset:16
; GFX906-NEXT: ds_read_u16 v0, v0
; GFX906-NEXT: s_mov_b32 s4, 0x5040100
-; GFX906-NEXT: v_mov_b32_e32 v2, 0
+; GFX906-NEXT: v_mov_b32_e32 v2, -1
; GFX906-NEXT: s_waitcnt lgkmcnt(1)
; GFX906-NEXT: ds_write_b16 v2, v1
; GFX906-NEXT: s_waitcnt lgkmcnt(1)
@@ -106,7 +106,7 @@ define <2 x i16> @load_local_lo_hi_v2i16_multi_use_hi(ptr addrspace(3) noalias %
; GFX803-NEXT: s_mov_b32 m0, -1
; GFX803-NEXT: ds_read_u16 v1, v0 offset:16
; GFX803-NEXT: ds_read_u16 v0, v0
-; GFX803-NEXT: v_mov_b32_e32 v2, 0
+; GFX803-NEXT: v_mov_b32_e32 v2, -1
; GFX803-NEXT: s_waitcnt lgkmcnt(1)
; GFX803-NEXT: ds_write_b16 v2, v1
; GFX803-NEXT: v_lshlrev_b32_e32 v1, 16, v1
@@ -121,7 +121,7 @@ define <2 x i16> @load_local_lo_hi_v2i16_multi_use_hi(ptr addrspace(3) noalias %
; GFX900-FLATSCR-NEXT: ds_read_u16 v1, v0 offset:16
; GFX900-FLATSCR-NEXT: ds_read_u16 v0, v0
; GFX900-FLATSCR-NEXT: s_mov_b32 s0, 0x5040100
-; GFX900-FLATSCR-NEXT: v_mov_b32_e32 v2, 0
+; GFX900-FLATSCR-NEXT: v_mov_b32_e32 v2, -1
; GFX900-FLATSCR-NEXT: s_waitcnt lgkmcnt(1)
; GFX900-FLATSCR-NEXT: ds_write_b16 v2, v1
; GFX900-FLATSCR-NEXT: s_waitcnt lgkmcnt(1)
diff --git a/llvm/test/CodeGen/AMDGPU/load-lo16.ll b/llvm/test/CodeGen/AMDGPU/load-lo16.ll
index 5e5c3bcd37f01..c7a1da95075ab 100644
--- a/llvm/test/CodeGen/AMDGPU/load-lo16.ll
+++ b/llvm/test/CodeGen/AMDGPU/load-lo16.ll
@@ -593,7 +593,7 @@ define void @load_local_lo_v2i16_reghi_vreg_multi_use_lo(ptr addrspace(3) %in, <
; GFX900-MUBUF: ; %bb.0: ; %entry
; GFX900-MUBUF-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX900-MUBUF-NEXT: ds_read_u16 v0, v0
-; GFX900-MUBUF-NEXT: v_mov_b32_e32 v2, 0
+; GFX900-MUBUF-NEXT: v_mov_b32_e32 v2, -1
; GFX900-MUBUF-NEXT: s_mov_b32 s4, 0xffff
; GFX900-MUBUF-NEXT: s_waitcnt lgkmcnt(0)
; GFX900-MUBUF-NEXT: ds_write_b16 v2, v0
@@ -606,7 +606,7 @@ define void @load_local_lo_v2i16_reghi_vreg_multi_use_lo(ptr addrspace(3) %in, <
; GFX906: ; %bb.0: ; %entry
; GFX906-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX906-NEXT: ds_read_u16 v0, v0
-; GFX906-NEXT: v_mov_b32_e32 v2, 0
+; GFX906-NEXT: v_mov_b32_e32 v2, -1
; GFX906-NEXT: s_mov_b32 s4, 0xffff
; GFX906-NEXT: s_waitcnt lgkmcnt(0)
; GFX906-NEXT: ds_write_b16 v2, v0
@@ -620,7 +620,7 @@ define void @load_local_lo_v2i16_reghi_vreg_multi_use_lo(ptr addrspace(3) %in, <
; GFX803-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX803-NEXT: s_mov_b32 m0, -1
; GFX803-NEXT: ds_read_u16 v0, v0
-; GFX803-NEXT: v_mov_b32_e32 v2, 0
+; GFX803-NEXT: v_mov_b32_e32 v2, -1
; GFX803-NEXT: s_mov_b32 s4, 0x3020504
; GFX803-NEXT: s_waitcnt lgkmcnt(0)
; GFX803-NEXT: ds_write_b16 v2, v0
@@ -633,7 +633,7 @@ define void @load_local_lo_v2i16_reghi_vreg_multi_use_lo(ptr addrspace(3) %in, <
; GFX900-FLATSCR: ; %bb.0: ; %entry
; GFX900-FLATSCR-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX900-FLATSCR-NEXT: ds_read_u16 v0, v0
-; GFX900-FLATSCR-NEXT: v_mov_b32_e32 v2, 0
+; GFX900-FLATSCR-NEXT: v_mov_b32_e32 v2, -1
; GFX900-FLATSCR-NEXT: s_mov_b32 s0, 0xffff
; GFX900-FLATSCR-NEXT: s_waitcnt lgkmcnt(0)
; GFX900-FLATSCR-NEXT: ds_write_b16 v2, v0
@@ -656,7 +656,7 @@ define void @load_local_lo_v2i16_reghi_vreg_multi_use_hi(ptr addrspace(3) %in, <
; GFX900-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX900-NEXT: v_lshrrev_b32_e32 v2, 16, v1
; GFX900-NEXT: ds_read_u16_d16 v1, v0
-; GFX900-NEXT: v_mov_b32_e32 v0, 0
+; GFX900-NEXT: v_mov_b32_e32 v0, -1
; GFX900-NEXT: ds_write_b16 v0, v2
; GFX900-NEXT: s_waitcnt lgkmcnt(1)
; GFX900-NEXT: global_store_dword v[0:1], v1, off
@@ -669,7 +669,7 @@ define void @load_local_lo_v2i16_reghi_vreg_multi_use_hi(ptr addrspace(3) %in, <
; GFX906-NEXT: ds_read_u16 v0, v0
; GFX906-NEXT: s_mov_b32 s4, 0xffff
; GFX906-NEXT: v_lshrrev_b32_e32 v2, 16, v1
-; GFX906-NEXT: v_mov_b32_e32 v3, 0
+; GFX906-NEXT: v_mov_b32_e32 v3, -1
; GFX906-NEXT: ds_write_b16 v3, v2
; GFX906-NEXT: s_waitcnt lgkmcnt(1)
; GFX906-NEXT: v_bfi_b32 v0, s4, v0, v1
@@ -684,7 +684,7 @@ define void @load_local_lo_v2i16_reghi_vreg_multi_use_hi(ptr addrspace(3) %in, <
; GFX803-NEXT: ds_read_u16 v0, v0
; GFX803-NEXT: s_mov_b32 s4, 0x3020504
; GFX803-NEXT: v_lshrrev_b32_e32 v2, 16, v1
-; GFX803-NEXT: v_mov_b32_e32 v3, 0
+; GFX803-NEXT: v_mov_b32_e32 v3, -1
; GFX803-NEXT: ds_write_b16 v3, v2
; GFX803-NEXT: s_waitcnt lgkmcnt(1)
; GFX803-NEXT: v_perm_b32 v0, v0, v1, s4
diff --git a/llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-constants.ll b/llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-constants.ll
index a09e392b89e63..f3eb2c6c34858 100644
--- a/llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-constants.ll
+++ b/llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-constants.ll
@@ -193,7 +193,7 @@ define i32 @ptrtoint_very_short() {
define <2 x i160> @ptrtoint_vec() {
; CHECK-LABEL: define <2 x i160> @ptrtoint_vec
; CHECK-SAME: () #[[ATTR0]] {
-; CHECK-NEXT: ret <2 x i160> zeroinitializer
+; CHECK-NEXT: ret <2 x i160> ptrtoint (<2 x ptr addrspace(7)> zeroinitializer to <2 x i160>)
;
ret <2 x i160> ptrtoint (<2 x ptr addrspace(7)> zeroinitializer to <2 x i160>)
}
diff --git a/llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll b/llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
index 20a34dc997bbc..f496f290e5096 100644
--- a/llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
+++ b/llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
@@ -2362,7 +2362,7 @@ define void @test_umin(i64 %0, i64 %idxprom, ptr %x, ptr %y) {
; OPT-LABEL: @test_umin(
; OPT-NEXT: entry:
; OPT-NEXT: [[ARRAYIDX:%.*]] = getelementptr [32 x [8 x i64]], ptr [[Y:%.*]], i64 0, i64 [[IDXPROM:%.*]]
-; OPT-NEXT: [[SPEC_SELECT:%.*]] = tail call i64 @llvm.umin.i64(i64 sub (i64 ptrtoint (ptr addrspacecast (ptr addrspace(4) inttoptr (i64 32 to ptr addrspace(4)) to ptr) to i64), i64 ptrtoint (ptr addrspacecast (ptr addrspace(4) null to ptr) to i64)), i64 56)
+; OPT-NEXT: [[SPEC_SELECT:%.*]] = tail call i64 @llvm.umin.i64(i64 sub (i64 ptrtoint (ptr addrspacecast (ptr addrspace(4) inttoptr (i64 32 to ptr addrspace(4)) to ptr) to i64), i64 ptrtoint (ptr null to i64)), i64 56)
; OPT-NEXT: [[TMP2:%.*]] = and i64 [[SPEC_SELECT]], 15
; OPT-NEXT: [[TMP3:%.*]] = sub i64 [[SPEC_SELECT]], [[TMP2]]
; OPT-NEXT: [[TMP4:%.*]] = icmp ne i64 [[TMP3]], 0
diff --git a/llvm/test/CodeGen/AMDGPU/machine-sink-loop-var-out-of-divergent-loop-swdev407790.ll b/llvm/test/CodeGen/AMDGPU/machine-sink-loop-var-out-of-divergent-loop-swdev407790.ll
index 34a9624cb19eb..654f856825c91 100644
--- a/llvm/test/CodeGen/AMDGPU/machine-sink-loop-var-out-of-divergent-loop-swdev407790.ll
+++ b/llvm/test/CodeGen/AMDGPU/machine-sink-loop-var-out-of-divergent-loop-swdev407790.ll
@@ -12,6 +12,7 @@ define void @machinesink_loop_variable_out_of_divergent_loop(i32 %arg, i1 %cmp49
; CHECK-NEXT: v_and_b32_e32 v3, 1, v3
; CHECK-NEXT: s_mov_b32 s6, 0
; CHECK-NEXT: v_cmp_ne_u32_e64 s4, 1, v1
+; CHECK-NEXT: v_mov_b32_e32 v1, -1
; CHECK-NEXT: v_cmp_eq_u32_e32 vcc_lo, 1, v3
; CHECK-NEXT: s_inst_prefetch 0x1
; CHECK-NEXT: s_branch .LBB0_3
@@ -19,11 +20,11 @@ define void @machinesink_loop_variable_out_of_divergent_loop(i32 %arg, i1 %cmp49
; CHECK-NEXT: .LBB0_1: ; %Flow
; CHECK-NEXT: ; in Loop: Header=BB0_3 Depth=1
; CHECK-NEXT: s_or_b32 exec_lo, exec_lo, s8
-; CHECK-NEXT: v_add_nc_u32_e32 v3, -4, v3
+; CHECK-NEXT: v_add_nc_u32_e32 v4, -4, v4
; CHECK-NEXT: .LBB0_2: ; %Flow1
; CHECK-NEXT: ; in Loop: Header=BB0_3 Depth=1
; CHECK-NEXT: s_or_b32 exec_lo, exec_lo, s7
-; CHECK-NEXT: v_cmp_ne_u32_e64 s5, 0, v1
+; CHECK-NEXT: v_cmp_ne_u32_e64 s5, 0, v3
; CHECK-NEXT: ;;#ASMSTART
; CHECK-NEXT: ; j lastloop entry
; CHECK-NEXT: ;;#ASMEND
@@ -33,8 +34,8 @@ define void @machinesink_loop_variable_out_of_divergent_loop(i32 %arg, i1 %cmp49
; CHECK-NEXT: .LBB0_3: ; %for.body33
; CHECK-NEXT: ; =>This Loop Header: Depth=1
; CHECK-NEXT: ; Child Loop BB0_6 Depth 2
+; CHECK-NEXT: v_mov_b32_e32 v4, 0
; CHECK-NEXT: v_mov_b32_e32 v3, 0
-; CHECK-NEXT: v_mov_b32_e32 v1, 0
; CHECK-NEXT: s_and_saveexec_b32 s7, s4
; CHECK-NEXT: s_cbranch_execz .LBB0_2
; CHECK-NEXT: ; %bb.4: ; %for.body51.preheader
@@ -50,23 +51,23 @@ define void @machinesink_loop_variable_out_of_divergent_loop(i32 %arg, i1 %cmp49
; CHECK-NEXT: ;;#ASMSTART
; CHECK-NEXT: ; backedge
; CHECK-NEXT: ;;#ASMEND
-; CHECK-NEXT: v_add_nc_u32_e32 v3, s9, v2
-; CHECK-NEXT: v_cmp_ge_u32_e64 s5, v3, v0
+; CHECK-NEXT: v_add_nc_u32_e32 v4, s9, v2
+; CHECK-NEXT: v_cmp_ge_u32_e64 s5, v4, v0
; CHECK-NEXT: s_or_b32 s8, s5, s8
; CHECK-NEXT: s_andn2_b32 exec_lo, exec_lo, s8
; CHECK-NEXT: s_cbranch_execz .LBB0_1
; CHECK-NEXT: .LBB0_6: ; %for.body51
; CHECK-NEXT: ; Parent Loop BB0_3 Depth=1
; CHECK-NEXT: ; => This Inner Loop Header: Depth=2
-; CHECK-NEXT: v_mov_b32_e32 v1, 1
+; CHECK-NEXT: v_mov_b32_e32 v3, 1
; CHECK-NEXT: s_and_saveexec_b32 s5, vcc_lo
; CHECK-NEXT: s_cbranch_execz .LBB0_5
; CHECK-NEXT: ; %bb.7: ; %if.then112
; CHECK-NEXT: ; in Loop: Header=BB0_6 Depth=2
; CHECK-NEXT: s_add_i32 s10, s9, 4
-; CHECK-NEXT: v_mov_b32_e32 v1, 0
-; CHECK-NEXT: v_mov_b32_e32 v3, s10
-; CHECK-NEXT: ds_write_b32 v1, v3
+; CHECK-NEXT: v_mov_b32_e32 v3, 0
+; CHECK-NEXT: v_mov_b32_e32 v4, s10
+; CHECK-NEXT: ds_write_b32 v1, v4
; CHECK-NEXT: s_branch .LBB0_5
; CHECK-NEXT: .LBB0_8: ; %for.body159.preheader
; CHECK-NEXT: s_inst_prefetch 0x2
diff --git a/llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll b/llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
index 1156f2718cf1e..c4a8129bcf84f 100644
--- a/llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
+++ b/llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
@@ -2559,12 +2559,8 @@ entry:
define amdgpu_kernel void @negativeoffsetnullptr(ptr %buffer) {
; GFX8-LABEL: negativeoffsetnullptr:
; GFX8: ; %bb.0: ; %entry
-; GFX8-NEXT: s_load_dword s1, s[4:5], 0xec
-; GFX8-NEXT: s_add_u32 s0, 0, -1
-; GFX8-NEXT: s_waitcnt lgkmcnt(0)
-; GFX8-NEXT: s_addc_u32 s1, s1, -1
-; GFX8-NEXT: v_mov_b32_e32 v0, s0
-; GFX8-NEXT: v_mov_b32_e32 v1, s1
+; GFX8-NEXT: v_mov_b32_e32 v0, -1
+; GFX8-NEXT: v_mov_b32_e32 v1, -1
; GFX8-NEXT: flat_load_ubyte v0, v[0:1]
; GFX8-NEXT: s_mov_b64 s[0:1], 0
; GFX8-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
@@ -2578,32 +2574,27 @@ define amdgpu_kernel void @negativeoffsetnullptr(ptr %buffer) {
; GFX8-NEXT: ; %bb.2: ; %end
; GFX8-NEXT: s_endpgm
;
-; GFX9-LABEL: negativeoffsetnullptr:
-; GFX9: ; %bb.0: ; %entry
-; GFX9-NEXT: s_mov_b64 s[0:1], src_private_base
-; GFX9-NEXT: v_mov_b32_e32 v1, s1
-; GFX9-NEXT: v_add_co_u32_e64 v0, vcc, -1, 0
-; GFX9-NEXT: v_addc_co_u32_e32 v1, vcc, -1, v1, vcc
-; GFX9-NEXT: flat_load_ubyte v0, v[0:1]
-; GFX9-NEXT: s_mov_b64 s[0:1], 0
-; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
-; GFX9-NEXT: v_cmp_eq_u16_e32 vcc, 0, v0
-; GFX9-NEXT: .LBB8_1: ; %branch
-; GFX9-NEXT: ; =>This Inner Loop Header: Depth=1
-; GFX9-NEXT: s_and_b64 s[2:3], exec, vcc
-; GFX9-NEXT: s_or_b64 s[0:1], s[2:3], s[0:1]
-; GFX9-NEXT: s_andn2_b64 exec, exec, s[0:1]
-; GFX9-NEXT: s_cbranch_execnz .LBB8_1
-; GFX9-NEXT: ; %bb.2: ; %end
-; GFX9-NEXT: s_endpgm
+; GFX900-LABEL: negativeoffsetnullptr:
+; GFX900: ; %bb.0: ; %entry
+; GFX900-NEXT: v_mov_b32_e32 v0, -1
+; GFX900-NEXT: v_mov_b32_e32 v1, -1
+; GFX900-NEXT: flat_load_ubyte v0, v[0:1]
+; GFX900-NEXT: s_mov_b64 s[0:1], 0
+; GFX900-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
+; GFX900-NEXT: v_cmp_eq_u16_e32 vcc, 0, v0
+; GFX900-NEXT: .LBB8_1: ; %branch
+; GFX900-NEXT: ; =>This Inner Loop Header: Depth=1
+; GFX900-NEXT: s_and_b64 s[2:3], exec, vcc
+; GFX900-NEXT: s_or_b64 s[0:1], s[2:3], s[0:1]
+; GFX900-NEXT: s_andn2_b64 exec, exec, s[0:1]
+; GFX900-NEXT: s_cbranch_execnz .LBB8_1
+; GFX900-NEXT: ; %bb.2: ; %end
+; GFX900-NEXT: s_endpgm
;
; GFX10-LABEL: negativeoffsetnullptr:
; GFX10: ; %bb.0: ; %entry
-; GFX10-NEXT: s_mov_b64 s[0:1], src_private_base
-; GFX10-NEXT: s_add_u32 s0, 0, -1
-; GFX10-NEXT: s_addc_u32 s1, s1, -1
-; GFX10-NEXT: v_mov_b32_e32 v0, s0
-; GFX10-NEXT: v_mov_b32_e32 v1, s1
+; GFX10-NEXT: v_mov_b32_e32 v0, -1
+; GFX10-NEXT: v_mov_b32_e32 v1, -1
; GFX10-NEXT: s_mov_b32 s0, 0
; GFX10-NEXT: flat_load_ubyte v0, v[0:1]
; GFX10-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
@@ -2617,12 +2608,26 @@ define amdgpu_kernel void @negativeoffsetnullptr(ptr %buffer) {
; GFX10-NEXT: ; %bb.2: ; %end
; GFX10-NEXT: s_endpgm
;
+; GFX90A-LABEL: negativeoffsetnullptr:
+; GFX90A: ; %bb.0: ; %entry
+; GFX90A-NEXT: v_pk_mov_b32 v[0:1], -1, -1
+; GFX90A-NEXT: flat_load_ubyte v0, v[0:1]
+; GFX90A-NEXT: s_mov_b64 s[0:1], 0
+; GFX90A-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
+; GFX90A-NEXT: v_cmp_eq_u16_e32 vcc, 0, v0
+; GFX90A-NEXT: .LBB8_1: ; %branch
+; GFX90A-NEXT: ; =>This Inner Loop Header: Depth=1
+; GFX90A-NEXT: s_and_b64 s[2:3], exec, vcc
+; GFX90A-NEXT: s_or_b64 s[0:1], s[2:3], s[0:1]
+; GFX90A-NEXT: s_andn2_b64 exec, exec, s[0:1]
+; GFX90A-NEXT: s_cbranch_execnz .LBB8_1
+; GFX90A-NEXT: ; %bb.2: ; %end
+; GFX90A-NEXT: s_endpgm
+;
; GFX11-TRUE16-LABEL: negativeoffsetnullptr:
; GFX11-TRUE16: ; %bb.0: ; %entry
-; GFX11-TRUE16-NEXT: s_mov_b64 s[0:1], src_private_base
-; GFX11-TRUE16-NEXT: v_add_co_u32 v0, s0, -1, 0
-; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_1)
-; GFX11-TRUE16-NEXT: v_add_co_ci_u32_e64 v1, null, -1, s1, s0
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v0, -1
+; GFX11-TRUE16-NEXT: v_mov_b32_e32 v1, -1
; GFX11-TRUE16-NEXT: s_mov_b32 s0, 0
; GFX11-TRUE16-NEXT: flat_load_d16_u8 v0, v[0:1]
; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
@@ -2639,10 +2644,8 @@ define amdgpu_kernel void @negativeoffsetnullptr(ptr %buffer) {
;
; GFX11-FAKE16-LABEL: negativeoffsetnullptr:
; GFX11-FAKE16: ; %bb.0: ; %entry
-; GFX11-FAKE16-NEXT: s_mov_b64 s[0:1], src_private_base
-; GFX11-FAKE16-NEXT: v_add_co_u32 v0, s0, -1, 0
-; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1)
-; GFX11-FAKE16-NEXT: v_add_co_ci_u32_e64 v1, null, -1, s1, s0
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v0, -1
+; GFX11-FAKE16-NEXT: v_mov_b32_e32 v1, -1
; GFX11-FAKE16-NEXT: s_mov_b32 s0, 0
; GFX11-FAKE16-NEXT: flat_load_u8 v0, v[0:1]
; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
diff --git a/llvm/test/CodeGen/AMDGPU/remove-incompatible-extended-image-insts.ll b/llvm/test/CodeGen/AMDGPU/remove-incompatible-extended-image-insts.ll
index c899e353d8052..7868a338e200a 100644
--- a/llvm/test/CodeGen/AMDGPU/remove-incompatible-extended-image-insts.ll
+++ b/llvm/test/CodeGen/AMDGPU/remove-incompatible-extended-image-insts.ll
@@ -22,7 +22,7 @@
]
; EXTIMG: @ConstantExpr = internal global i64 ptrtoint (ptr @needs_extimg to i64)
-; NOEXTIMG: @ConstantExpr = internal global i64 0
+; NOEXTIMG: @ConstantExpr = internal global i64 ptrtoint (ptr null to i64)
@ConstantExpr = internal global i64 ptrtoint (ptr @needs_extimg to i64)
diff --git a/llvm/test/CodeGen/AMDGPU/remove-incompatible-functions.ll b/llvm/test/CodeGen/AMDGPU/remove-incompatible-functions.ll
index a4edcaca00e37..89516106254f9 100644
--- a/llvm/test/CodeGen/AMDGPU/remove-incompatible-functions.ll
+++ b/llvm/test/CodeGen/AMDGPU/remove-incompatible-functions.ll
@@ -119,7 +119,7 @@
ptr @needs_dot8_insts
]
-; GFX7: @ConstantExpr = internal global i64 0
+; GFX7: @ConstantExpr = internal global i64 ptrtoint (ptr null to i64)
@ConstantExpr = internal global i64 ptrtoint (ptr @needs_dpp to i64)
define void @needs_dpp(ptr %out, ptr %in, i64 %a, i64 %b, i64 %c) #0 {
diff --git a/llvm/test/CodeGen/AMDGPU/remove-incompatible-gws.ll b/llvm/test/CodeGen/AMDGPU/remove-incompatible-gws.ll
index 87304e98c03e7..03066acffb38a 100644
--- a/llvm/test/CodeGen/AMDGPU/remove-incompatible-gws.ll
+++ b/llvm/test/CodeGen/AMDGPU/remove-incompatible-gws.ll
@@ -24,7 +24,7 @@
; COMPATIBLE: @ConstantExpr = internal global i64 ptrtoint (ptr @needs_gws to i64)
-; INCOMPATIBLE: @ConstantExpr = internal global i64 0
+; INCOMPATIBLE: @ConstantExpr = internal global i64 ptrtoint (ptr null to i64)
@ConstantExpr = internal global i64 ptrtoint (ptr @needs_gws to i64)
diff --git a/llvm/test/CodeGen/AMDGPU/remove-incompatible-s-time.ll b/llvm/test/CodeGen/AMDGPU/remove-incompatible-s-time.ll
index d182d35cf9d08..27158acee47c2 100644
--- a/llvm/test/CodeGen/AMDGPU/remove-incompatible-s-time.ll
+++ b/llvm/test/CodeGen/AMDGPU/remove-incompatible-s-time.ll
@@ -33,11 +33,11 @@
]
; REALTIME: @ConstantExpr0 = internal global i64 ptrtoint (ptr @needs_s_memrealtime to i64)
-; NOREALTIME: @ConstantExpr0 = internal global i64 0
+; NOREALTIME: @ConstantExpr0 = internal global i64 ptrtoint (ptr null to i64)
@ConstantExpr0 = internal global i64 ptrtoint (ptr @needs_s_memrealtime to i64)
; MEMTIME: @ConstantExpr1 = internal global i64 ptrtoint (ptr @needs_s_memtime to i64)
-; NOMEMTIME: @ConstantExpr1 = internal global i64 0
+; NOMEMTIME: @ConstantExpr1 = internal global i64 ptrtoint (ptr null to i64)
@ConstantExpr1 = internal global i64 ptrtoint (ptr @needs_s_memtime to i64)
; REALTIME: define i64 @needs_s_memrealtime
diff --git a/llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr-combine-sel.ll b/llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr-combine-sel.ll
index 883a6b70a5a6d..d056eee8e101a 100644
--- a/llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr-combine-sel.ll
+++ b/llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr-combine-sel.ll
@@ -21,7 +21,8 @@ define amdgpu_kernel void @widget(ptr addrspace(1) %arg, i1 %arg1, ptr addrspace
; CHECK-NEXT: s_cbranch_vccz .LBB0_2
; CHECK-NEXT: ; %bb.1: ; %bb19
; CHECK-NEXT: v_mov_b32_e32 v1, 0
-; CHECK-NEXT: ds_write_b32 v1, v1
+; CHECK-NEXT: v_mov_b32_e32 v2, -1
+; CHECK-NEXT: ds_write_b32 v2, v1
; CHECK-NEXT: .LBB0_2: ; %bb20
; CHECK-NEXT: s_mov_b32 s0, exec_lo
; CHECK-NEXT: s_waitcnt vmcnt(0)
diff --git a/llvm/test/CodeGen/AMDGPU/setcc-multiple-use.ll b/llvm/test/CodeGen/AMDGPU/setcc-multiple-use.ll
index ace4907670d37..4bf798e661661 100644
--- a/llvm/test/CodeGen/AMDGPU/setcc-multiple-use.ll
+++ b/llvm/test/CodeGen/AMDGPU/setcc-multiple-use.ll
@@ -11,7 +11,7 @@ define i32 @f() {
; CHECK-LABEL: f:
; CHECK: ; %bb.0: ; %bb
; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; CHECK-NEXT: v_mov_b32_e32 v0, 0
+; CHECK-NEXT: v_mov_b32_e32 v0, -1
; CHECK-NEXT: ds_read_b32 v0, v0
; CHECK-NEXT: s_waitcnt lgkmcnt(0)
; CHECK-NEXT: v_cmp_eq_u32_e32 vcc_lo, 0, v0
diff --git a/llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll b/llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
index d2394bab82c77..2bccd0c339638 100644
--- a/llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
+++ b/llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
@@ -390,19 +390,19 @@ define void @func_stackrestore_null() {
; WAVE32-OPT-LABEL: func_stackrestore_null:
; WAVE32-OPT: ; %bb.0:
; WAVE32-OPT-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; WAVE32-OPT-NEXT: s_mov_b32 s32, 0
+; WAVE32-OPT-NEXT: s_movk_i32 s32, 0xffe0
; WAVE32-OPT-NEXT: s_setpc_b64 s[30:31]
;
; WAVE64-OPT-LABEL: func_stackrestore_null:
; WAVE64-OPT: ; %bb.0:
; WAVE64-OPT-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; WAVE64-OPT-NEXT: s_mov_b32 s32, 0
+; WAVE64-OPT-NEXT: s_movk_i32 s32, 0xffc0
; WAVE64-OPT-NEXT: s_setpc_b64 s[30:31]
;
; WAVE32-O0-LABEL: func_stackrestore_null:
; WAVE32-O0: ; %bb.0:
; WAVE32-O0-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; WAVE32-O0-NEXT: s_mov_b32 s4, 0
+; WAVE32-O0-NEXT: s_mov_b32 s4, -1
; WAVE32-O0-NEXT: s_lshl_b32 s4, s4, 5
; WAVE32-O0-NEXT: s_mov_b32 s32, s4
; WAVE32-O0-NEXT: s_setpc_b64 s[30:31]
@@ -410,7 +410,7 @@ define void @func_stackrestore_null() {
; WAVE64-O0-LABEL: func_stackrestore_null:
; WAVE64-O0: ; %bb.0:
; WAVE64-O0-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; WAVE64-O0-NEXT: s_mov_b32 s4, 0
+; WAVE64-O0-NEXT: s_mov_b32 s4, -1
; WAVE64-O0-NEXT: s_lshl_b32 s4, s4, 6
; WAVE64-O0-NEXT: s_mov_b32 s32, s4
; WAVE64-O0-NEXT: s_setpc_b64 s[30:31]
@@ -418,7 +418,7 @@ define void @func_stackrestore_null() {
; WAVE32-WWM-PREALLOC-LABEL: func_stackrestore_null:
; WAVE32-WWM-PREALLOC: ; %bb.0:
; WAVE32-WWM-PREALLOC-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; WAVE32-WWM-PREALLOC-NEXT: s_mov_b32 s4, 0
+; WAVE32-WWM-PREALLOC-NEXT: s_mov_b32 s4, -1
; WAVE32-WWM-PREALLOC-NEXT: s_lshl_b32 s4, s4, 5
; WAVE32-WWM-PREALLOC-NEXT: s_mov_b32 s32, s4
; WAVE32-WWM-PREALLOC-NEXT: s_setpc_b64 s[30:31]
diff --git a/llvm/test/CodeGen/AMDGPU/swdev282079.ll b/llvm/test/CodeGen/AMDGPU/swdev282079.ll
index 6ba972ae6f5e4..a350e14b0213c 100644
--- a/llvm/test/CodeGen/AMDGPU/swdev282079.ll
+++ b/llvm/test/CodeGen/AMDGPU/swdev282079.ll
@@ -20,9 +20,7 @@ define protected amdgpu_kernel void @foo(ptr addrspace(1) %arg, ptr addrspace(1)
; CHECK-NEXT: v_mov_b32_e32 v1, 0
; CHECK-NEXT: s_mov_b32 s32, 0
; CHECK-NEXT: s_swappc_b64 s[30:31], s[18:19]
-; CHECK-NEXT: s_mov_b64 s[4:5], src_private_base
-; CHECK-NEXT: v_mov_b32_e32 v2, 0
-; CHECK-NEXT: v_mov_b32_e32 v3, s5
+; CHECK-NEXT: v_pk_mov_b32 v[2:3], 0, 0
; CHECK-NEXT: flat_load_dwordx2 v[2:3], v[2:3]
; CHECK-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
; CHECK-NEXT: flat_store_dwordx2 v[2:3], v[0:1]
diff --git a/llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.convergencetokens.ll b/llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.convergencetokens.ll
index 75f3b6ff8917a..27f5dff18027d 100644
--- a/llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.convergencetokens.ll
+++ b/llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.convergencetokens.ll
@@ -22,7 +22,7 @@ define void @tail_call_i64_inreg_uniform_in_vgpr_convergence_tokens() #0 {
; CHECK-NEXT: [[COPY7:%[0-9]+]]:sgpr_64 = COPY $sgpr6_sgpr7
; CHECK-NEXT: [[COPY8:%[0-9]+]]:sgpr_64 = COPY $sgpr4_sgpr5
; CHECK-NEXT: [[CONVERGENCECTRL_ENTRY:%[0-9]+]]:sreg_64 = CONVERGENCECTRL_ENTRY
- ; CHECK-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
+ ; CHECK-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 -1, implicit $exec
; CHECK-NEXT: [[DS_READ_B64_gfx9_:%[0-9]+]]:vreg_64 = DS_READ_B64_gfx9 killed [[V_MOV_B32_e32_]], 0, 0, implicit $exec :: (load (s64) from `ptr addrspace(3) null`, addrspace 3)
; CHECK-NEXT: [[COPY9:%[0-9]+]]:vgpr_32 = COPY [[DS_READ_B64_gfx9_]].sub1
; CHECK-NEXT: [[COPY10:%[0-9]+]]:vgpr_32 = COPY [[DS_READ_B64_gfx9_]].sub0
diff --git a/llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.ll b/llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.ll
index 2b1f6389f542b..d68afc15088cc 100644
--- a/llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.ll
+++ b/llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.ll
@@ -56,7 +56,7 @@ define void @tail_call_i64_inreg_uniform_in_vgpr() {
; CHECK-LABEL: tail_call_i64_inreg_uniform_in_vgpr:
; CHECK: ; %bb.0:
; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; CHECK-NEXT: v_mov_b32_e32 v0, 0
+; CHECK-NEXT: v_mov_b32_e32 v0, -1
; CHECK-NEXT: ds_read_b64 v[0:1], v0
; CHECK-NEXT: s_getpc_b64 s[16:17]
; CHECK-NEXT: s_add_u32 s16, s16, void_func_i64_inreg at gotpcrel32@lo+4
diff --git a/llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.convergencetokens.ll b/llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.convergencetokens.ll
index 662e751eeca1d..9870fb4905215 100644
--- a/llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.convergencetokens.ll
+++ b/llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.convergencetokens.ll
@@ -21,7 +21,7 @@ define void @tail_call_uniform_vgpr_value_convergence_tokens() #0 {
; CHECK-NEXT: [[COPY7:%[0-9]+]]:sgpr_64 = COPY $sgpr6_sgpr7
; CHECK-NEXT: [[COPY8:%[0-9]+]]:sgpr_64 = COPY $sgpr4_sgpr5
; CHECK-NEXT: [[CONVERGENCECTRL_ENTRY:%[0-9]+]]:sreg_64 = CONVERGENCECTRL_ENTRY
- ; CHECK-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
+ ; CHECK-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 -1, implicit $exec
; CHECK-NEXT: [[DS_READ_B64_gfx9_:%[0-9]+]]:vreg_64 = DS_READ_B64_gfx9 killed [[V_MOV_B32_e32_]], 0, 0, implicit $exec :: (load (s64) from `ptr addrspace(3) null`, addrspace 3)
; CHECK-NEXT: [[COPY9:%[0-9]+]]:vgpr_32 = COPY [[DS_READ_B64_gfx9_]].sub1
; CHECK-NEXT: CONVERGENCECTRL_GLUE [[CONVERGENCECTRL_ENTRY]]
diff --git a/llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.ll b/llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.ll
index 4068ea75002b6..22e78b7581b55 100644
--- a/llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.ll
+++ b/llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.ll
@@ -7,7 +7,7 @@ define void @tail_call_uniform_vgpr_value() {
; CHECK-LABEL: tail_call_uniform_vgpr_value:
; CHECK: ; %bb.0:
; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; CHECK-NEXT: v_mov_b32_e32 v0, 0
+; CHECK-NEXT: v_mov_b32_e32 v0, -1
; CHECK-NEXT: ds_read_b64 v[0:1], v0
; CHECK-NEXT: s_waitcnt lgkmcnt(0)
; CHECK-NEXT: v_readfirstlane_b32 s17, v1
diff --git a/llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll b/llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
index e7bc851817f3a..d2d16cbf71ce3 100644
--- a/llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
+++ b/llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
@@ -70,12 +70,12 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS1-NEXT: s_xor_b64 s[4:5], s[4:5], -1
; GLOBALNESS1-NEXT: s_mov_b64 s[38:39], s[8:9]
; GLOBALNESS1-NEXT: v_cmp_ne_u32_e64 s[8:9], 1, v1
-; GLOBALNESS1-NEXT: ; implicit-def: $vgpr57 : SGPR spill to VGPR lane
+; GLOBALNESS1-NEXT: ; implicit-def: $vgpr60 : SGPR spill to VGPR lane
; GLOBALNESS1-NEXT: v_cmp_ne_u32_e64 s[66:67], 1, v0
; GLOBALNESS1-NEXT: v_cndmask_b32_e64 v0, 0, 1, s[4:5]
-; GLOBALNESS1-NEXT: v_writelane_b32 v57, s8, 0
+; GLOBALNESS1-NEXT: v_writelane_b32 v60, s8, 0
; GLOBALNESS1-NEXT: v_cmp_ne_u32_e64 s[68:69], 1, v0
-; GLOBALNESS1-NEXT: v_writelane_b32 v57, s9, 1
+; GLOBALNESS1-NEXT: v_writelane_b32 v60, s9, 1
; GLOBALNESS1-NEXT: v_cmp_ne_u32_e64 s[70:71], 1, v3
; GLOBALNESS1-NEXT: v_mov_b32_e32 v46, 0x80
; GLOBALNESS1-NEXT: s_mov_b32 s82, s16
@@ -83,6 +83,7 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS1-NEXT: s_mov_b32 s84, s14
; GLOBALNESS1-NEXT: s_mov_b64 s[34:35], s[10:11]
; GLOBALNESS1-NEXT: v_mov_b32_e32 v47, 0
+; GLOBALNESS1-NEXT: v_mov_b32_e32 v40, -1
; GLOBALNESS1-NEXT: v_mov_b32_e32 v43, v42
; GLOBALNESS1-NEXT: s_mov_b32 s32, 0
; GLOBALNESS1-NEXT: ; implicit-def: $vgpr58_vgpr59
@@ -94,42 +95,42 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS1-NEXT: v_cmp_eq_u32_e32 vcc, 1, v2
; GLOBALNESS1-NEXT: v_cmp_ne_u32_e64 s[4:5], 1, v0
; GLOBALNESS1-NEXT: v_cndmask_b32_e64 v3, 0, 1, vcc
-; GLOBALNESS1-NEXT: v_writelane_b32 v57, s4, 2
+; GLOBALNESS1-NEXT: v_writelane_b32 v60, s4, 2
; GLOBALNESS1-NEXT: v_cmp_eq_u32_e32 vcc, 0, v2
-; GLOBALNESS1-NEXT: v_writelane_b32 v57, s5, 3
+; GLOBALNESS1-NEXT: v_writelane_b32 v60, s5, 3
; GLOBALNESS1-NEXT: v_cmp_ne_u32_e64 s[4:5], 1, v3
; GLOBALNESS1-NEXT: v_cndmask_b32_e64 v2, 0, 1, vcc
-; GLOBALNESS1-NEXT: v_writelane_b32 v57, s4, 4
-; GLOBALNESS1-NEXT: v_writelane_b32 v57, s5, 5
+; GLOBALNESS1-NEXT: v_writelane_b32 v60, s4, 4
+; GLOBALNESS1-NEXT: v_writelane_b32 v60, s5, 5
; GLOBALNESS1-NEXT: v_cmp_ne_u32_e64 s[4:5], 1, v2
-; GLOBALNESS1-NEXT: v_writelane_b32 v57, s4, 6
-; GLOBALNESS1-NEXT: v_writelane_b32 v57, s5, 7
+; GLOBALNESS1-NEXT: v_writelane_b32 v60, s4, 6
+; GLOBALNESS1-NEXT: v_writelane_b32 v60, s5, 7
; GLOBALNESS1-NEXT: v_cmp_ne_u32_e64 s[80:81], 1, v1
-; GLOBALNESS1-NEXT: v_writelane_b32 v57, s70, 8
-; GLOBALNESS1-NEXT: v_writelane_b32 v57, s71, 9
+; GLOBALNESS1-NEXT: v_writelane_b32 v60, s70, 8
+; GLOBALNESS1-NEXT: v_writelane_b32 v60, s71, 9
; GLOBALNESS1-NEXT: s_branch .LBB1_4
; GLOBALNESS1-NEXT: .LBB1_1: ; %bb70.i
; GLOBALNESS1-NEXT: ; in Loop: Header=BB1_4 Depth=1
-; GLOBALNESS1-NEXT: v_readlane_b32 s6, v57, 6
-; GLOBALNESS1-NEXT: v_readlane_b32 s7, v57, 7
+; GLOBALNESS1-NEXT: v_readlane_b32 s6, v60, 6
+; GLOBALNESS1-NEXT: v_readlane_b32 s7, v60, 7
; GLOBALNESS1-NEXT: s_and_b64 vcc, exec, s[6:7]
-; GLOBALNESS1-NEXT: s_cbranch_vccz .LBB1_3
+; GLOBALNESS1-NEXT: s_cbranch_vccz .LBB1_28
; GLOBALNESS1-NEXT: .LBB1_2: ; %Flow15
; GLOBALNESS1-NEXT: ; in Loop: Header=BB1_4 Depth=1
; GLOBALNESS1-NEXT: s_or_b64 exec, exec, s[4:5]
-; GLOBALNESS1-NEXT: v_pk_mov_b32 v[58:59], v[0:1], v[0:1] op_sel:[0,1]
-; GLOBALNESS1-NEXT: s_branch .LBB1_4
-; GLOBALNESS1-NEXT: .LBB1_3: ; %bb73.i
+; GLOBALNESS1-NEXT: s_mov_b64 s[6:7], 0
+; GLOBALNESS1-NEXT: .LBB1_3: ; %Flow28
; GLOBALNESS1-NEXT: ; in Loop: Header=BB1_4 Depth=1
-; GLOBALNESS1-NEXT: global_store_dwordx2 v[44:45], v[42:43], off
-; GLOBALNESS1-NEXT: s_branch .LBB1_2
+; GLOBALNESS1-NEXT: s_and_b64 vcc, exec, s[6:7]
+; GLOBALNESS1-NEXT: v_pk_mov_b32 v[58:59], v[0:1], v[0:1] op_sel:[0,1]
+; GLOBALNESS1-NEXT: s_cbranch_vccnz .LBB1_29
; GLOBALNESS1-NEXT: .LBB1_4: ; %bb5
; GLOBALNESS1-NEXT: ; =>This Loop Header: Depth=1
; GLOBALNESS1-NEXT: ; Child Loop BB1_16 Depth 2
-; GLOBALNESS1-NEXT: flat_load_dword v40, v[46:47]
-; GLOBALNESS1-NEXT: s_add_u32 s8, s38, 40
-; GLOBALNESS1-NEXT: buffer_store_dword v42, off, s[0:3], 0
; GLOBALNESS1-NEXT: flat_load_dword v56, v[46:47]
+; GLOBALNESS1-NEXT: s_add_u32 s8, s38, 40
+; GLOBALNESS1-NEXT: buffer_store_dword v42, v40, s[0:3], 0 offen
+; GLOBALNESS1-NEXT: flat_load_dword v57, v[46:47]
; GLOBALNESS1-NEXT: s_addc_u32 s9, s39, 0
; GLOBALNESS1-NEXT: s_getpc_b64 s[4:5]
; GLOBALNESS1-NEXT: s_add_u32 s4, s4, wobble at gotpcrel32@lo+4
@@ -171,8 +172,10 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS1-NEXT: s_cselect_b64 s[4:5], -1, 0
; GLOBALNESS1-NEXT: .LBB1_9: ; %Flow25
; GLOBALNESS1-NEXT: ; in Loop: Header=BB1_4 Depth=1
+; GLOBALNESS1-NEXT: s_mov_b64 s[6:7], -1
; GLOBALNESS1-NEXT: s_and_b64 vcc, exec, s[4:5]
-; GLOBALNESS1-NEXT: s_cbranch_vccz .LBB1_24
+; GLOBALNESS1-NEXT: ; implicit-def: $vgpr0_vgpr1
+; GLOBALNESS1-NEXT: s_cbranch_vccz .LBB1_3
; GLOBALNESS1-NEXT: ; %bb.10: ; %baz.exit.i
; GLOBALNESS1-NEXT: ; in Loop: Header=BB1_4 Depth=1
; GLOBALNESS1-NEXT: flat_load_dword v0, v[44:45]
@@ -181,14 +184,14 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS1-NEXT: v_mov_b32_e32 v0, 0
; GLOBALNESS1-NEXT: v_mov_b32_e32 v1, 0x3ff00000
; GLOBALNESS1-NEXT: s_and_saveexec_b64 s[52:53], s[86:87]
-; GLOBALNESS1-NEXT: s_cbranch_execz .LBB1_26
+; GLOBALNESS1-NEXT: s_cbranch_execz .LBB1_25
; GLOBALNESS1-NEXT: ; %bb.11: ; %bb33.i
; GLOBALNESS1-NEXT: ; in Loop: Header=BB1_4 Depth=1
; GLOBALNESS1-NEXT: global_load_dwordx2 v[0:1], v[44:45], off
-; GLOBALNESS1-NEXT: v_writelane_b32 v57, s8, 10
-; GLOBALNESS1-NEXT: v_writelane_b32 v57, s9, 11
-; GLOBALNESS1-NEXT: v_readlane_b32 s4, v57, 2
-; GLOBALNESS1-NEXT: v_readlane_b32 s5, v57, 3
+; GLOBALNESS1-NEXT: v_writelane_b32 v60, s8, 10
+; GLOBALNESS1-NEXT: v_writelane_b32 v60, s9, 11
+; GLOBALNESS1-NEXT: v_readlane_b32 s4, v60, 2
+; GLOBALNESS1-NEXT: v_readlane_b32 s5, v60, 3
; GLOBALNESS1-NEXT: s_and_b64 vcc, exec, s[4:5]
; GLOBALNESS1-NEXT: s_cbranch_vccnz .LBB1_13
; GLOBALNESS1-NEXT: ; %bb.12: ; %bb39.i
@@ -196,8 +199,8 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS1-NEXT: global_store_dwordx2 v[44:45], v[42:43], off
; GLOBALNESS1-NEXT: .LBB1_13: ; %bb44.lr.ph.i
; GLOBALNESS1-NEXT: ; in Loop: Header=BB1_4 Depth=1
-; GLOBALNESS1-NEXT: v_cmp_ne_u32_e32 vcc, 0, v56
-; GLOBALNESS1-NEXT: v_cndmask_b32_e32 v2, 0, v40, vcc
+; GLOBALNESS1-NEXT: v_cmp_ne_u32_e32 vcc, 0, v57
+; GLOBALNESS1-NEXT: v_cndmask_b32_e32 v2, 0, v56, vcc
; GLOBALNESS1-NEXT: s_waitcnt vmcnt(0)
; GLOBALNESS1-NEXT: v_cmp_nlt_f64_e32 vcc, 0, v[0:1]
; GLOBALNESS1-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc
@@ -210,7 +213,7 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS1-NEXT: .LBB1_15: ; %bb63.i
; GLOBALNESS1-NEXT: ; in Loop: Header=BB1_16 Depth=2
; GLOBALNESS1-NEXT: s_and_b64 vcc, exec, s[68:69]
-; GLOBALNESS1-NEXT: s_cbranch_vccz .LBB1_25
+; GLOBALNESS1-NEXT: s_cbranch_vccz .LBB1_24
; GLOBALNESS1-NEXT: .LBB1_16: ; %bb44.i
; GLOBALNESS1-NEXT: ; Parent Loop BB1_4 Depth=1
; GLOBALNESS1-NEXT: ; => This Inner Loop Header: Depth=2
@@ -226,8 +229,8 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS1-NEXT: s_cbranch_vccnz .LBB1_21
; GLOBALNESS1-NEXT: ; %bb.19: ; %bb3.i.i
; GLOBALNESS1-NEXT: ; in Loop: Header=BB1_16 Depth=2
-; GLOBALNESS1-NEXT: v_readlane_b32 s4, v57, 0
-; GLOBALNESS1-NEXT: v_readlane_b32 s5, v57, 1
+; GLOBALNESS1-NEXT: v_readlane_b32 s4, v60, 0
+; GLOBALNESS1-NEXT: v_readlane_b32 s5, v60, 1
; GLOBALNESS1-NEXT: s_and_b64 vcc, exec, s[4:5]
; GLOBALNESS1-NEXT: s_cbranch_vccnz .LBB1_21
; GLOBALNESS1-NEXT: ; %bb.20: ; %bb6.i.i
@@ -271,35 +274,35 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS1-NEXT: ; in Loop: Header=BB1_16 Depth=2
; GLOBALNESS1-NEXT: global_store_dwordx2 v[44:45], v[42:43], off
; GLOBALNESS1-NEXT: s_branch .LBB1_14
-; GLOBALNESS1-NEXT: .LBB1_24: ; in Loop: Header=BB1_4 Depth=1
-; GLOBALNESS1-NEXT: ; implicit-def: $vgpr58_vgpr59
-; GLOBALNESS1-NEXT: s_cbranch_execz .LBB1_4
-; GLOBALNESS1-NEXT: s_branch .LBB1_29
-; GLOBALNESS1-NEXT: .LBB1_25: ; %Flow23
+; GLOBALNESS1-NEXT: .LBB1_24: ; %Flow23
; GLOBALNESS1-NEXT: ; in Loop: Header=BB1_4 Depth=1
; GLOBALNESS1-NEXT: s_load_dwordx4 s[4:7], s[38:39], 0x0
-; GLOBALNESS1-NEXT: v_readlane_b32 s70, v57, 8
-; GLOBALNESS1-NEXT: v_readlane_b32 s8, v57, 10
+; GLOBALNESS1-NEXT: v_readlane_b32 s70, v60, 8
+; GLOBALNESS1-NEXT: v_readlane_b32 s8, v60, 10
; GLOBALNESS1-NEXT: v_pk_mov_b32 v[0:1], 0, 0
-; GLOBALNESS1-NEXT: v_readlane_b32 s71, v57, 9
+; GLOBALNESS1-NEXT: v_readlane_b32 s71, v60, 9
; GLOBALNESS1-NEXT: s_waitcnt lgkmcnt(0)
; GLOBALNESS1-NEXT: s_mov_b32 s55, s7
-; GLOBALNESS1-NEXT: v_readlane_b32 s9, v57, 11
-; GLOBALNESS1-NEXT: .LBB1_26: ; %Flow24
+; GLOBALNESS1-NEXT: v_readlane_b32 s9, v60, 11
+; GLOBALNESS1-NEXT: .LBB1_25: ; %Flow24
; GLOBALNESS1-NEXT: ; in Loop: Header=BB1_4 Depth=1
; GLOBALNESS1-NEXT: s_or_b64 exec, exec, s[52:53]
; GLOBALNESS1-NEXT: s_and_saveexec_b64 s[4:5], s[86:87]
; GLOBALNESS1-NEXT: s_cbranch_execz .LBB1_2
-; GLOBALNESS1-NEXT: ; %bb.27: ; %bb67.i
+; GLOBALNESS1-NEXT: ; %bb.26: ; %bb67.i
; GLOBALNESS1-NEXT: ; in Loop: Header=BB1_4 Depth=1
-; GLOBALNESS1-NEXT: v_readlane_b32 s6, v57, 4
-; GLOBALNESS1-NEXT: v_readlane_b32 s7, v57, 5
+; GLOBALNESS1-NEXT: v_readlane_b32 s6, v60, 4
+; GLOBALNESS1-NEXT: v_readlane_b32 s7, v60, 5
; GLOBALNESS1-NEXT: s_and_b64 vcc, exec, s[6:7]
; GLOBALNESS1-NEXT: s_cbranch_vccnz .LBB1_1
-; GLOBALNESS1-NEXT: ; %bb.28: ; %bb69.i
+; GLOBALNESS1-NEXT: ; %bb.27: ; %bb69.i
; GLOBALNESS1-NEXT: ; in Loop: Header=BB1_4 Depth=1
; GLOBALNESS1-NEXT: global_store_dwordx2 v[44:45], v[42:43], off
; GLOBALNESS1-NEXT: s_branch .LBB1_1
+; GLOBALNESS1-NEXT: .LBB1_28: ; %bb73.i
+; GLOBALNESS1-NEXT: ; in Loop: Header=BB1_4 Depth=1
+; GLOBALNESS1-NEXT: global_store_dwordx2 v[44:45], v[42:43], off
+; GLOBALNESS1-NEXT: s_branch .LBB1_2
; GLOBALNESS1-NEXT: .LBB1_29: ; %loop.exit.guard
; GLOBALNESS1-NEXT: s_andn2_b64 vcc, exec, s[8:9]
; GLOBALNESS1-NEXT: s_mov_b64 s[4:5], -1
@@ -379,12 +382,12 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS0-NEXT: s_xor_b64 s[4:5], s[4:5], -1
; GLOBALNESS0-NEXT: s_mov_b64 s[38:39], s[8:9]
; GLOBALNESS0-NEXT: v_cmp_ne_u32_e64 s[8:9], 1, v1
-; GLOBALNESS0-NEXT: ; implicit-def: $vgpr57 : SGPR spill to VGPR lane
+; GLOBALNESS0-NEXT: ; implicit-def: $vgpr60 : SGPR spill to VGPR lane
; GLOBALNESS0-NEXT: v_cmp_ne_u32_e64 s[66:67], 1, v0
; GLOBALNESS0-NEXT: v_cndmask_b32_e64 v0, 0, 1, s[4:5]
-; GLOBALNESS0-NEXT: v_writelane_b32 v57, s8, 0
+; GLOBALNESS0-NEXT: v_writelane_b32 v60, s8, 0
; GLOBALNESS0-NEXT: v_cmp_ne_u32_e64 s[68:69], 1, v0
-; GLOBALNESS0-NEXT: v_writelane_b32 v57, s9, 1
+; GLOBALNESS0-NEXT: v_writelane_b32 v60, s9, 1
; GLOBALNESS0-NEXT: v_cmp_ne_u32_e64 s[84:85], 1, v3
; GLOBALNESS0-NEXT: v_mov_b32_e32 v46, 0x80
; GLOBALNESS0-NEXT: s_mov_b32 s70, s16
@@ -392,6 +395,7 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS0-NEXT: s_mov_b32 s82, s14
; GLOBALNESS0-NEXT: s_mov_b64 s[34:35], s[10:11]
; GLOBALNESS0-NEXT: v_mov_b32_e32 v47, 0
+; GLOBALNESS0-NEXT: v_mov_b32_e32 v40, -1
; GLOBALNESS0-NEXT: v_mov_b32_e32 v43, v42
; GLOBALNESS0-NEXT: s_mov_b32 s32, 0
; GLOBALNESS0-NEXT: ; implicit-def: $vgpr58_vgpr59
@@ -403,42 +407,42 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS0-NEXT: v_cmp_eq_u32_e32 vcc, 1, v2
; GLOBALNESS0-NEXT: v_cmp_ne_u32_e64 s[4:5], 1, v0
; GLOBALNESS0-NEXT: v_cndmask_b32_e64 v3, 0, 1, vcc
-; GLOBALNESS0-NEXT: v_writelane_b32 v57, s4, 2
+; GLOBALNESS0-NEXT: v_writelane_b32 v60, s4, 2
; GLOBALNESS0-NEXT: v_cmp_eq_u32_e32 vcc, 0, v2
-; GLOBALNESS0-NEXT: v_writelane_b32 v57, s5, 3
+; GLOBALNESS0-NEXT: v_writelane_b32 v60, s5, 3
; GLOBALNESS0-NEXT: v_cmp_ne_u32_e64 s[4:5], 1, v3
; GLOBALNESS0-NEXT: v_cndmask_b32_e64 v2, 0, 1, vcc
-; GLOBALNESS0-NEXT: v_writelane_b32 v57, s4, 4
-; GLOBALNESS0-NEXT: v_writelane_b32 v57, s5, 5
+; GLOBALNESS0-NEXT: v_writelane_b32 v60, s4, 4
+; GLOBALNESS0-NEXT: v_writelane_b32 v60, s5, 5
; GLOBALNESS0-NEXT: v_cmp_ne_u32_e64 s[4:5], 1, v2
-; GLOBALNESS0-NEXT: v_writelane_b32 v57, s4, 6
-; GLOBALNESS0-NEXT: v_writelane_b32 v57, s5, 7
+; GLOBALNESS0-NEXT: v_writelane_b32 v60, s4, 6
+; GLOBALNESS0-NEXT: v_writelane_b32 v60, s5, 7
; GLOBALNESS0-NEXT: v_cmp_ne_u32_e64 s[80:81], 1, v1
-; GLOBALNESS0-NEXT: v_writelane_b32 v57, s84, 8
-; GLOBALNESS0-NEXT: v_writelane_b32 v57, s85, 9
+; GLOBALNESS0-NEXT: v_writelane_b32 v60, s84, 8
+; GLOBALNESS0-NEXT: v_writelane_b32 v60, s85, 9
; GLOBALNESS0-NEXT: s_branch .LBB1_4
; GLOBALNESS0-NEXT: .LBB1_1: ; %bb70.i
; GLOBALNESS0-NEXT: ; in Loop: Header=BB1_4 Depth=1
-; GLOBALNESS0-NEXT: v_readlane_b32 s6, v57, 6
-; GLOBALNESS0-NEXT: v_readlane_b32 s7, v57, 7
+; GLOBALNESS0-NEXT: v_readlane_b32 s6, v60, 6
+; GLOBALNESS0-NEXT: v_readlane_b32 s7, v60, 7
; GLOBALNESS0-NEXT: s_and_b64 vcc, exec, s[6:7]
-; GLOBALNESS0-NEXT: s_cbranch_vccz .LBB1_3
+; GLOBALNESS0-NEXT: s_cbranch_vccz .LBB1_28
; GLOBALNESS0-NEXT: .LBB1_2: ; %Flow15
; GLOBALNESS0-NEXT: ; in Loop: Header=BB1_4 Depth=1
; GLOBALNESS0-NEXT: s_or_b64 exec, exec, s[4:5]
-; GLOBALNESS0-NEXT: v_pk_mov_b32 v[58:59], v[0:1], v[0:1] op_sel:[0,1]
-; GLOBALNESS0-NEXT: s_branch .LBB1_4
-; GLOBALNESS0-NEXT: .LBB1_3: ; %bb73.i
+; GLOBALNESS0-NEXT: s_mov_b64 s[6:7], 0
+; GLOBALNESS0-NEXT: .LBB1_3: ; %Flow28
; GLOBALNESS0-NEXT: ; in Loop: Header=BB1_4 Depth=1
-; GLOBALNESS0-NEXT: global_store_dwordx2 v[44:45], v[42:43], off
-; GLOBALNESS0-NEXT: s_branch .LBB1_2
+; GLOBALNESS0-NEXT: s_and_b64 vcc, exec, s[6:7]
+; GLOBALNESS0-NEXT: v_pk_mov_b32 v[58:59], v[0:1], v[0:1] op_sel:[0,1]
+; GLOBALNESS0-NEXT: s_cbranch_vccnz .LBB1_29
; GLOBALNESS0-NEXT: .LBB1_4: ; %bb5
; GLOBALNESS0-NEXT: ; =>This Loop Header: Depth=1
; GLOBALNESS0-NEXT: ; Child Loop BB1_16 Depth 2
-; GLOBALNESS0-NEXT: flat_load_dword v40, v[46:47]
-; GLOBALNESS0-NEXT: s_add_u32 s8, s38, 40
-; GLOBALNESS0-NEXT: buffer_store_dword v42, off, s[0:3], 0
; GLOBALNESS0-NEXT: flat_load_dword v56, v[46:47]
+; GLOBALNESS0-NEXT: s_add_u32 s8, s38, 40
+; GLOBALNESS0-NEXT: buffer_store_dword v42, v40, s[0:3], 0 offen
+; GLOBALNESS0-NEXT: flat_load_dword v57, v[46:47]
; GLOBALNESS0-NEXT: s_addc_u32 s9, s39, 0
; GLOBALNESS0-NEXT: s_getpc_b64 s[4:5]
; GLOBALNESS0-NEXT: s_add_u32 s4, s4, wobble at gotpcrel32@lo+4
@@ -480,8 +484,10 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS0-NEXT: s_cselect_b64 s[4:5], -1, 0
; GLOBALNESS0-NEXT: .LBB1_9: ; %Flow25
; GLOBALNESS0-NEXT: ; in Loop: Header=BB1_4 Depth=1
+; GLOBALNESS0-NEXT: s_mov_b64 s[6:7], -1
; GLOBALNESS0-NEXT: s_and_b64 vcc, exec, s[4:5]
-; GLOBALNESS0-NEXT: s_cbranch_vccz .LBB1_24
+; GLOBALNESS0-NEXT: ; implicit-def: $vgpr0_vgpr1
+; GLOBALNESS0-NEXT: s_cbranch_vccz .LBB1_3
; GLOBALNESS0-NEXT: ; %bb.10: ; %baz.exit.i
; GLOBALNESS0-NEXT: ; in Loop: Header=BB1_4 Depth=1
; GLOBALNESS0-NEXT: flat_load_dword v0, v[44:45]
@@ -490,14 +496,14 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS0-NEXT: v_mov_b32_e32 v0, 0
; GLOBALNESS0-NEXT: v_mov_b32_e32 v1, 0x3ff00000
; GLOBALNESS0-NEXT: s_and_saveexec_b64 s[52:53], s[86:87]
-; GLOBALNESS0-NEXT: s_cbranch_execz .LBB1_26
+; GLOBALNESS0-NEXT: s_cbranch_execz .LBB1_25
; GLOBALNESS0-NEXT: ; %bb.11: ; %bb33.i
; GLOBALNESS0-NEXT: ; in Loop: Header=BB1_4 Depth=1
; GLOBALNESS0-NEXT: global_load_dwordx2 v[0:1], v[44:45], off
-; GLOBALNESS0-NEXT: v_writelane_b32 v57, s8, 10
-; GLOBALNESS0-NEXT: v_writelane_b32 v57, s9, 11
-; GLOBALNESS0-NEXT: v_readlane_b32 s4, v57, 2
-; GLOBALNESS0-NEXT: v_readlane_b32 s5, v57, 3
+; GLOBALNESS0-NEXT: v_writelane_b32 v60, s8, 10
+; GLOBALNESS0-NEXT: v_writelane_b32 v60, s9, 11
+; GLOBALNESS0-NEXT: v_readlane_b32 s4, v60, 2
+; GLOBALNESS0-NEXT: v_readlane_b32 s5, v60, 3
; GLOBALNESS0-NEXT: s_mov_b32 s83, s55
; GLOBALNESS0-NEXT: s_and_b64 vcc, exec, s[4:5]
; GLOBALNESS0-NEXT: s_cbranch_vccnz .LBB1_13
@@ -506,8 +512,8 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS0-NEXT: global_store_dwordx2 v[44:45], v[42:43], off
; GLOBALNESS0-NEXT: .LBB1_13: ; %bb44.lr.ph.i
; GLOBALNESS0-NEXT: ; in Loop: Header=BB1_4 Depth=1
-; GLOBALNESS0-NEXT: v_cmp_ne_u32_e32 vcc, 0, v56
-; GLOBALNESS0-NEXT: v_cndmask_b32_e32 v2, 0, v40, vcc
+; GLOBALNESS0-NEXT: v_cmp_ne_u32_e32 vcc, 0, v57
+; GLOBALNESS0-NEXT: v_cndmask_b32_e32 v2, 0, v56, vcc
; GLOBALNESS0-NEXT: s_waitcnt vmcnt(0)
; GLOBALNESS0-NEXT: v_cmp_nlt_f64_e32 vcc, 0, v[0:1]
; GLOBALNESS0-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc
@@ -520,7 +526,7 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS0-NEXT: .LBB1_15: ; %bb63.i
; GLOBALNESS0-NEXT: ; in Loop: Header=BB1_16 Depth=2
; GLOBALNESS0-NEXT: s_and_b64 vcc, exec, s[68:69]
-; GLOBALNESS0-NEXT: s_cbranch_vccz .LBB1_25
+; GLOBALNESS0-NEXT: s_cbranch_vccz .LBB1_24
; GLOBALNESS0-NEXT: .LBB1_16: ; %bb44.i
; GLOBALNESS0-NEXT: ; Parent Loop BB1_4 Depth=1
; GLOBALNESS0-NEXT: ; => This Inner Loop Header: Depth=2
@@ -536,8 +542,8 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS0-NEXT: s_cbranch_vccnz .LBB1_21
; GLOBALNESS0-NEXT: ; %bb.19: ; %bb3.i.i
; GLOBALNESS0-NEXT: ; in Loop: Header=BB1_16 Depth=2
-; GLOBALNESS0-NEXT: v_readlane_b32 s4, v57, 0
-; GLOBALNESS0-NEXT: v_readlane_b32 s5, v57, 1
+; GLOBALNESS0-NEXT: v_readlane_b32 s4, v60, 0
+; GLOBALNESS0-NEXT: v_readlane_b32 s5, v60, 1
; GLOBALNESS0-NEXT: s_and_b64 vcc, exec, s[4:5]
; GLOBALNESS0-NEXT: s_cbranch_vccnz .LBB1_21
; GLOBALNESS0-NEXT: ; %bb.20: ; %bb6.i.i
@@ -581,33 +587,33 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %arg1.global, i1 %tmp3.i.i, i
; GLOBALNESS0-NEXT: ; in Loop: Header=BB1_16 Depth=2
; GLOBALNESS0-NEXT: global_store_dwordx2 v[44:45], v[42:43], off
; GLOBALNESS0-NEXT: s_branch .LBB1_14
-; GLOBALNESS0-NEXT: .LBB1_24: ; in Loop: Header=BB1_4 Depth=1
-; GLOBALNESS0-NEXT: ; implicit-def: $vgpr58_vgpr59
-; GLOBALNESS0-NEXT: s_cbranch_execz .LBB1_4
-; GLOBALNESS0-NEXT: s_branch .LBB1_29
-; GLOBALNESS0-NEXT: .LBB1_25: ; %Flow23
+; GLOBALNESS0-NEXT: .LBB1_24: ; %Flow23
; GLOBALNESS0-NEXT: ; in Loop: Header=BB1_4 Depth=1
-; GLOBALNESS0-NEXT: v_readlane_b32 s84, v57, 8
-; GLOBALNESS0-NEXT: v_readlane_b32 s8, v57, 10
+; GLOBALNESS0-NEXT: v_readlane_b32 s84, v60, 8
+; GLOBALNESS0-NEXT: v_readlane_b32 s8, v60, 10
; GLOBALNESS0-NEXT: v_pk_mov_b32 v[0:1], 0, 0
; GLOBALNESS0-NEXT: s_mov_b32 s55, s83
-; GLOBALNESS0-NEXT: v_readlane_b32 s85, v57, 9
-; GLOBALNESS0-NEXT: v_readlane_b32 s9, v57, 11
-; GLOBALNESS0-NEXT: .LBB1_26: ; %Flow24
+; GLOBALNESS0-NEXT: v_readlane_b32 s85, v60, 9
+; GLOBALNESS0-NEXT: v_readlane_b32 s9, v60, 11
+; GLOBALNESS0-NEXT: .LBB1_25: ; %Flow24
; GLOBALNESS0-NEXT: ; in Loop: Header=BB1_4 Depth=1
; GLOBALNESS0-NEXT: s_or_b64 exec, exec, s[52:53]
; GLOBALNESS0-NEXT: s_and_saveexec_b64 s[4:5], s[86:87]
; GLOBALNESS0-NEXT: s_cbranch_execz .LBB1_2
-; GLOBALNESS0-NEXT: ; %bb.27: ; %bb67.i
+; GLOBALNESS0-NEXT: ; %bb.26: ; %bb67.i
; GLOBALNESS0-NEXT: ; in Loop: Header=BB1_4 Depth=1
-; GLOBALNESS0-NEXT: v_readlane_b32 s6, v57, 4
-; GLOBALNESS0-NEXT: v_readlane_b32 s7, v57, 5
+; GLOBALNESS0-NEXT: v_readlane_b32 s6, v60, 4
+; GLOBALNESS0-NEXT: v_readlane_b32 s7, v60, 5
; GLOBALNESS0-NEXT: s_and_b64 vcc, exec, s[6:7]
; GLOBALNESS0-NEXT: s_cbranch_vccnz .LBB1_1
-; GLOBALNESS0-NEXT: ; %bb.28: ; %bb69.i
+; GLOBALNESS0-NEXT: ; %bb.27: ; %bb69.i
; GLOBALNESS0-NEXT: ; in Loop: Header=BB1_4 Depth=1
; GLOBALNESS0-NEXT: global_store_dwordx2 v[44:45], v[42:43], off
; GLOBALNESS0-NEXT: s_branch .LBB1_1
+; GLOBALNESS0-NEXT: .LBB1_28: ; %bb73.i
+; GLOBALNESS0-NEXT: ; in Loop: Header=BB1_4 Depth=1
+; GLOBALNESS0-NEXT: global_store_dwordx2 v[44:45], v[42:43], off
+; GLOBALNESS0-NEXT: s_branch .LBB1_2
; GLOBALNESS0-NEXT: .LBB1_29: ; %loop.exit.guard
; GLOBALNESS0-NEXT: s_andn2_b64 vcc, exec, s[8:9]
; GLOBALNESS0-NEXT: s_mov_b64 s[4:5], -1
diff --git a/llvm/test/CodeGen/AMDGPU/undef-handling-crash-in-ra.ll b/llvm/test/CodeGen/AMDGPU/undef-handling-crash-in-ra.ll
index fc32bc644ddcd..65694231f9b45 100644
--- a/llvm/test/CodeGen/AMDGPU/undef-handling-crash-in-ra.ll
+++ b/llvm/test/CodeGen/AMDGPU/undef-handling-crash-in-ra.ll
@@ -122,7 +122,8 @@ define amdgpu_kernel void @foo(ptr addrspace(5) %ptr5, ptr %p0, double %v0, <4 x
; CHECK-NEXT: v_cmp_eq_u32_e32 vcc, 0, v0
; CHECK-NEXT: s_and_saveexec_b64 s[4:5], vcc
; CHECK-NEXT: s_or_b64 exec, exec, s[4:5]
-; CHECK-NEXT: buffer_store_dword v42, off, s[0:3], 0
+; CHECK-NEXT: v_mov_b32_e32 v0, -1
+; CHECK-NEXT: buffer_store_dword v42, v0, s[0:3], 0 offen
; CHECK-NEXT: s_endpgm
entry:
%load.null = load i32, ptr null, align 8
diff --git a/llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll b/llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
index fa01ee943f5f7..1c9c7280f15e0 100644
--- a/llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
+++ b/llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
@@ -2,7 +2,7 @@
; RUN: opt -S -mtriple=amdgcn-unknown-unknown -passes=amdgpu-attributor < %s | FileCheck %s
;.
-; CHECK: @G1 = global ptr null
+; CHECK: @G1 = global ptr zeroinitializer
; CHECK: @G2 = global i32 0
;.
define weak void @weak() {
@@ -15,7 +15,7 @@ define weak void @weak() {
ret void
}
- at G1 = global ptr null
+ at G1 = global ptr zeroinitializer
define internal void @internal1() {
; CHECK-LABEL: define {{[^@]+}}@internal1
diff --git a/llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll b/llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
index 25e8581fb6cdd..6ca1b767d24bd 100644
--- a/llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
+++ b/llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
@@ -257,41 +257,42 @@ define hidden void @blam() {
; GCN-NEXT: s_mov_b32 s16, s33
; GCN-NEXT: s_mov_b32 s33, s32
; GCN-NEXT: s_or_saveexec_b64 s[18:19], -1
-; GCN-NEXT: buffer_store_dword v45, off, s[0:3], s33 offset:20 ; 4-byte Folded Spill
+; GCN-NEXT: buffer_store_dword v46, off, s[0:3], s33 offset:24 ; 4-byte Folded Spill
; GCN-NEXT: s_mov_b64 exec, s[18:19]
-; GCN-NEXT: v_writelane_b32 v45, s16, 26
+; GCN-NEXT: v_writelane_b32 v46, s16, 26
; GCN-NEXT: s_addk_i32 s32, 0x800
-; GCN-NEXT: buffer_store_dword v40, off, s[0:3], s33 offset:16 ; 4-byte Folded Spill
-; GCN-NEXT: buffer_store_dword v41, off, s[0:3], s33 offset:12 ; 4-byte Folded Spill
-; GCN-NEXT: buffer_store_dword v42, off, s[0:3], s33 offset:8 ; 4-byte Folded Spill
-; GCN-NEXT: buffer_store_dword v43, off, s[0:3], s33 offset:4 ; 4-byte Folded Spill
-; GCN-NEXT: buffer_store_dword v44, off, s[0:3], s33 ; 4-byte Folded Spill
-; GCN-NEXT: v_writelane_b32 v45, s30, 0
-; GCN-NEXT: v_writelane_b32 v45, s31, 1
-; GCN-NEXT: v_writelane_b32 v45, s34, 2
-; GCN-NEXT: v_writelane_b32 v45, s35, 3
-; GCN-NEXT: v_writelane_b32 v45, s36, 4
-; GCN-NEXT: v_writelane_b32 v45, s37, 5
-; GCN-NEXT: v_writelane_b32 v45, s38, 6
-; GCN-NEXT: v_writelane_b32 v45, s39, 7
-; GCN-NEXT: v_writelane_b32 v45, s48, 8
-; GCN-NEXT: v_writelane_b32 v45, s49, 9
-; GCN-NEXT: v_writelane_b32 v45, s50, 10
-; GCN-NEXT: v_writelane_b32 v45, s51, 11
-; GCN-NEXT: v_writelane_b32 v45, s52, 12
-; GCN-NEXT: v_writelane_b32 v45, s53, 13
-; GCN-NEXT: v_writelane_b32 v45, s54, 14
-; GCN-NEXT: v_writelane_b32 v45, s55, 15
-; GCN-NEXT: v_writelane_b32 v45, s64, 16
-; GCN-NEXT: v_writelane_b32 v45, s65, 17
-; GCN-NEXT: v_writelane_b32 v45, s66, 18
-; GCN-NEXT: v_writelane_b32 v45, s67, 19
-; GCN-NEXT: v_writelane_b32 v45, s68, 20
-; GCN-NEXT: v_writelane_b32 v45, s69, 21
-; GCN-NEXT: v_writelane_b32 v45, s70, 22
-; GCN-NEXT: v_writelane_b32 v45, s71, 23
-; GCN-NEXT: v_writelane_b32 v45, s80, 24
-; GCN-NEXT: v_writelane_b32 v45, s81, 25
+; GCN-NEXT: buffer_store_dword v40, off, s[0:3], s33 offset:20 ; 4-byte Folded Spill
+; GCN-NEXT: buffer_store_dword v41, off, s[0:3], s33 offset:16 ; 4-byte Folded Spill
+; GCN-NEXT: buffer_store_dword v42, off, s[0:3], s33 offset:12 ; 4-byte Folded Spill
+; GCN-NEXT: buffer_store_dword v43, off, s[0:3], s33 offset:8 ; 4-byte Folded Spill
+; GCN-NEXT: buffer_store_dword v44, off, s[0:3], s33 offset:4 ; 4-byte Folded Spill
+; GCN-NEXT: buffer_store_dword v45, off, s[0:3], s33 ; 4-byte Folded Spill
+; GCN-NEXT: v_writelane_b32 v46, s30, 0
+; GCN-NEXT: v_writelane_b32 v46, s31, 1
+; GCN-NEXT: v_writelane_b32 v46, s34, 2
+; GCN-NEXT: v_writelane_b32 v46, s35, 3
+; GCN-NEXT: v_writelane_b32 v46, s36, 4
+; GCN-NEXT: v_writelane_b32 v46, s37, 5
+; GCN-NEXT: v_writelane_b32 v46, s38, 6
+; GCN-NEXT: v_writelane_b32 v46, s39, 7
+; GCN-NEXT: v_writelane_b32 v46, s48, 8
+; GCN-NEXT: v_writelane_b32 v46, s49, 9
+; GCN-NEXT: v_writelane_b32 v46, s50, 10
+; GCN-NEXT: v_writelane_b32 v46, s51, 11
+; GCN-NEXT: v_writelane_b32 v46, s52, 12
+; GCN-NEXT: v_writelane_b32 v46, s53, 13
+; GCN-NEXT: v_writelane_b32 v46, s54, 14
+; GCN-NEXT: v_writelane_b32 v46, s55, 15
+; GCN-NEXT: v_writelane_b32 v46, s64, 16
+; GCN-NEXT: v_writelane_b32 v46, s65, 17
+; GCN-NEXT: v_writelane_b32 v46, s66, 18
+; GCN-NEXT: v_writelane_b32 v46, s67, 19
+; GCN-NEXT: v_writelane_b32 v46, s68, 20
+; GCN-NEXT: v_writelane_b32 v46, s69, 21
+; GCN-NEXT: v_writelane_b32 v46, s70, 22
+; GCN-NEXT: v_writelane_b32 v46, s71, 23
+; GCN-NEXT: v_writelane_b32 v46, s80, 24
+; GCN-NEXT: v_writelane_b32 v46, s81, 25
; GCN-NEXT: v_mov_b32_e32 v40, v31
; GCN-NEXT: s_mov_b32 s54, s15
; GCN-NEXT: s_mov_b32 s55, s14
@@ -304,14 +305,15 @@ define hidden void @blam() {
; GCN-NEXT: v_mov_b32_e32 v0, 0
; GCN-NEXT: v_mov_b32_e32 v1, 0
; GCN-NEXT: v_and_b32_e32 v2, 0x3ff, v40
-; GCN-NEXT: flat_load_dword v43, v[0:1]
; GCN-NEXT: v_mov_b32_e32 v42, 0
+; GCN-NEXT: flat_load_dword v43, v[0:1]
; GCN-NEXT: s_mov_b64 s[66:67], 0
+; GCN-NEXT: v_mov_b32_e32 v44, -1
; GCN-NEXT: v_lshlrev_b32_e32 v41, 2, v2
; GCN-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
; GCN-NEXT: v_cmp_eq_f32_e64 s[68:69], 0, v43
; GCN-NEXT: v_cmp_neq_f32_e64 s[50:51], 0, v43
-; GCN-NEXT: v_mov_b32_e32 v44, 0x7fc00000
+; GCN-NEXT: v_mov_b32_e32 v45, 0x7fc00000
; GCN-NEXT: s_branch .LBB1_2
; GCN-NEXT: .LBB1_1: ; %Flow7
; GCN-NEXT: ; in Loop: Header=BB1_2 Depth=1
@@ -323,7 +325,7 @@ define hidden void @blam() {
; GCN-NEXT: .LBB1_2: ; %bb2
; GCN-NEXT: ; =>This Inner Loop Header: Depth=1
; GCN-NEXT: flat_load_dword v0, v[41:42]
-; GCN-NEXT: buffer_store_dword v42, off, s[0:3], 0
+; GCN-NEXT: buffer_store_dword v42, v44, s[0:3], 0 offen
; GCN-NEXT: s_mov_b64 s[6:7], 0
; GCN-NEXT: s_waitcnt vmcnt(1)
; GCN-NEXT: v_cmp_lt_i32_e32 vcc, 2, v0
@@ -362,7 +364,7 @@ define hidden void @blam() {
; GCN-NEXT: s_cbranch_execz .LBB1_7
; GCN-NEXT: ; %bb.6: ; %bb16
; GCN-NEXT: ; in Loop: Header=BB1_2 Depth=1
-; GCN-NEXT: buffer_store_dword v44, off, s[0:3], 0
+; GCN-NEXT: buffer_store_dword v45, v44, s[0:3], 0 offen
; GCN-NEXT: s_or_b64 s[8:9], s[68:69], exec
; GCN-NEXT: .LBB1_7: ; %Flow3
; GCN-NEXT: ; in Loop: Header=BB1_2 Depth=1
@@ -374,7 +376,7 @@ define hidden void @blam() {
; GCN-NEXT: ; %bb.8: ; %bb17
; GCN-NEXT: ; in Loop: Header=BB1_2 Depth=1
; GCN-NEXT: s_mov_b64 s[6:7], exec
-; GCN-NEXT: buffer_store_dword v43, off, s[0:3], 0
+; GCN-NEXT: buffer_store_dword v43, v44, s[0:3], 0 offen
; GCN-NEXT: .LBB1_9: ; %Flow4
; GCN-NEXT: ; in Loop: Header=BB1_2 Depth=1
; GCN-NEXT: s_or_b64 exec, exec, s[8:9]
@@ -404,7 +406,7 @@ define hidden void @blam() {
; GCN-NEXT: s_cbranch_execz .LBB1_15
; GCN-NEXT: ; %bb.14: ; %bb10
; GCN-NEXT: ; in Loop: Header=BB1_2 Depth=1
-; GCN-NEXT: buffer_store_dword v44, off, s[0:3], 0
+; GCN-NEXT: buffer_store_dword v45, v44, s[0:3], 0 offen
; GCN-NEXT: s_or_b64 s[10:11], s[6:7], exec
; GCN-NEXT: .LBB1_15: ; %Flow6
; GCN-NEXT: ; in Loop: Header=BB1_2 Depth=1
@@ -422,46 +424,47 @@ define hidden void @blam() {
; GCN-NEXT: s_cbranch_execz .LBB1_1
; GCN-NEXT: ; %bb.17: ; %bb18
; GCN-NEXT: ; in Loop: Header=BB1_2 Depth=1
-; GCN-NEXT: buffer_store_dword v44, off, s[0:3], 0
+; GCN-NEXT: buffer_store_dword v45, v44, s[0:3], 0 offen
; GCN-NEXT: s_andn2_b64 s[4:5], s[4:5], exec
; GCN-NEXT: s_branch .LBB1_1
; GCN-NEXT: .LBB1_18: ; %DummyReturnBlock
; GCN-NEXT: s_or_b64 exec, exec, s[66:67]
-; GCN-NEXT: v_readlane_b32 s81, v45, 25
-; GCN-NEXT: v_readlane_b32 s80, v45, 24
-; GCN-NEXT: v_readlane_b32 s71, v45, 23
-; GCN-NEXT: v_readlane_b32 s70, v45, 22
-; GCN-NEXT: v_readlane_b32 s69, v45, 21
-; GCN-NEXT: v_readlane_b32 s68, v45, 20
-; GCN-NEXT: v_readlane_b32 s67, v45, 19
-; GCN-NEXT: v_readlane_b32 s66, v45, 18
-; GCN-NEXT: v_readlane_b32 s65, v45, 17
-; GCN-NEXT: v_readlane_b32 s64, v45, 16
-; GCN-NEXT: v_readlane_b32 s55, v45, 15
-; GCN-NEXT: v_readlane_b32 s54, v45, 14
-; GCN-NEXT: v_readlane_b32 s53, v45, 13
-; GCN-NEXT: v_readlane_b32 s52, v45, 12
-; GCN-NEXT: v_readlane_b32 s51, v45, 11
-; GCN-NEXT: v_readlane_b32 s50, v45, 10
-; GCN-NEXT: v_readlane_b32 s49, v45, 9
-; GCN-NEXT: v_readlane_b32 s48, v45, 8
-; GCN-NEXT: v_readlane_b32 s39, v45, 7
-; GCN-NEXT: v_readlane_b32 s38, v45, 6
-; GCN-NEXT: v_readlane_b32 s37, v45, 5
-; GCN-NEXT: v_readlane_b32 s36, v45, 4
-; GCN-NEXT: v_readlane_b32 s35, v45, 3
-; GCN-NEXT: v_readlane_b32 s34, v45, 2
-; GCN-NEXT: v_readlane_b32 s31, v45, 1
-; GCN-NEXT: v_readlane_b32 s30, v45, 0
-; GCN-NEXT: buffer_load_dword v44, off, s[0:3], s33 ; 4-byte Folded Reload
-; GCN-NEXT: buffer_load_dword v43, off, s[0:3], s33 offset:4 ; 4-byte Folded Reload
-; GCN-NEXT: buffer_load_dword v42, off, s[0:3], s33 offset:8 ; 4-byte Folded Reload
-; GCN-NEXT: buffer_load_dword v41, off, s[0:3], s33 offset:12 ; 4-byte Folded Reload
-; GCN-NEXT: buffer_load_dword v40, off, s[0:3], s33 offset:16 ; 4-byte Folded Reload
+; GCN-NEXT: v_readlane_b32 s81, v46, 25
+; GCN-NEXT: v_readlane_b32 s80, v46, 24
+; GCN-NEXT: v_readlane_b32 s71, v46, 23
+; GCN-NEXT: v_readlane_b32 s70, v46, 22
+; GCN-NEXT: v_readlane_b32 s69, v46, 21
+; GCN-NEXT: v_readlane_b32 s68, v46, 20
+; GCN-NEXT: v_readlane_b32 s67, v46, 19
+; GCN-NEXT: v_readlane_b32 s66, v46, 18
+; GCN-NEXT: v_readlane_b32 s65, v46, 17
+; GCN-NEXT: v_readlane_b32 s64, v46, 16
+; GCN-NEXT: v_readlane_b32 s55, v46, 15
+; GCN-NEXT: v_readlane_b32 s54, v46, 14
+; GCN-NEXT: v_readlane_b32 s53, v46, 13
+; GCN-NEXT: v_readlane_b32 s52, v46, 12
+; GCN-NEXT: v_readlane_b32 s51, v46, 11
+; GCN-NEXT: v_readlane_b32 s50, v46, 10
+; GCN-NEXT: v_readlane_b32 s49, v46, 9
+; GCN-NEXT: v_readlane_b32 s48, v46, 8
+; GCN-NEXT: v_readlane_b32 s39, v46, 7
+; GCN-NEXT: v_readlane_b32 s38, v46, 6
+; GCN-NEXT: v_readlane_b32 s37, v46, 5
+; GCN-NEXT: v_readlane_b32 s36, v46, 4
+; GCN-NEXT: v_readlane_b32 s35, v46, 3
+; GCN-NEXT: v_readlane_b32 s34, v46, 2
+; GCN-NEXT: v_readlane_b32 s31, v46, 1
+; GCN-NEXT: v_readlane_b32 s30, v46, 0
+; GCN-NEXT: buffer_load_dword v45, off, s[0:3], s33 ; 4-byte Folded Reload
+; GCN-NEXT: buffer_load_dword v44, off, s[0:3], s33 offset:4 ; 4-byte Folded Reload
+; GCN-NEXT: buffer_load_dword v43, off, s[0:3], s33 offset:8 ; 4-byte Folded Reload
+; GCN-NEXT: buffer_load_dword v42, off, s[0:3], s33 offset:12 ; 4-byte Folded Reload
+; GCN-NEXT: buffer_load_dword v41, off, s[0:3], s33 offset:16 ; 4-byte Folded Reload
+; GCN-NEXT: buffer_load_dword v40, off, s[0:3], s33 offset:20 ; 4-byte Folded Reload
; GCN-NEXT: s_mov_b32 s32, s33
-; GCN-NEXT: v_readlane_b32 s4, v45, 26
+; GCN-NEXT: v_readlane_b32 s4, v46, 26
; GCN-NEXT: s_or_saveexec_b64 s[6:7], -1
-; GCN-NEXT: buffer_load_dword v45, off, s[0:3], s33 offset:20 ; 4-byte Folded Reload
+; GCN-NEXT: buffer_load_dword v46, off, s[0:3], s33 offset:24 ; 4-byte Folded Reload
; GCN-NEXT: s_mov_b64 exec, s[6:7]
; GCN-NEXT: s_mov_b32 s33, s4
; GCN-NEXT: s_waitcnt vmcnt(0)
diff --git a/llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll b/llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll
index a6a406986558e..7d75615007f59 100644
--- a/llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll
+++ b/llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll
@@ -5,7 +5,7 @@ define amdgpu_kernel void @icmp_test() {
; CHECK-LABEL: icmp_test:
; CHECK: ; %bb.0: ; %entry
; CHECK-NEXT: v_cmp_eq_u16_e64 s[0:1], 0, 0
-; CHECK-NEXT: v_mov_b32_e32 v1, 0
+; CHECK-NEXT: v_mov_b32_e32 v1, -1
; CHECK-NEXT: s_cmp_eq_u64 s[0:1], 0
; CHECK-NEXT: s_cselect_b64 s[0:1], -1, 0
; CHECK-NEXT: s_delay_alu instid0(SALU_CYCLE_1)
@@ -24,7 +24,7 @@ define amdgpu_kernel void @fcmp_test(half %x, half %y) {
; CHECK-LABEL: fcmp_test:
; CHECK: ; %bb.0: ; %entry
; CHECK-NEXT: s_load_b32 s0, s[4:5], 0x0
-; CHECK-NEXT: v_mov_b32_e32 v1, 0
+; CHECK-NEXT: v_mov_b32_e32 v1, -1
; CHECK-NEXT: s_waitcnt lgkmcnt(0)
; CHECK-NEXT: s_lshr_b32 s1, s0, 16
; CHECK-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_2) | instid1(SALU_CYCLE_1)
@@ -46,7 +46,7 @@ define amdgpu_kernel void @ballot_test(half %x, half %y) {
; CHECK-LABEL: ballot_test:
; CHECK: ; %bb.0:
; CHECK-NEXT: s_load_b32 s0, s[4:5], 0x0
-; CHECK-NEXT: v_mov_b32_e32 v2, 0
+; CHECK-NEXT: v_mov_b32_e32 v2, -1
; CHECK-NEXT: s_waitcnt lgkmcnt(0)
; CHECK-NEXT: s_lshr_b32 s1, s0, 16
; CHECK-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(VALU_DEP_1)
diff --git a/llvm/test/CodeGen/AMDGPU/waterfall_kills_scc.ll b/llvm/test/CodeGen/AMDGPU/waterfall_kills_scc.ll
index ddb6afa34ab22..2b92b0a05d1cb 100644
--- a/llvm/test/CodeGen/AMDGPU/waterfall_kills_scc.ll
+++ b/llvm/test/CodeGen/AMDGPU/waterfall_kills_scc.ll
@@ -24,10 +24,11 @@ define amdgpu_kernel void @foo(i1 %cmp1) {
; GFX906-NEXT: s_mov_b32 s15, 0xe00000
; GFX906-NEXT: s_add_u32 s12, s12, s11
; GFX906-NEXT: s_addc_u32 s13, s13, 0
-; GFX906-NEXT: buffer_load_dword v3, off, s[12:15], 0
-; GFX906-NEXT: buffer_load_dword v4, off, s[12:15], 0 offset:4
-; GFX906-NEXT: buffer_load_dword v5, off, s[12:15], 0 offset:8
-; GFX906-NEXT: buffer_load_dword v6, off, s[12:15], 0 offset:12
+; GFX906-NEXT: v_mov_b32_e32 v7, -1
+; GFX906-NEXT: buffer_load_dword v3, v7, s[12:15], 0 offen
+; GFX906-NEXT: buffer_load_dword v4, off, s[12:15], 0 offset:3
+; GFX906-NEXT: buffer_load_dword v5, off, s[12:15], 0 offset:7
+; GFX906-NEXT: buffer_load_dword v6, off, s[12:15], 0 offset:11
; GFX906-NEXT: s_load_dword s2, s[4:5], 0x24
; GFX906-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x1c
; GFX906-NEXT: s_mov_b32 s4, 0
diff --git a/llvm/test/CodeGen/AMDGPU/wqm.ll b/llvm/test/CodeGen/AMDGPU/wqm.ll
index 0fdc1a83dddbd..eebde828a5a2c 100644
--- a/llvm/test/CodeGen/AMDGPU/wqm.ll
+++ b/llvm/test/CodeGen/AMDGPU/wqm.ll
@@ -3409,6 +3409,7 @@ define amdgpu_gs void @wqm_init_exec() {
; GFX9-W64-NEXT: buffer_store_dwordx4 v[0:3], off, s[0:3], 0
; GFX9-W64-NEXT: s_wqm_b64 exec, exec
; GFX9-W64-NEXT: ; kill: def $sgpr0 killed $sgpr0 killed $exec
+; GFX9-W64-NEXT: v_mov_b32_e32 v0, -1
; GFX9-W64-NEXT: v_mov_b32_e32 v1, s0
; GFX9-W64-NEXT: ds_write_b32 v0, v1
; GFX9-W64-NEXT: s_endpgm
@@ -3416,20 +3417,21 @@ define amdgpu_gs void @wqm_init_exec() {
; GFX10-W32-LABEL: wqm_init_exec:
; GFX10-W32: ; %bb.0: ; %bb
; GFX10-W32-NEXT: s_mov_b32 exec_lo, -1
-; GFX10-W32-NEXT: s_mov_b32 s1, exec_lo
-; GFX10-W32-NEXT: v_mov_b32_e32 v0, 0
; GFX10-W32-NEXT: s_mov_b32 s0, 0
+; GFX10-W32-NEXT: s_mov_b32 s2, exec_lo
+; GFX10-W32-NEXT: v_mov_b32_e32 v0, 0
+; GFX10-W32-NEXT: s_mov_b32 s1, s0
; GFX10-W32-NEXT: s_wqm_b32 exec_lo, exec_lo
-; GFX10-W32-NEXT: s_mov_b32 s2, s0
-; GFX10-W32-NEXT: s_and_b32 exec_lo, exec_lo, s1
+; GFX10-W32-NEXT: s_mov_b32 s3, s0
+; GFX10-W32-NEXT: s_and_b32 exec_lo, exec_lo, s2
; GFX10-W32-NEXT: v_mov_b32_e32 v1, v0
; GFX10-W32-NEXT: v_mov_b32_e32 v2, v0
; GFX10-W32-NEXT: v_mov_b32_e32 v3, v0
-; GFX10-W32-NEXT: v_mov_b32_e32 v4, s0
-; GFX10-W32-NEXT: s_mov_b32 s1, s0
-; GFX10-W32-NEXT: s_mov_b32 s3, s0
+; GFX10-W32-NEXT: v_mov_b32_e32 v4, -1
+; GFX10-W32-NEXT: v_mov_b32_e32 v5, s0
+; GFX10-W32-NEXT: s_mov_b32 s2, s0
; GFX10-W32-NEXT: buffer_store_dwordx4 v[0:3], off, s[0:3], 0
-; GFX10-W32-NEXT: ds_write_b32 v0, v4
+; GFX10-W32-NEXT: ds_write_b32 v4, v5
; GFX10-W32-NEXT: s_endpgm
bb:
call void @llvm.amdgcn.init.exec(i64 -1)
diff --git a/llvm/test/CodeGen/ARM/2009-07-18-RewriterBug.ll b/llvm/test/CodeGen/ARM/2009-07-18-RewriterBug.ll
index 9029f08de5c80..91fedc834c1b3 100644
--- a/llvm/test/CodeGen/ARM/2009-07-18-RewriterBug.ll
+++ b/llvm/test/CodeGen/ARM/2009-07-18-RewriterBug.ll
@@ -4,7 +4,7 @@
%struct.VEC2 = type { double, double, double }
%struct.VERTEX = type { %struct.VEC2, ptr, ptr }
%struct.edge_rec = type { ptr, ptr, i32, ptr }
- at avail_edge = internal global ptr null
+ at avail_edge = internal global ptr zeroinitializer
@_2E_str7 = internal constant [21 x i8] c"ERROR: Only 1 point!\00", section "__TEXT,__cstring,cstring_literals", align 1
@llvm.used = appending global [1 x ptr] [ptr @build_delaunay], section "llvm.metadata"
diff --git a/llvm/test/CodeGen/ARM/2009-08-21-PostRAKill.ll b/llvm/test/CodeGen/ARM/2009-08-21-PostRAKill.ll
index c759fb07ed113..f345d59f693dd 100644
--- a/llvm/test/CodeGen/ARM/2009-08-21-PostRAKill.ll
+++ b/llvm/test/CodeGen/ARM/2009-08-21-PostRAKill.ll
@@ -5,7 +5,7 @@ target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:32-f3
target triple = "armv7-apple-darwin9"
%struct.tree = type { i32, double, double, ptr, ptr, ptr, ptr }
- at g = common global ptr null
+ at g = common global ptr zeroinitializer
define ptr @tsp(ptr %t, i32 %nproc) nounwind {
entry:
diff --git a/llvm/test/CodeGen/ARM/2013-05-05-IfConvertBug.ll b/llvm/test/CodeGen/ARM/2013-05-05-IfConvertBug.ll
index 8f798fac06f54..0d551feb3dabd 100644
--- a/llvm/test/CodeGen/ARM/2013-05-05-IfConvertBug.ll
+++ b/llvm/test/CodeGen/ARM/2013-05-05-IfConvertBug.ll
@@ -227,7 +227,7 @@ KBBlockZero.exit: ; preds = %bb2.i
indirectbr ptr %p8, [label %KBBlockZero_return_1, label %KBBlockZero_return_0]
}
- at foo = global ptr null
+ at foo = global ptr zeroinitializer
define i32 @t4(i32 %x, ptr %p_foo) {
; CHECK-LABEL: t4:
; CHECK: @ %bb.0: @ %entry
diff --git a/llvm/test/CodeGen/ARM/Windows/stack-protector-musttail.ll b/llvm/test/CodeGen/ARM/Windows/stack-protector-musttail.ll
index c35738c87c6c8..e80762ff3d2dc 100644
--- a/llvm/test/CodeGen/ARM/Windows/stack-protector-musttail.ll
+++ b/llvm/test/CodeGen/ARM/Windows/stack-protector-musttail.ll
@@ -1,6 +1,6 @@
; RUN: llc -mtriple=thumbv7-windows-msvc -fast-isel %s -o - -start-before=stack-protector -stop-after=stack-protector | FileCheck %s
- at var = global ptr null
+ at var = global ptr zeroinitializer
declare void @callee()
diff --git a/llvm/test/CodeGen/ARM/armv4.ll b/llvm/test/CodeGen/ARM/armv4.ll
index 030ff115ee4c4..6a47e10d886d9 100644
--- a/llvm/test/CodeGen/ARM/armv4.ll
+++ b/llvm/test/CodeGen/ARM/armv4.ll
@@ -14,7 +14,7 @@ entry:
ret i32 %a
}
- at helper = global ptr null, align 4
+ at helper = global ptr zeroinitializer, align 4
define i32 @test_indirect() #0 {
entry:
diff --git a/llvm/test/CodeGen/ARM/call-tc.ll b/llvm/test/CodeGen/ARM/call-tc.ll
index 9c70bac0322fe..bb1e416dac687 100644
--- a/llvm/test/CodeGen/ARM/call-tc.ll
+++ b/llvm/test/CodeGen/ARM/call-tc.ll
@@ -6,7 +6,7 @@
; Enable tailcall optimization for iOS 5.0
; rdar://9120031
- at t = weak global ptr null ; <ptr> [#uses=1]
+ at t = weak global ptr zeroinitializer ; <ptr> [#uses=1]
declare void @g(i32, i32, i32, i32)
diff --git a/llvm/test/CodeGen/ARM/call.ll b/llvm/test/CodeGen/ARM/call.ll
index 45e3e99b6d838..067d7d9a52fb8 100644
--- a/llvm/test/CodeGen/ARM/call.ll
+++ b/llvm/test/CodeGen/ARM/call.ll
@@ -7,7 +7,7 @@
; RUN: llc -mtriple=armv6-linux-gnueabi -relocation-model=pic %s -o - \
; RUN: | FileCheck %s -check-prefix=CHECKELF
- at t = weak global ptr null ; <ptr> [#uses=1]
+ at t = weak global ptr zeroinitializer ; <ptr> [#uses=1]
declare void @g(i32, i32, i32, i32)
diff --git a/llvm/test/CodeGen/ARM/cmse-harden-call-returned-values.ll b/llvm/test/CodeGen/ARM/cmse-harden-call-returned-values.ll
index 58eef443c25e6..39abf901d51ea 100644
--- a/llvm/test/CodeGen/ARM/cmse-harden-call-returned-values.ll
+++ b/llvm/test/CodeGen/ARM/cmse-harden-call-returned-values.ll
@@ -3,7 +3,7 @@
; RUN: llc %s -mtriple=thumbv8.1m.main -o - | FileCheck %s --check-prefixes V81M-COMMON,V81M-LE
; RUN: llc %s -mtriple=thumbebv8.1m.main -o - | FileCheck %s --check-prefixes V81M-COMMON,V81M-BE
- at get_idx = hidden local_unnamed_addr global ptr null, align 4
+ at get_idx = hidden local_unnamed_addr global ptr zeroinitializer, align 4
@arr = hidden local_unnamed_addr global [256 x i32] zeroinitializer, align 4
define i32 @access_i16() {
diff --git a/llvm/test/CodeGen/ARM/cmse-vlldm-no-reorder.ll b/llvm/test/CodeGen/ARM/cmse-vlldm-no-reorder.ll
index 9f6a3155f0cab..2e7ff53536f2c 100644
--- a/llvm/test/CodeGen/ARM/cmse-vlldm-no-reorder.ll
+++ b/llvm/test/CodeGen/ARM/cmse-vlldm-no-reorder.ll
@@ -1,7 +1,7 @@
; RUN: llc -mtriple=thumbv8m.main -mcpu=cortex-m33 --float-abi=hard %s -o - | \
; RUN: FileCheck %s
- at g = hidden local_unnamed_addr global ptr null, align 4
+ at g = hidden local_unnamed_addr global ptr zeroinitializer, align 4
@a = hidden local_unnamed_addr global float 0.000000e+00, align 4
define hidden void @f() local_unnamed_addr #0 {
diff --git a/llvm/test/CodeGen/ARM/fast-isel-align.ll b/llvm/test/CodeGen/ARM/fast-isel-align.ll
index 8adbc3039d4e1..fbd69e857620f 100644
--- a/llvm/test/CodeGen/ARM/fast-isel-align.ll
+++ b/llvm/test/CodeGen/ARM/fast-isel-align.ll
@@ -18,7 +18,7 @@
; Check unaligned stores
%struct.anon = type <{ float }>
- at a = common global ptr null, align 4
+ at a = common global ptr zeroinitializer, align 4
define void @unaligned_store(float %x, float %y) nounwind {
entry:
diff --git a/llvm/test/CodeGen/ARM/global-merge.ll b/llvm/test/CodeGen/ARM/global-merge.ll
index d206cde4b40d7..a2bcde58b724b 100644
--- a/llvm/test/CodeGen/ARM/global-merge.ll
+++ b/llvm/test/CodeGen/ARM/global-merge.ll
@@ -13,7 +13,7 @@
; Global used in landing pad instruction must be kept
; CHECK: ZTIi
- at _ZTIi = internal global ptr null
+ at _ZTIi = internal global ptr zeroinitializer
define i32 @_Z9exceptioni(i32 %arg) personality ptr @__gxx_personality_sj0 {
bb:
diff --git a/llvm/test/CodeGen/ARM/indirectbr.ll b/llvm/test/CodeGen/ARM/indirectbr.ll
index c3ffeb703806e..28f8302b3c73e 100644
--- a/llvm/test/CodeGen/ARM/indirectbr.ll
+++ b/llvm/test/CodeGen/ARM/indirectbr.ll
@@ -3,7 +3,7 @@
; RUN: llc < %s -relocation-model=static -mtriple=thumbv7-apple-darwin | FileCheck %s -check-prefix=THUMB2
; RUN: llc < %s -relocation-model=static -mtriple=thumbv8-apple-darwin | FileCheck %s -check-prefix=THUMB2
- at nextaddr = global ptr null ; <ptr> [#uses=2]
+ at nextaddr = global ptr zeroinitializer ; <ptr> [#uses=2]
@C.0.2070 = private constant [5 x ptr] [ptr blockaddress(@foo, %L1), ptr blockaddress(@foo, %L2), ptr blockaddress(@foo, %L3), ptr blockaddress(@foo, %L4), ptr blockaddress(@foo, %L5)] ; <ptr> [#uses=1]
define internal i32 @foo(i32 %i) nounwind {
diff --git a/llvm/test/CodeGen/ARM/ldstrex.ll b/llvm/test/CodeGen/ARM/ldstrex.ll
index 614008fe394de..1e62c56ee6e54 100644
--- a/llvm/test/CodeGen/ARM/ldstrex.ll
+++ b/llvm/test/CodeGen/ARM/ldstrex.ll
@@ -98,7 +98,7 @@ define void @test_clear() {
declare void @llvm.arm.clrex() nounwind
- at base = global ptr null
+ at base = global ptr zeroinitializer
define void @excl_addrmode() {
; CHECK-T2ADDRMODE-LABEL: excl_addrmode:
diff --git a/llvm/test/CodeGen/ARM/pr39571.ll b/llvm/test/CodeGen/ARM/pr39571.ll
index 1d0b8203f1197..f9e1b93b08446 100644
--- a/llvm/test/CodeGen/ARM/pr39571.ll
+++ b/llvm/test/CodeGen/ARM/pr39571.ll
@@ -10,7 +10,7 @@
%union.ie = type { %struct.ib }
%struct.ib = type { i8, i8, i16 }
- at a = common dso_local local_unnamed_addr global ptr null, align 4
+ at a = common dso_local local_unnamed_addr global ptr zeroinitializer, align 4
@b = common dso_local local_unnamed_addr global %struct.anon.0 zeroinitializer, align 1
; Function Attrs: norecurse nounwind
diff --git a/llvm/test/CodeGen/ARM/speculation-hardening-sls.ll b/llvm/test/CodeGen/ARM/speculation-hardening-sls.ll
index f25d73a12246f..0175c1772e4d2 100644
--- a/llvm/test/CodeGen/ARM/speculation-hardening-sls.ll
+++ b/llvm/test/CodeGen/ARM/speculation-hardening-sls.ll
@@ -178,7 +178,7 @@ entry:
}
; verify calling through a function pointer.
- at a = dso_local local_unnamed_addr global ptr null, align 8
+ at a = dso_local local_unnamed_addr global ptr zeroinitializer, align 8
@b = dso_local local_unnamed_addr global i32 0, align 4
define dso_local void @indirect_call_global() local_unnamed_addr {
; CHECK-LABEL: indirect_call_global:
diff --git a/llvm/test/CodeGen/ARM/sponentry.ll b/llvm/test/CodeGen/ARM/sponentry.ll
index fc3f1e5a1f57d..1725f9dec5979 100644
--- a/llvm/test/CodeGen/ARM/sponentry.ll
+++ b/llvm/test/CodeGen/ARM/sponentry.ll
@@ -3,7 +3,7 @@
; RUN: llc -mtriple=thumbv7-windows-msvc %s -o - | FileCheck %s --check-prefix=NOFP
; RUN: llc -mtriple=thumbv7-windows-msvc -fast-isel %s -o - | FileCheck %s --check-prefix=NOFP
- at env2 = common dso_local global ptr null, align 8
+ at env2 = common dso_local global ptr zeroinitializer, align 8
define dso_local void @bar() {
%1 = call ptr @llvm.sponentry()
diff --git a/llvm/test/CodeGen/ARM/thumb_indirect_calls.ll b/llvm/test/CodeGen/ARM/thumb_indirect_calls.ll
index cadebba4c1953..f9869a8cc369f 100644
--- a/llvm/test/CodeGen/ARM/thumb_indirect_calls.ll
+++ b/llvm/test/CodeGen/ARM/thumb_indirect_calls.ll
@@ -1,7 +1,7 @@
; RUN: llc -mtriple=thumbv4t-eabi %s -o - | FileCheck --check-prefix=CHECK -check-prefix=CHECK-V4T %s
; RUN: llc -mtriple=thumbv5t-eabi %s -o - | FileCheck --check-prefix=CHECK -check-prefix=CHECK-V5T %s
- at f = common global ptr null, align 4
+ at f = common global ptr zeroinitializer, align 4
; CHECK-LABEL: foo:
define void @foo(i32 %x) {
diff --git a/llvm/test/CodeGen/ARM/v8m-tail-call.ll b/llvm/test/CodeGen/ARM/v8m-tail-call.ll
index 4bad4ba0daf36..195171d06276b 100644
--- a/llvm/test/CodeGen/ARM/v8m-tail-call.ll
+++ b/llvm/test/CodeGen/ARM/v8m-tail-call.ll
@@ -78,7 +78,7 @@ define hidden i32 @f2(i32, i32, i32, i32, i32) {
; Make sure that tail calls to function pointers that require r0-r3 for argument
; passing do not break the compiler.
- at fnptr = global ptr null
+ at fnptr = global ptr zeroinitializer
define i32 @test3() {
; CHECK-LABEL: test3:
; CHECK: @ %bb.0:
@@ -97,7 +97,7 @@ define i32 @test3() {
ret i32 %2
}
- at fnptr2 = global ptr null
+ at fnptr2 = global ptr zeroinitializer
define i32 @test4() {
; CHECK-LABEL: test4:
; CHECK: @ %bb.0:
@@ -119,7 +119,7 @@ define i32 @test4() {
; Check that tail calls to function pointers where not all of r0-r3 are used for
; parameter passing are tail-call optimized.
; test5: params in r0, r1. r2 & r3 are free.
- at fnptr3 = global ptr null
+ at fnptr3 = global ptr zeroinitializer
define i32 @test5() {
; CHECK-LABEL: test5:
; CHECK: @ %bb.0:
@@ -135,7 +135,7 @@ define i32 @test5() {
}
; test6: params in r0 and r2-r3. r1 is free.
- at fnptr4 = global ptr null
+ at fnptr4 = global ptr zeroinitializer
define i32 @test6() {
; CHECK-LABEL: test6:
; CHECK: @ %bb.0:
diff --git a/llvm/test/CodeGen/AVR/icall-func-pointer-correct-addr-space.ll b/llvm/test/CodeGen/AVR/icall-func-pointer-correct-addr-space.ll
index 995d884069838..6239647757654 100644
--- a/llvm/test/CodeGen/AVR/icall-func-pointer-correct-addr-space.ll
+++ b/llvm/test/CodeGen/AVR/icall-func-pointer-correct-addr-space.ll
@@ -1,7 +1,7 @@
; RUN: llc -mattr=lpm,lpmw < %s -mtriple=avr | FileCheck %s
@callbackPtr = common global ptr addrspace(1) null, align 8
- at myValuePtr = common global ptr null, align 8
+ at myValuePtr = common global ptr zeroinitializer, align 8
@externalConstant = external global i16, align 2
diff --git a/llvm/test/CodeGen/BPF/BTF/atomics.ll b/llvm/test/CodeGen/BPF/BTF/atomics.ll
index 4b7a0310ae85f..3bb34a0812485 100644
--- a/llvm/test/CodeGen/BPF/BTF/atomics.ll
+++ b/llvm/test/CodeGen/BPF/BTF/atomics.ll
@@ -31,10 +31,10 @@ target triple = "bpf"
@gstruct = dso_local global %struct.gstruct_t zeroinitializer, align 4, !dbg !0
@ext = external dso_local global i32, align 4, !dbg !34
@gbl = dso_local global i32 0, align 4, !dbg !16
- at pgbl = dso_local local_unnamed_addr global ptr null, align 8, !dbg !20
+ at pgbl = dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !20
@vvar = dso_local global i32 0, align 4, !dbg !23
- at tagptr1 = dso_local local_unnamed_addr global ptr null, align 8, !dbg !26
- at tagptr2 = dso_local local_unnamed_addr global ptr null, align 8, !dbg !31
+ at tagptr1 = dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !26
+ at tagptr2 = dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !31
; Function Attrs: mustprogress nofree norecurse nounwind willreturn
define dso_local i32 @foo(i32 returned %a1, ptr nocapture noundef %p1) local_unnamed_addr #0 !dbg !45 {
diff --git a/llvm/test/CodeGen/BPF/BTF/func-func-ptr.ll b/llvm/test/CodeGen/BPF/BTF/func-func-ptr.ll
index f8c3de5576cb9..0e771202eb08a 100644
--- a/llvm/test/CodeGen/BPF/BTF/func-func-ptr.ll
+++ b/llvm/test/CodeGen/BPF/BTF/func-func-ptr.ll
@@ -10,7 +10,7 @@
%struct.t1 = type { ptr }
- at a1 = common dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+ at a1 = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
@b1 = common dso_local local_unnamed_addr global %struct.t1 zeroinitializer, align 8, !dbg !6
; Function Attrs: nounwind readnone
diff --git a/llvm/test/CodeGen/BPF/BTF/ptr-const-void.ll b/llvm/test/CodeGen/BPF/BTF/ptr-const-void.ll
index b07694989a556..008324e51265d 100644
--- a/llvm/test/CodeGen/BPF/BTF/ptr-const-void.ll
+++ b/llvm/test/CodeGen/BPF/BTF/ptr-const-void.ll
@@ -6,7 +6,7 @@
; Compilation flag:
; clang -target bpf -O2 -g -S -emit-llvm t.c
- at p = common dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+ at p = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!8, !9, !10}
diff --git a/llvm/test/CodeGen/BPF/BTF/ptr-func-1.ll b/llvm/test/CodeGen/BPF/BTF/ptr-func-1.ll
index 70b8e35b0558b..9c7961c8461f6 100644
--- a/llvm/test/CodeGen/BPF/BTF/ptr-func-1.ll
+++ b/llvm/test/CodeGen/BPF/BTF/ptr-func-1.ll
@@ -6,7 +6,7 @@
; Compilation flag:
; clang -target bpf -O2 -g -S -emit-llvm t.c
- at a = common dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+ at a = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!9, !10, !11}
diff --git a/llvm/test/CodeGen/BPF/BTF/ptr-func-2.ll b/llvm/test/CodeGen/BPF/BTF/ptr-func-2.ll
index 6a93edac59ed8..d66e916c2170d 100644
--- a/llvm/test/CodeGen/BPF/BTF/ptr-func-2.ll
+++ b/llvm/test/CodeGen/BPF/BTF/ptr-func-2.ll
@@ -6,7 +6,7 @@
; Compilation flag:
; clang -target bpf -O2 -g -S -emit-llvm t.c
- at a = common dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+ at a = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!11, !12, !13}
diff --git a/llvm/test/CodeGen/BPF/BTF/ptr-func-3.ll b/llvm/test/CodeGen/BPF/BTF/ptr-func-3.ll
index bf716e13d7cd6..0ea65ac9c0318 100644
--- a/llvm/test/CodeGen/BPF/BTF/ptr-func-3.ll
+++ b/llvm/test/CodeGen/BPF/BTF/ptr-func-3.ll
@@ -7,7 +7,7 @@
; Compilation flag:
; clang -target bpf -O2 -g -S -emit-llvm t.c
- at a = common dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+ at a = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!11, !12, !13}
diff --git a/llvm/test/CodeGen/BPF/BTF/ptr-int.ll b/llvm/test/CodeGen/BPF/BTF/ptr-int.ll
index c02047f7d019a..fc74c5bf06546 100644
--- a/llvm/test/CodeGen/BPF/BTF/ptr-int.ll
+++ b/llvm/test/CodeGen/BPF/BTF/ptr-int.ll
@@ -6,7 +6,7 @@
; Compilation flag:
; clang -target bpf -O2 -g -S -emit-llvm t.c
- at a = common dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+ at a = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!8, !9, !10}
diff --git a/llvm/test/CodeGen/BPF/BTF/ptr-void.ll b/llvm/test/CodeGen/BPF/BTF/ptr-void.ll
index 0d8abafbcca22..b322aec02abf9 100644
--- a/llvm/test/CodeGen/BPF/BTF/ptr-void.ll
+++ b/llvm/test/CodeGen/BPF/BTF/ptr-void.ll
@@ -6,7 +6,7 @@
; Compilation flag:
; clang -target bpf -O2 -g -S -emit-llvm t.c
- at a = common dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+ at a = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!7, !8, !9}
diff --git a/llvm/test/CodeGen/BPF/BTF/ptr-volatile-const-void.ll b/llvm/test/CodeGen/BPF/BTF/ptr-volatile-const-void.ll
index 58b25cba1025a..94bf370214f5d 100644
--- a/llvm/test/CodeGen/BPF/BTF/ptr-volatile-const-void.ll
+++ b/llvm/test/CodeGen/BPF/BTF/ptr-volatile-const-void.ll
@@ -6,7 +6,7 @@
; Compilation flag:
; clang -target bpf -O2 -g -S -emit-llvm t.c
- at p = common dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+ at p = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!9, !10, !11}
diff --git a/llvm/test/CodeGen/BPF/BTF/ptr-volatile-void.ll b/llvm/test/CodeGen/BPF/BTF/ptr-volatile-void.ll
index a0f59be6015f1..ec47498a7186a 100644
--- a/llvm/test/CodeGen/BPF/BTF/ptr-volatile-void.ll
+++ b/llvm/test/CodeGen/BPF/BTF/ptr-volatile-void.ll
@@ -6,7 +6,7 @@
; Compilation flag:
; clang -target bpf -O2 -g -S -emit-llvm t.c
- at p = common dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+ at p = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!8, !9, !10}
diff --git a/llvm/test/CodeGen/BPF/BTF/restrict-ptr.ll b/llvm/test/CodeGen/BPF/BTF/restrict-ptr.ll
index 03f454894280c..4518e2322aae8 100644
--- a/llvm/test/CodeGen/BPF/BTF/restrict-ptr.ll
+++ b/llvm/test/CodeGen/BPF/BTF/restrict-ptr.ll
@@ -6,7 +6,7 @@
; Compilation flag:
; clang -target bpf -O2 -g -S -emit-llvm t.c
- at p = common dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+ at p = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!9, !10, !11}
diff --git a/llvm/test/CodeGen/BPF/BTF/static-var-derived-type.ll b/llvm/test/CodeGen/BPF/BTF/static-var-derived-type.ll
index fedec387f3ac4..6cbca58671e9e 100644
--- a/llvm/test/CodeGen/BPF/BTF/static-var-derived-type.ll
+++ b/llvm/test/CodeGen/BPF/BTF/static-var-derived-type.ll
@@ -11,9 +11,9 @@
; Compilation flag:
; clang -target bpf -O2 -g -S -emit-llvm test.c
- at v1 = internal global ptr null, align 8, !dbg !0
- at v2 = internal global ptr null, align 8, !dbg !8
- at v3 = internal global ptr null, align 8, !dbg !14
+ at v1 = internal global ptr zeroinitializer, align 8, !dbg !0
+ at v2 = internal global ptr zeroinitializer, align 8, !dbg !8
+ at v3 = internal global ptr zeroinitializer, align 8, !dbg !14
@v4 = internal constant ptr null, align 8, !dbg !19
; Function Attrs: norecurse nounwind
diff --git a/llvm/test/CodeGen/BPF/BTF/tag-typedef.ll b/llvm/test/CodeGen/BPF/BTF/tag-typedef.ll
index 45b03a7e7d100..9517311f9e413 100644
--- a/llvm/test/CodeGen/BPF/BTF/tag-typedef.ll
+++ b/llvm/test/CodeGen/BPF/BTF/tag-typedef.ll
@@ -13,7 +13,7 @@
%struct.__s = type { i32 }
@a = dso_local local_unnamed_addr global %struct.__s zeroinitializer, align 4, !dbg !0
- at u = dso_local local_unnamed_addr global ptr null, align 8, !dbg !5
+ at u = dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !5
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!17, !18, !19, !20}
diff --git a/llvm/test/CodeGen/BPF/BTF/type-tag-var.ll b/llvm/test/CodeGen/BPF/BTF/type-tag-var.ll
index c909444023a7d..6a89457d3c7d7 100644
--- a/llvm/test/CodeGen/BPF/BTF/type-tag-var.ll
+++ b/llvm/test/CodeGen/BPF/BTF/type-tag-var.ll
@@ -8,7 +8,7 @@
; Compilation flag:
; clang -target bpf -O2 -g -S -emit-llvm test.c
- at g = dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+ at g = dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!12, !13, !14, !15}
diff --git a/llvm/test/CodeGen/BPF/CORE/offset-reloc-global-3.ll b/llvm/test/CodeGen/BPF/CORE/offset-reloc-global-3.ll
index 5bc2bf9392209..2af3a4495b85e 100644
--- a/llvm/test/CodeGen/BPF/CORE/offset-reloc-global-3.ll
+++ b/llvm/test/CodeGen/BPF/CORE/offset-reloc-global-3.ll
@@ -16,7 +16,7 @@ target triple = "bpf"
%struct.v3 = type { i32, i32 }
- at g = dso_local local_unnamed_addr global ptr null, section "stats", align 8, !dbg !0
+ at g = dso_local local_unnamed_addr global ptr zeroinitializer, section "stats", align 8, !dbg !0
; Function Attrs: nounwind
define dso_local i32 @test() local_unnamed_addr !dbg !17 {
diff --git a/llvm/test/CodeGen/Generic/2003-05-30-BadFoldGEP.ll b/llvm/test/CodeGen/Generic/2003-05-30-BadFoldGEP.ll
index db578830a3ba0..1de209b8527a0 100644
--- a/llvm/test/CodeGen/Generic/2003-05-30-BadFoldGEP.ll
+++ b/llvm/test/CodeGen/Generic/2003-05-30-BadFoldGEP.ll
@@ -18,7 +18,7 @@
;;
%FileType = type { i32, [256 x i8], i32, i32, i32, i32 }
@OutputFiles = external global [16 x %FileType] ; <ptr> [#uses=1]
- at Output = internal global ptr null ; <ptr> [#uses=1]
+ at Output = internal global ptr zeroinitializer ; <ptr> [#uses=1]
define internal i32 @OpenOutput(ptr %filename.1) {
entry:
diff --git a/llvm/test/CodeGen/Generic/2014-02-05-OpaqueConstants.ll b/llvm/test/CodeGen/Generic/2014-02-05-OpaqueConstants.ll
index cec0b32f8c4c7..d0b57d743b11a 100644
--- a/llvm/test/CodeGen/Generic/2014-02-05-OpaqueConstants.ll
+++ b/llvm/test/CodeGen/Generic/2014-02-05-OpaqueConstants.ll
@@ -2,9 +2,9 @@
; RUN: llc < %s
; XFAIL: target=r600{{.*}}
- at a = common global ptr null, align 8
+ at a = common global ptr zeroinitializer, align 8
@c = common global i32 0, align 4
- at b = common global ptr null, align 8
+ at b = common global ptr zeroinitializer, align 8
; Function Attrs: nounwind ssp uwtable
define void @fn() {
diff --git a/llvm/test/CodeGen/Hexagon/adjust-latency-stackST.ll b/llvm/test/CodeGen/Hexagon/adjust-latency-stackST.ll
index 56c04c27ba84a..d335e3030e174 100644
--- a/llvm/test/CodeGen/Hexagon/adjust-latency-stackST.ll
+++ b/llvm/test/CodeGen/Hexagon/adjust-latency-stackST.ll
@@ -15,7 +15,7 @@
%struct.1 = type { i32, i32, [31 x i8] }
%struct.2 = type { %struct.1 }
- at G = common global ptr null, align 4
+ at G = common global ptr zeroinitializer, align 4
define i32 @test(ptr nocapture %a0) #0 {
b1:
diff --git a/llvm/test/CodeGen/Hexagon/assert-postinc-ptr-not-value.ll b/llvm/test/CodeGen/Hexagon/assert-postinc-ptr-not-value.ll
index 674c3e1dbdafc..5cd340fd3c587 100644
--- a/llvm/test/CodeGen/Hexagon/assert-postinc-ptr-not-value.ll
+++ b/llvm/test/CodeGen/Hexagon/assert-postinc-ptr-not-value.ll
@@ -5,7 +5,7 @@ target triple = "hexagon"
%s.0 = type { i32 }
- at g0 = internal unnamed_addr global ptr null, section ".data.............", align 4
+ at g0 = internal unnamed_addr global ptr zeroinitializer, section ".data.............", align 4
@g1 = internal global i32 0, section ".data.............", align 4
; Function Attrs: nounwind
diff --git a/llvm/test/CodeGen/Hexagon/callr-dep-edge.ll b/llvm/test/CodeGen/Hexagon/callr-dep-edge.ll
index 5e2af3c6533e9..70fdc23535b73 100644
--- a/llvm/test/CodeGen/Hexagon/callr-dep-edge.ll
+++ b/llvm/test/CodeGen/Hexagon/callr-dep-edge.ll
@@ -3,7 +3,7 @@
target triple = "hexagon"
- at fp = common global ptr null, align 4
+ at fp = common global ptr zeroinitializer, align 4
; CHECK: [[REG:r[0-9]+]] = memw
; CHECK: {
diff --git a/llvm/test/CodeGen/Hexagon/constext-immstore.ll b/llvm/test/CodeGen/Hexagon/constext-immstore.ll
index 6f7bc17beb9d5..0f721af3d4abf 100644
--- a/llvm/test/CodeGen/Hexagon/constext-immstore.ll
+++ b/llvm/test/CodeGen/Hexagon/constext-immstore.ll
@@ -13,7 +13,7 @@
@g3 = private unnamed_addr constant [3 x i8] c"if\00", align 1
@g4 = global [4 x %s.0] [%s.0 { i8 1, i8 38, ptr @g0, i8 1, i32 8, ptr null, ptr null }, %s.0 { i8 2, i8 124, ptr @g1, i8 1, i32 7, ptr null, ptr null }, %s.0 { i8 3, i8 62, ptr @g2, i8 1, i32 1, ptr null, ptr null }, %s.0 { i8 4, i8 60, ptr @g3, i8 1, i32 1, ptr null, ptr null }], align 8
@g5 = internal global [64 x i8] zeroinitializer, align 8
- at g6 = internal unnamed_addr global ptr null, align 4
+ at g6 = internal unnamed_addr global ptr zeroinitializer, align 4
; Function Attrs: nounwind
define ptr @f0() #0 {
diff --git a/llvm/test/CodeGen/Hexagon/hwloop-recursion.ll b/llvm/test/CodeGen/Hexagon/hwloop-recursion.ll
index 0ab792234dbd6..4de3145df9f4f 100644
--- a/llvm/test/CodeGen/Hexagon/hwloop-recursion.ll
+++ b/llvm/test/CodeGen/Hexagon/hwloop-recursion.ll
@@ -4,10 +4,10 @@
@c = common global i32 0, align 4
@e = common global i32 0, align 4
- at g = common global ptr null, align 4
+ at g = common global ptr zeroinitializer, align 4
@a = common global i32 0, align 4
@b = common global i32 0, align 4
- at h = common global ptr null, align 4
+ at h = common global ptr zeroinitializer, align 4
@d = common global i32 0, align 4
@f = common global i32 0, align 4
diff --git a/llvm/test/CodeGen/Hexagon/intrinsics/atomic_load.ll b/llvm/test/CodeGen/Hexagon/intrinsics/atomic_load.ll
index 30afb93732e46..8f150397e214c 100644
--- a/llvm/test/CodeGen/Hexagon/intrinsics/atomic_load.ll
+++ b/llvm/test/CodeGen/Hexagon/intrinsics/atomic_load.ll
@@ -13,8 +13,8 @@
@i32Dest = global i32 0, align 4
@i64Src = global i64 0, align 8
@i64Dest = global i64 0, align 8
- at ptrSrc = global ptr null, align 4
- at ptrDest = global ptr null, align 4
+ at ptrSrc = global ptr zeroinitializer, align 4
+ at ptrDest = global ptr zeroinitializer, align 4
define void @load_i8() #0 {
entry:
diff --git a/llvm/test/CodeGen/Hexagon/intrinsics/atomic_store.ll b/llvm/test/CodeGen/Hexagon/intrinsics/atomic_store.ll
index 124e480b894a6..7992087b9886b 100644
--- a/llvm/test/CodeGen/Hexagon/intrinsics/atomic_store.ll
+++ b/llvm/test/CodeGen/Hexagon/intrinsics/atomic_store.ll
@@ -13,8 +13,8 @@
@i32Dest = global i32 0, align 4
@i64Src = global i64 0, align 8
@i64Dest = global i64 0, align 8
- at ptrSrc = global ptr null, align 4
- at ptrDest = global ptr null, align 4
+ at ptrSrc = global ptr zeroinitializer, align 4
+ at ptrDest = global ptr zeroinitializer, align 4
define void @store_i8() #0 {
entry:
diff --git a/llvm/test/CodeGen/Hexagon/intrinsics/atomicrmw_addsub_native.ll b/llvm/test/CodeGen/Hexagon/intrinsics/atomicrmw_addsub_native.ll
index b1c5b3b54d91d..e0df0789895e9 100644
--- a/llvm/test/CodeGen/Hexagon/intrinsics/atomicrmw_addsub_native.ll
+++ b/llvm/test/CodeGen/Hexagon/intrinsics/atomicrmw_addsub_native.ll
@@ -17,9 +17,9 @@
@i64First = global i64 0, align 8
@i64Second = global i64 0, align 8
@i64Result = global i64 0, align 8
- at ptrFirst = global ptr null, align 4
- at ptrSecond = global ptr null, align 4
- at ptrResult = global ptr null, align 4
+ at ptrFirst = global ptr zeroinitializer, align 4
+ at ptrSecond = global ptr zeroinitializer, align 4
+ at ptrResult = global ptr zeroinitializer, align 4
define void @atomicrmw_op_i32() #0 {
BINARY_OP_entry:
diff --git a/llvm/test/CodeGen/Hexagon/memcpy-likely-aligned.ll b/llvm/test/CodeGen/Hexagon/memcpy-likely-aligned.ll
index fe21f69d52901..0846c71f92a9d 100644
--- a/llvm/test/CodeGen/Hexagon/memcpy-likely-aligned.ll
+++ b/llvm/test/CodeGen/Hexagon/memcpy-likely-aligned.ll
@@ -13,7 +13,7 @@ target triple = "hexagon-unknown-linux-gnu"
@y = global { <{ { %struct.e, { i8, i8, i8, [5 x i8] }, %struct.e }, { %struct.e, { i8, i8, i8, [5 x i8] }, %struct.e } }> } { <{ { %struct.e, { i8, i8, i8, [5 x i8] }, %struct.e }, { %struct.e, { i8, i8, i8, [5 x i8] }, %struct.e } }> <{ { %struct.e, { i8, i8, i8, [5 x i8] }, %struct.e } { %struct.e { i8 3, i8 0, [2 x i8] undef }, { i8, i8, i8, [5 x i8] } { i8 -47, i8 2, i8 0, [5 x i8] undef }, %struct.e { i8 3, i8 0, [2 x i8] undef } }, { %struct.e, { i8, i8, i8, [5 x i8] }, %struct.e } { %struct.e { i8 3, i8 0, [2 x i8] undef }, { i8, i8, i8, [5 x i8] } { i8 -47, i8 2, i8 0, [5 x i8] undef }, %struct.e { i8 3, i8 0, [2 x i8] undef } } }> }, align 4
@t = common global %struct.s zeroinitializer, align 4
- at q = internal global ptr null, align 4
+ at q = internal global ptr zeroinitializer, align 4
define void @foo() nounwind {
entry:
diff --git a/llvm/test/CodeGen/Hexagon/rdf-inline-asm.ll b/llvm/test/CodeGen/Hexagon/rdf-inline-asm.ll
index 88af26b5c5971..b053dceb6b3e0 100644
--- a/llvm/test/CodeGen/Hexagon/rdf-inline-asm.ll
+++ b/llvm/test/CodeGen/Hexagon/rdf-inline-asm.ll
@@ -4,7 +4,7 @@
target datalayout = "e-m:e-p:32:32:32-i64:64:64-i32:32:32-i16:16:16-i1:8:8-f64:64:64-f32:32:32-v64:64:64-v32:32:32-a:0-n16:32"
target triple = "hexagon"
- at x = common global ptr null, align 4
+ at x = common global ptr zeroinitializer, align 4
; Function Attrs: nounwind
define i32 @inotify_init() #0 {
diff --git a/llvm/test/CodeGen/Hexagon/regscav-wrong-super-sub-regs.ll b/llvm/test/CodeGen/Hexagon/regscav-wrong-super-sub-regs.ll
index e3c5c525ead76..139c345492d66 100644
--- a/llvm/test/CodeGen/Hexagon/regscav-wrong-super-sub-regs.ll
+++ b/llvm/test/CodeGen/Hexagon/regscav-wrong-super-sub-regs.ll
@@ -15,7 +15,7 @@
@g1 = common global %s.0 zeroinitializer, align 4
@g2 = common global i32 0, align 4
@g3 = common global i32 0, align 4
- at g4 = common global ptr null, align 4
+ at g4 = common global ptr zeroinitializer, align 4
@g5 = common global i32 0, align 4
@g6 = common global i32 0, align 4
diff --git a/llvm/test/CodeGen/Hexagon/swp-dependent-phis.ll b/llvm/test/CodeGen/Hexagon/swp-dependent-phis.ll
index 6d324029966d7..46464208203f0 100644
--- a/llvm/test/CodeGen/Hexagon/swp-dependent-phis.ll
+++ b/llvm/test/CodeGen/Hexagon/swp-dependent-phis.ll
@@ -10,7 +10,7 @@
;In some cases, SU0 is scheduled earlier than SU1 resulting in bad
;IR as we do not have a value that can be used by SU2.
- at global = common dso_local local_unnamed_addr global ptr null, align 4
+ at global = common dso_local local_unnamed_addr global ptr zeroinitializer, align 4
@global.1 = common dso_local local_unnamed_addr global i32 0, align 4
@global.2 = common dso_local local_unnamed_addr global i16 0, align 2
@global.3 = common dso_local local_unnamed_addr global i16 0, align 2
diff --git a/llvm/test/CodeGen/Hexagon/swp-swap.ll b/llvm/test/CodeGen/Hexagon/swp-swap.ll
index a1a1adcaaa232..9bf100078003c 100644
--- a/llvm/test/CodeGen/Hexagon/swp-swap.ll
+++ b/llvm/test/CodeGen/Hexagon/swp-swap.ll
@@ -5,7 +5,7 @@
; STATS-NOT: 1 pipeliner - Number of loops software pipelined
- at g0 = common global ptr null, align 4
+ at g0 = common global ptr zeroinitializer, align 4
; Function Attrs: nounwind
define void @f0(i32 %a0, i32 %a1, i32 %a2) #0 {
diff --git a/llvm/test/CodeGen/Lanai/codemodel.ll b/llvm/test/CodeGen/Lanai/codemodel.ll
index 75559c99bb80e..7b31b4633c8ad 100644
--- a/llvm/test/CodeGen/Lanai/codemodel.ll
+++ b/llvm/test/CodeGen/Lanai/codemodel.ll
@@ -33,7 +33,7 @@ entry:
ret i32 %0
}
- at y = local_unnamed_addr global ptr null, section ".ldata,block", align 8
+ at y = local_unnamed_addr global ptr zeroinitializer, section ".ldata,block", align 8
define i32 @foo2() nounwind readonly {
entry:
diff --git a/llvm/test/CodeGen/LoongArch/block-address.ll b/llvm/test/CodeGen/LoongArch/block-address.ll
index 114cbb73a5125..d69a6ad943df8 100644
--- a/llvm/test/CodeGen/LoongArch/block-address.ll
+++ b/llvm/test/CodeGen/LoongArch/block-address.ll
@@ -2,7 +2,7 @@
; RUN: llc --mtriple=loongarch32 -mattr=+d < %s | FileCheck %s --check-prefix=LA32
; RUN: llc --mtriple=loongarch64 -mattr=+d < %s | FileCheck %s --check-prefix=LA64
- at addr = dso_local global ptr null
+ at addr = dso_local global ptr zeroinitializer
define void @test_blockaddress() nounwind {
; LA32-LABEL: test_blockaddress:
diff --git a/llvm/test/CodeGen/M68k/CodeModel/Large/large-pic.ll b/llvm/test/CodeGen/M68k/CodeModel/Large/large-pic.ll
index c937efa60b72b..652be24e339f5 100644
--- a/llvm/test/CodeGen/M68k/CodeModel/Large/large-pic.ll
+++ b/llvm/test/CodeGen/M68k/CodeModel/Large/large-pic.ll
@@ -26,7 +26,7 @@ entry:
ret void
}
- at ptr2 = global ptr null
+ at ptr2 = global ptr zeroinitializer
@dst2 = global i32 0
@src2 = global i32 0
@@ -102,7 +102,7 @@ entry:
ret void
}
- at ptr6 = internal global ptr null
+ at ptr6 = internal global ptr zeroinitializer
@dst6 = internal global i32 0
@src6 = internal global i32 0
diff --git a/llvm/test/CodeGen/M68k/CodeModel/Large/large-static.ll b/llvm/test/CodeGen/M68k/CodeModel/Large/large-static.ll
index fb38cd9582bd1..cbdb2a6cb99d1 100644
--- a/llvm/test/CodeGen/M68k/CodeModel/Large/large-static.ll
+++ b/llvm/test/CodeGen/M68k/CodeModel/Large/large-static.ll
@@ -20,7 +20,7 @@ entry:
ret void
}
- at ptr2 = global ptr null
+ at ptr2 = global ptr zeroinitializer
@dst2 = global i32 0
@src2 = global i32 0
@@ -87,7 +87,7 @@ entry:
ret void
}
- at ptr6 = internal global ptr null
+ at ptr6 = internal global ptr zeroinitializer
@dst6 = internal global i32 0
@src6 = internal global i32 0
diff --git a/llvm/test/CodeGen/M68k/CodeModel/Medium/medium-pic.ll b/llvm/test/CodeGen/M68k/CodeModel/Medium/medium-pic.ll
index 407bbd48bc7f8..43835e35012c3 100644
--- a/llvm/test/CodeGen/M68k/CodeModel/Medium/medium-pic.ll
+++ b/llvm/test/CodeGen/M68k/CodeModel/Medium/medium-pic.ll
@@ -23,7 +23,7 @@ entry:
ret void
}
- at ptr2 = global ptr null
+ at ptr2 = global ptr zeroinitializer
@dst2 = global i32 0
@src2 = global i32 0
@@ -93,7 +93,7 @@ entry:
ret void
}
- at ptr6 = internal global ptr null
+ at ptr6 = internal global ptr zeroinitializer
@dst6 = internal global i32 0
@src6 = internal global i32 0
diff --git a/llvm/test/CodeGen/M68k/CodeModel/Medium/medium-static.ll b/llvm/test/CodeGen/M68k/CodeModel/Medium/medium-static.ll
index 79512dcc86398..2823cf6baf793 100644
--- a/llvm/test/CodeGen/M68k/CodeModel/Medium/medium-static.ll
+++ b/llvm/test/CodeGen/M68k/CodeModel/Medium/medium-static.ll
@@ -20,7 +20,7 @@ entry:
ret void
}
- at ptr2 = global ptr null
+ at ptr2 = global ptr zeroinitializer
@dst2 = global i32 0
@src2 = global i32 0
@@ -87,7 +87,7 @@ entry:
ret void
}
- at ptr6 = internal global ptr null
+ at ptr6 = internal global ptr zeroinitializer
@dst6 = internal global i32 0
@src6 = internal global i32 0
diff --git a/llvm/test/CodeGen/M68k/CodeModel/Small/small-pic.ll b/llvm/test/CodeGen/M68k/CodeModel/Small/small-pic.ll
index 37115953e5be3..3ba624e5f7692 100644
--- a/llvm/test/CodeGen/M68k/CodeModel/Small/small-pic.ll
+++ b/llvm/test/CodeGen/M68k/CodeModel/Small/small-pic.ll
@@ -23,7 +23,7 @@ entry:
ret void
}
- at ptr2 = global ptr null
+ at ptr2 = global ptr zeroinitializer
@dst2 = global i32 0
@src2 = global i32 0
@@ -93,7 +93,7 @@ entry:
ret void
}
- at ptr6 = internal global ptr null
+ at ptr6 = internal global ptr zeroinitializer
@dst6 = internal global i32 0
@src6 = internal global i32 0
diff --git a/llvm/test/CodeGen/M68k/CodeModel/Small/small-static.ll b/llvm/test/CodeGen/M68k/CodeModel/Small/small-static.ll
index 1b946c19b250f..25499a11cbc61 100644
--- a/llvm/test/CodeGen/M68k/CodeModel/Small/small-static.ll
+++ b/llvm/test/CodeGen/M68k/CodeModel/Small/small-static.ll
@@ -21,7 +21,7 @@ entry:
ret void
}
- at ptr2 = global ptr null
+ at ptr2 = global ptr zeroinitializer
@dst2 = global i32 0
@src2 = global i32 0
@@ -88,7 +88,7 @@ entry:
ret void
}
- at ptr6 = internal global ptr null
+ at ptr6 = internal global ptr zeroinitializer
@dst6 = internal global i32 0
@src6 = internal global i32 0
diff --git a/llvm/test/CodeGen/MIR/AArch64/stack-object-local-offset.mir b/llvm/test/CodeGen/MIR/AArch64/stack-object-local-offset.mir
index a86826ce26219..a4ffdba22a3df 100644
--- a/llvm/test/CodeGen/MIR/AArch64/stack-object-local-offset.mir
+++ b/llvm/test/CodeGen/MIR/AArch64/stack-object-local-offset.mir
@@ -2,7 +2,7 @@
--- |
@var = global i64 0
- @local_addr = global ptr null
+ @local_addr = global ptr zeroinitializer
define void @stack_local() {
entry:
diff --git a/llvm/test/CodeGen/MIR/X86/block-address-operands.mir b/llvm/test/CodeGen/MIR/X86/block-address-operands.mir
index 64d4d00fc0e98..0a31ba0b6b315 100644
--- a/llvm/test/CodeGen/MIR/X86/block-address-operands.mir
+++ b/llvm/test/CodeGen/MIR/X86/block-address-operands.mir
@@ -4,7 +4,7 @@
--- |
- @addr = global ptr null
+ @addr = global ptr zeroinitializer
define void @test() {
entry:
diff --git a/llvm/test/CodeGen/MIR/X86/expected-block-reference-in-blockaddress.mir b/llvm/test/CodeGen/MIR/X86/expected-block-reference-in-blockaddress.mir
index a8ab62904c283..f9a55b7678a65 100644
--- a/llvm/test/CodeGen/MIR/X86/expected-block-reference-in-blockaddress.mir
+++ b/llvm/test/CodeGen/MIR/X86/expected-block-reference-in-blockaddress.mir
@@ -3,7 +3,7 @@
--- |
- @addr = global ptr null
+ @addr = global ptr zeroinitializer
define void @test() {
entry:
diff --git a/llvm/test/CodeGen/MIR/X86/expected-function-reference-after-blockaddress.mir b/llvm/test/CodeGen/MIR/X86/expected-function-reference-after-blockaddress.mir
index d91a92869763e..ae9823a89abea 100644
--- a/llvm/test/CodeGen/MIR/X86/expected-function-reference-after-blockaddress.mir
+++ b/llvm/test/CodeGen/MIR/X86/expected-function-reference-after-blockaddress.mir
@@ -2,7 +2,7 @@
--- |
- @addr = global ptr null
+ @addr = global ptr zeroinitializer
define void @test() {
entry:
diff --git a/llvm/test/CodeGen/MIR/X86/expected-global-value-after-blockaddress.mir b/llvm/test/CodeGen/MIR/X86/expected-global-value-after-blockaddress.mir
index c4c4bcb150a67..463c8a60ef696 100644
--- a/llvm/test/CodeGen/MIR/X86/expected-global-value-after-blockaddress.mir
+++ b/llvm/test/CodeGen/MIR/X86/expected-global-value-after-blockaddress.mir
@@ -2,7 +2,7 @@
--- |
- @addr = global ptr null
+ @addr = global ptr zeroinitializer
define void @test() {
entry:
diff --git a/llvm/test/CodeGen/MIR/X86/undefined-ir-block-in-blockaddress.mir b/llvm/test/CodeGen/MIR/X86/undefined-ir-block-in-blockaddress.mir
index a88a9308d0d58..edb3ac0d8db76 100644
--- a/llvm/test/CodeGen/MIR/X86/undefined-ir-block-in-blockaddress.mir
+++ b/llvm/test/CodeGen/MIR/X86/undefined-ir-block-in-blockaddress.mir
@@ -2,7 +2,7 @@
--- |
- @addr = global ptr null
+ @addr = global ptr zeroinitializer
define void @test() {
entry:
diff --git a/llvm/test/CodeGen/MIR/X86/undefined-ir-block-slot-in-blockaddress.mir b/llvm/test/CodeGen/MIR/X86/undefined-ir-block-slot-in-blockaddress.mir
index ed860d23ede56..11e59d80565b6 100644
--- a/llvm/test/CodeGen/MIR/X86/undefined-ir-block-slot-in-blockaddress.mir
+++ b/llvm/test/CodeGen/MIR/X86/undefined-ir-block-slot-in-blockaddress.mir
@@ -2,7 +2,7 @@
--- |
- @addr = global ptr null
+ @addr = global ptr zeroinitializer
define void @test() {
entry:
diff --git a/llvm/test/CodeGen/MSP430/indirectbr.ll b/llvm/test/CodeGen/MSP430/indirectbr.ll
index 07c5c610f4c04..17b95211c8c14 100644
--- a/llvm/test/CodeGen/MSP430/indirectbr.ll
+++ b/llvm/test/CodeGen/MSP430/indirectbr.ll
@@ -1,6 +1,6 @@
; RUN: llc -mtriple=msp430 < %s
- at nextaddr = global ptr null ; <i8**> [#uses=2]
+ at nextaddr = global ptr zeroinitializer ; <i8**> [#uses=2]
@C.0.2070 = private constant [5 x ptr] [ptr blockaddress(@foo, %L1), ptr blockaddress(@foo, %L2), ptr blockaddress(@foo, %L3), ptr blockaddress(@foo, %L4), ptr blockaddress(@foo, %L5)] ; <[5 x i8*]*> [#uses=1]
define internal i16 @foo(i16 %i) nounwind {
diff --git a/llvm/test/CodeGen/Mips/Fast-ISel/loadstrconst.ll b/llvm/test/CodeGen/Mips/Fast-ISel/loadstrconst.ll
index e68546549e6c1..8e5f3665e4c6f 100644
--- a/llvm/test/CodeGen/Mips/Fast-ISel/loadstrconst.ll
+++ b/llvm/test/CodeGen/Mips/Fast-ISel/loadstrconst.ll
@@ -4,7 +4,7 @@
; RUN: < %s | FileCheck %s
@.str = private unnamed_addr constant [6 x i8] c"hello\00", align 1
- at s = common global ptr null, align 4
+ at s = common global ptr zeroinitializer, align 4
; Function Attrs: nounwind
define void @foo() #0 {
diff --git a/llvm/test/CodeGen/Mips/blockaddr.ll b/llvm/test/CodeGen/Mips/blockaddr.ll
index 92184e7ed6bdd..798250bf9b131 100644
--- a/llvm/test/CodeGen/Mips/blockaddr.ll
+++ b/llvm/test/CodeGen/Mips/blockaddr.ll
@@ -13,7 +13,7 @@
; RUN: llc -mtriple=mipsel-linux-gnu -mcpu=mips32 -mattr=+mips16 \
; RUN: -relocation-model=static < %s | FileCheck %s -check-prefix=STATIC-MIPS16
- at reg = common global ptr null, align 4
+ at reg = common global ptr zeroinitializer, align 4
define ptr @dummy(ptr %x) nounwind readnone noinline {
entry:
diff --git a/llvm/test/CodeGen/Mips/brdelayslot.ll b/llvm/test/CodeGen/Mips/brdelayslot.ll
index da14564b77e64..7aceb87cabe2f 100644
--- a/llvm/test/CodeGen/Mips/brdelayslot.ll
+++ b/llvm/test/CodeGen/Mips/brdelayslot.ll
@@ -96,7 +96,7 @@ declare void @foo7(double, float)
; STATICO1: jalr ${{[0-9]+}}
; STATICO1-NEXT: sw ${{[0-9]+}}, %lo(g1)
- at foo9 = common global ptr null, align 4
+ at foo9 = common global ptr zeroinitializer, align 4
define i32 @foo8(i32 %a) nounwind {
entry:
diff --git a/llvm/test/CodeGen/Mips/cmov.ll b/llvm/test/CodeGen/Mips/cmov.ll
index bb3c7c27a122d..942a3260dec51 100644
--- a/llvm/test/CodeGen/Mips/cmov.ll
+++ b/llvm/test/CodeGen/Mips/cmov.ll
@@ -7,7 +7,7 @@
; RUN: llc -mtriple=mips64el -mcpu=mips64r6 -relocation-model=pic < %s | FileCheck %s -check-prefixes=ALL,64-CMP
@i1 = global [3 x i32] [i32 1, i32 2, i32 3], align 4
- at i3 = common global ptr null, align 4
+ at i3 = common global ptr zeroinitializer, align 4
; ALL-LABEL: cmov1:
diff --git a/llvm/test/CodeGen/Mips/int-to-float-conversion.ll b/llvm/test/CodeGen/Mips/int-to-float-conversion.ll
index 1c8ad9ad07e15..4e4c978d452dc 100644
--- a/llvm/test/CodeGen/Mips/int-to-float-conversion.ll
+++ b/llvm/test/CodeGen/Mips/int-to-float-conversion.ll
@@ -12,7 +12,7 @@
; Test various combinations of 32/64bit GP registers and single/double floating point support.
@i1 = global [3 x i32] [i32 1, i32 2, i32 3], align 4
- at i3 = common global ptr null, align 4
+ at i3 = common global ptr zeroinitializer, align 4
; ALL-LABEL: test_float_int_:
; 32: mtc1 ${{[0-9]+}}, $f[[R0:[0-9]+]]
diff --git a/llvm/test/CodeGen/Mips/internalfunc.ll b/llvm/test/CodeGen/Mips/internalfunc.ll
index 34bf5d03d8f98..bbd3e2b41acec 100644
--- a/llvm/test/CodeGen/Mips/internalfunc.ll
+++ b/llvm/test/CodeGen/Mips/internalfunc.ll
@@ -1,6 +1,6 @@
; RUN: llc < %s -mtriple=mipsel -relocation-model=pic | FileCheck %s
- at caller.sf1 = internal unnamed_addr global ptr null, align 4
+ at caller.sf1 = internal unnamed_addr global ptr zeroinitializer, align 4
@gf1 = external global ptr
@.str = private unnamed_addr constant [3 x i8] c"f2\00"
diff --git a/llvm/test/CodeGen/Mips/mipslopat.ll b/llvm/test/CodeGen/Mips/mipslopat.ll
index 109bf5ebb2651..5fddf09cb82da 100644
--- a/llvm/test/CodeGen/Mips/mipslopat.ll
+++ b/llvm/test/CodeGen/Mips/mipslopat.ll
@@ -1,8 +1,8 @@
-; This test does not check the machine code output.
-; RUN: llc -mtriple=mips < %s
+; This test does not check the machine code output.
+; RUN: llc -mtriple=mips < %s
- at stat_vol_ptr_int = internal global ptr null, align 4
- at stat_ptr_vol_int = internal global ptr null, align 4
+ at stat_vol_ptr_int = internal global ptr zeroinitializer, align 4
+ at stat_ptr_vol_int = internal global ptr zeroinitializer, align 4
define void @simple_vol_file() nounwind {
entry:
diff --git a/llvm/test/CodeGen/Mips/stchar.ll b/llvm/test/CodeGen/Mips/stchar.ll
index f9bb1b0c2fb11..1effbc35a186a 100644
--- a/llvm/test/CodeGen/Mips/stchar.ll
+++ b/llvm/test/CodeGen/Mips/stchar.ll
@@ -2,8 +2,8 @@
; RUN: llc -mtriple=mipsel -mattr=mips16 -relocation-model=pic -O3 < %s | FileCheck %s -check-prefix=16_b
@.str = private unnamed_addr constant [9 x i8] c"%hd %c \0A\00", align 1
- at sp = common global ptr null, align 4
- at cp = common global ptr null, align 4
+ at sp = common global ptr zeroinitializer, align 4
+ at cp = common global ptr zeroinitializer, align 4
declare i32 @printf(ptr nocapture, ...) nounwind
diff --git a/llvm/test/CodeGen/Mips/weak.ll b/llvm/test/CodeGen/Mips/weak.ll
index 021cc6b9d7265..46bc9d6aa5c3f 100644
--- a/llvm/test/CodeGen/Mips/weak.ll
+++ b/llvm/test/CodeGen/Mips/weak.ll
@@ -1,6 +1,6 @@
; RUN: llc -mtriple=mips < %s | FileCheck %s
- at t = common global ptr null, align 4
+ at t = common global ptr zeroinitializer, align 4
define void @f() nounwind {
entry:
diff --git a/llvm/test/CodeGen/NVPTX/inline-asm-b128-test2.ll b/llvm/test/CodeGen/NVPTX/inline-asm-b128-test2.ll
index e4ca0cb71e7bb..ac34f0e6fa19f 100644
--- a/llvm/test/CodeGen/NVPTX/inline-asm-b128-test2.ll
+++ b/llvm/test/CodeGen/NVPTX/inline-asm-b128-test2.ll
@@ -12,7 +12,7 @@ target triple = "nvptx64-nvidia-cuda"
@v_u128_zero = internal addrspace(1) global i128 0, align 16
@v_i128_max = internal addrspace(1) global i128 0, align 16
@v_i128_min = internal addrspace(1) global i128 0, align 16
- at v64 = internal addrspace(1) global ptr null, align 8
+ at v64 = internal addrspace(1) global ptr zeroinitializer, align 8
define void @test_corner_values() {
; CHECK-LABEL: test_corner_values(
diff --git a/llvm/test/CodeGen/NVPTX/lower-ctor-dtor.ll b/llvm/test/CodeGen/NVPTX/lower-ctor-dtor.ll
index b503da4a0bfde..de0a0340b536b 100644
--- a/llvm/test/CodeGen/NVPTX/lower-ctor-dtor.ll
+++ b/llvm/test/CodeGen/NVPTX/lower-ctor-dtor.ll
@@ -20,14 +20,14 @@
; CHECK: @__init_array_object_foo_[[HASH:[0-9a-f]+]]_1 = protected addrspace(4) constant ptr @foo, section ".init_array.1"
; CHECK: @__fini_array_object_bar_[[HASH:[0-9a-f]+]]_1 = protected addrspace(4) constant ptr @bar, section ".fini_array.1"
; CHECK: @llvm.used = appending global [2 x ptr] [ptr addrspacecast (ptr addrspace(4) @__init_array_object_foo_[[HASH]]_1 to ptr), ptr addrspacecast (ptr addrspace(4) @__fini_array_object_bar_[[HASH]]_1 to ptr)], section "llvm.metadata"
-; CHECK: @__fini_array_start = weak protected addrspace(1) global ptr null
-; CHECK: @__fini_array_end = weak protected addrspace(1) global ptr null
+; CHECK: @__fini_array_start = weak protected addrspace(1) global ptr zeroinitializer
+; CHECK: @__fini_array_end = weak protected addrspace(1) global ptr zeroinitializer
; GLOBAL: @__init_array_object_foo_unique_id_1 = protected addrspace(4) constant ptr @foo, section ".init_array.1"
; GLOBAL: @__fini_array_object_bar_unique_id_1 = protected addrspace(4) constant ptr @bar, section ".fini_array.1"
; GLOBAL: @llvm.used = appending global [2 x ptr] [ptr addrspacecast (ptr addrspace(4) @__init_array_object_foo_unique_id_1 to ptr), ptr addrspacecast (ptr addrspace(4) @__fini_array_object_bar_unique_id_1 to ptr)], section "llvm.metadata"
-; GLOBAL: @__fini_array_start = weak protected addrspace(1) global ptr null
-; GLOBAL: @__fini_array_end = weak protected addrspace(1) global ptr null
+; GLOBAL: @__fini_array_start = weak protected addrspace(1) global ptr zeroinitializer
+; GLOBAL: @__fini_array_end = weak protected addrspace(1) global ptr zeroinitializer
; KERNEL: @__init_array_object_foo_[[HASH:[0-9a-f]+]]_1 = protected addrspace(4) constant ptr @foo, section ".init_array.1"
; KERNEL: @__fini_array_object_bar_[[HASH:[0-9a-f]+]]_1 = protected addrspace(4) constant ptr @bar, section ".fini_array.1"
diff --git a/llvm/test/CodeGen/NVPTX/noreturn.ll b/llvm/test/CodeGen/NVPTX/noreturn.ll
index 0062e62756d36..219ebccad9bc0 100644
--- a/llvm/test/CodeGen/NVPTX/noreturn.ll
+++ b/llvm/test/CodeGen/NVPTX/noreturn.ll
@@ -1,7 +1,7 @@
; RUN: llc < %s -mtriple=nvptx64 -mattr=+ptx64 -mcpu=sm_30 | FileCheck %s
; RUN: %if ptxas-isa-6.0 %{llc < %s -mtriple=nvptx64 -mattr=+ptx60 -mcpu=sm_30 | %ptxas-verify %}
- at function_pointer = addrspace(1) global ptr null
+ at function_pointer = addrspace(1) global ptr zeroinitializer
; CHECK: .func trap_wrapper
; CHECK-NEXT: ()
diff --git a/llvm/test/CodeGen/PowerPC/2016-04-28-setjmp.ll b/llvm/test/CodeGen/PowerPC/2016-04-28-setjmp.ll
index 8e06951301c52..3dd099183d5cf 100644
--- a/llvm/test/CodeGen/PowerPC/2016-04-28-setjmp.ll
+++ b/llvm/test/CodeGen/PowerPC/2016-04-28-setjmp.ll
@@ -2,7 +2,7 @@
target datalayout = "e-m:e-i64:64-n32:64"
target triple = "powerpc64le-unknown-linux-gnu"
- at ptr = common global ptr null, align 8
+ at ptr = common global ptr zeroinitializer, align 8
; Verify there's no junk between these two instructions from misemitted
; EH_SjLj_Setup.
diff --git a/llvm/test/CodeGen/PowerPC/aix-xcoff-data-only-notoc.ll b/llvm/test/CodeGen/PowerPC/aix-xcoff-data-only-notoc.ll
index 669e0070d08b7..81892ce93cd02 100644
--- a/llvm/test/CodeGen/PowerPC/aix-xcoff-data-only-notoc.ll
+++ b/llvm/test/CodeGen/PowerPC/aix-xcoff-data-only-notoc.ll
@@ -12,7 +12,7 @@
@c = external global i16, align 2
@globa = common global i32 0, align 4
- at ptr = internal global ptr null, align 4
+ at ptr = internal global ptr zeroinitializer, align 4
; CHECK-NOT: .toc
; SYMS-NOT: Name: TOC
diff --git a/llvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll b/llvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll
index fdd7c75fa8c83..be13643d02298 100644
--- a/llvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll
+++ b/llvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll
@@ -18,7 +18,7 @@
@c = external global i16, align 2
@globa = common global i32 0, align 4
- at ptr = internal global ptr null, align 4
+ at ptr = internal global ptr zeroinitializer, align 4
declare void @foo()
diff --git a/llvm/test/CodeGen/PowerPC/cse-despite-rounding-mode.ll b/llvm/test/CodeGen/PowerPC/cse-despite-rounding-mode.ll
index 876213736190f..948893da4524a 100644
--- a/llvm/test/CodeGen/PowerPC/cse-despite-rounding-mode.ll
+++ b/llvm/test/CodeGen/PowerPC/cse-despite-rounding-mode.ll
@@ -14,7 +14,7 @@
; RUN: -mcpu=pwr9 -ppc-asm-full-reg-names < %s | grep 'xvmuldp' | count 2
; RUN: llc -verify-machineinstrs --mtriple powerpc64le-unknown-linux-gnu \
; RUN: -mcpu=pwr10 -ppc-asm-full-reg-names < %s | grep 'xvmuldp' | count 2
- at IndirectCallPtr = dso_local local_unnamed_addr global ptr null, align 8
+ at IndirectCallPtr = dso_local local_unnamed_addr global ptr zeroinitializer, align 8
define dso_local signext i32 @func1() local_unnamed_addr #0 {
entry:
diff --git a/llvm/test/CodeGen/PowerPC/ctrloop-s000.ll b/llvm/test/CodeGen/PowerPC/ctrloop-s000.ll
index 1e32536d07075..96706e0c28a54 100644
--- a/llvm/test/CodeGen/PowerPC/ctrloop-s000.ll
+++ b/llvm/test/CodeGen/PowerPC/ctrloop-s000.ll
@@ -22,8 +22,8 @@ target triple = "powerpc64-unknown-linux-gnu"
@e = common global [16000 x double] zeroinitializer, align 32
@tt = common global [256 x [256 x double]] zeroinitializer, align 32
@indx = common global [16000 x i32] zeroinitializer, align 32
- at xx = common global ptr null, align 8
- at yy = common global ptr null, align 8
+ at xx = common global ptr zeroinitializer, align 8
+ at yy = common global ptr zeroinitializer, align 8
define i32 @s000() nounwind {
entry:
diff --git a/llvm/test/CodeGen/PowerPC/fold-remove-li.ll b/llvm/test/CodeGen/PowerPC/fold-remove-li.ll
index 780cd72a864f0..80cd8fc60ffbb 100644
--- a/llvm/test/CodeGen/PowerPC/fold-remove-li.ll
+++ b/llvm/test/CodeGen/PowerPC/fold-remove-li.ll
@@ -7,7 +7,7 @@
%0 = type { i32, i16 }
- at val = common dso_local local_unnamed_addr global ptr null, align 8
+ at val = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8
define dso_local signext i32 @redunLoadImm(ptr %arg) {
; CHECK-LABEL: redunLoadImm:
diff --git a/llvm/test/CodeGen/PowerPC/global-address-non-got-indirect-access.ll b/llvm/test/CodeGen/PowerPC/global-address-non-got-indirect-access.ll
index 14fea56183198..57d4c8df8d0b5 100644
--- a/llvm/test/CodeGen/PowerPC/global-address-non-got-indirect-access.ll
+++ b/llvm/test/CodeGen/PowerPC/global-address-non-got-indirect-access.ll
@@ -441,7 +441,7 @@ entry:
ret void
}
- @_ZL3ptr = internal unnamed_addr global ptr null, align 8
+ @_ZL3ptr = internal unnamed_addr global ptr zeroinitializer, align 8
define void @_Z14WriteStaticPtrv() {
; CHECK-LABEL: _Z14WriteStaticPtrv:
; CHECK: # %bb.0: # %entry
diff --git a/llvm/test/CodeGen/PowerPC/indirectbr.ll b/llvm/test/CodeGen/PowerPC/indirectbr.ll
index ae381a6d6948c..49b0d8cc9ba73 100644
--- a/llvm/test/CodeGen/PowerPC/indirectbr.ll
+++ b/llvm/test/CodeGen/PowerPC/indirectbr.ll
@@ -2,7 +2,7 @@
; RUN: llc < %s -relocation-model=static -mtriple=powerpc-unknown-linux-gnu -ppc-asm-full-reg-names | FileCheck %s -check-prefix=STATIC
; RUN: llc < %s -relocation-model=pic -mtriple=powerpc64-unknown-linux-gnu -ppc-asm-full-reg-names | FileCheck %s -check-prefix=PPC64
- at nextaddr = global ptr null ; <ptr> [#uses=2]
+ at nextaddr = global ptr zeroinitializer ; <ptr> [#uses=2]
@C.0.2070 = private constant [5 x ptr] [ptr blockaddress(@foo, %L1), ptr blockaddress(@foo, %L2), ptr blockaddress(@foo, %L3), ptr blockaddress(@foo, %L4), ptr blockaddress(@foo, %L5)] ; <ptr> [#uses=1]
define internal i32 @foo(i32 %i) nounwind {
diff --git a/llvm/test/CodeGen/PowerPC/knowCRBitSpill.ll b/llvm/test/CodeGen/PowerPC/knowCRBitSpill.ll
index 01bc1b4bc5bdb..d61db5cb83082 100644
--- a/llvm/test/CodeGen/PowerPC/knowCRBitSpill.ll
+++ b/llvm/test/CodeGen/PowerPC/knowCRBitSpill.ll
@@ -13,7 +13,7 @@
%struct.anon = type { i32 }
- at b = common dso_local global ptr null, align 8
+ at b = common dso_local global ptr zeroinitializer, align 8
@a = common dso_local global i64 0, align 8
; Function Attrs: nounwind
diff --git a/llvm/test/CodeGen/PowerPC/lower-globaladdr32-aix.ll b/llvm/test/CodeGen/PowerPC/lower-globaladdr32-aix.ll
index 0653d4ef6fd0a..b9e486a65d31b 100644
--- a/llvm/test/CodeGen/PowerPC/lower-globaladdr32-aix.ll
+++ b/llvm/test/CodeGen/PowerPC/lower-globaladdr32-aix.ll
@@ -13,8 +13,8 @@
; RUN: -print-before=register-coalescer 2>&1 < %s | FileCheck \
; RUN: --check-prefix=SMALL %s
- at msg = common global ptr null, align 4
- at ptr = common global ptr null, align 4
+ at msg = common global ptr zeroinitializer, align 4
+ at ptr = common global ptr zeroinitializer, align 4
define void @foo() {
entry:
diff --git a/llvm/test/CodeGen/PowerPC/lower-globaladdr64-aix.ll b/llvm/test/CodeGen/PowerPC/lower-globaladdr64-aix.ll
index a1d0dc57619a5..210be8563c115 100644
--- a/llvm/test/CodeGen/PowerPC/lower-globaladdr64-aix.ll
+++ b/llvm/test/CodeGen/PowerPC/lower-globaladdr64-aix.ll
@@ -13,8 +13,8 @@
; RUN: -print-before=register-coalescer 2>&1 < %s | FileCheck \
; RUN: --check-prefix=SMALL %s
- at msg = common global ptr null, align 8
- at ptr = common global ptr null, align 8
+ at msg = common global ptr zeroinitializer, align 8
+ at ptr = common global ptr zeroinitializer, align 8
define void @foo() {
entry:
diff --git a/llvm/test/CodeGen/PowerPC/pcrel-call-linkage-with-calls.ll b/llvm/test/CodeGen/PowerPC/pcrel-call-linkage-with-calls.ll
index 9fcbe875df2af..2b573d0106ef8 100644
--- a/llvm/test/CodeGen/PowerPC/pcrel-call-linkage-with-calls.ll
+++ b/llvm/test/CodeGen/PowerPC/pcrel-call-linkage-with-calls.ll
@@ -10,7 +10,7 @@
@globalVar = common dso_local local_unnamed_addr global i32 0, align 4
@externGlobalVar = external local_unnamed_addr global i32, align 4
- at indirectCall = common dso_local local_unnamed_addr global ptr null, align 8
+ at indirectCall = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8
; This funcion needs to remain as noinline.
; The compiler needs to know this function is local but must be forced to call
diff --git a/llvm/test/CodeGen/PowerPC/pcrel-tail-calls.ll b/llvm/test/CodeGen/PowerPC/pcrel-tail-calls.ll
index 319c346f08f9d..13089cfe08147 100644
--- a/llvm/test/CodeGen/PowerPC/pcrel-tail-calls.ll
+++ b/llvm/test/CodeGen/PowerPC/pcrel-tail-calls.ll
@@ -13,7 +13,7 @@
; most calls.
@Func = external local_unnamed_addr global ptr, align 8
- at FuncLocal = common dso_local local_unnamed_addr global ptr null, align 8
+ at FuncLocal = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8
; No calls in this function but we assign the function pointers.
define dso_local void @AssignFuncPtr() local_unnamed_addr {
diff --git a/llvm/test/CodeGen/PowerPC/ppc-shrink-wrapping.ll b/llvm/test/CodeGen/PowerPC/ppc-shrink-wrapping.ll
index 412cb758ad602..ca8a3a758e1e4 100644
--- a/llvm/test/CodeGen/PowerPC/ppc-shrink-wrapping.ll
+++ b/llvm/test/CodeGen/PowerPC/ppc-shrink-wrapping.ll
@@ -681,8 +681,8 @@ end:
@lock = common global i32 0, align 4
@htindex = common global i32 0, align 4
@stride = common global i32 0, align 4
- at ht = common global ptr null, align 8
- at he = common global ptr null, align 8
+ at ht = common global ptr zeroinitializer, align 8
+ at he = common global ptr zeroinitializer, align 8
; Test for a bug that was caused when save point was equal to restore point.
; Function Attrs: nounwind
diff --git a/llvm/test/CodeGen/PowerPC/pr20442.ll b/llvm/test/CodeGen/PowerPC/pr20442.ll
index d00c01ea69f74..e29fe55e82ad6 100644
--- a/llvm/test/CodeGen/PowerPC/pr20442.ll
+++ b/llvm/test/CodeGen/PowerPC/pr20442.ll
@@ -14,8 +14,8 @@ target triple = "powerpc-unknown-linux-gnu"
%struct.anon = type { i32 }
%struct.anon.0 = type { i32 }
- at b = common global ptr null, align 4
- at a = common global ptr null, align 4
+ at b = common global ptr zeroinitializer, align 4
+ at a = common global ptr zeroinitializer, align 4
; Function Attrs: nounwind readonly uwtable
define i32 @fn1() #0 {
diff --git a/llvm/test/CodeGen/PowerPC/pr26690.ll b/llvm/test/CodeGen/PowerPC/pr26690.ll
index fb3dca0055628..4a1a957af6c4d 100644
--- a/llvm/test/CodeGen/PowerPC/pr26690.ll
+++ b/llvm/test/CodeGen/PowerPC/pr26690.ll
@@ -5,7 +5,7 @@
%struct.anon.1 = type { i32 }
@i = common global i32 0, align 4
- at b = common global ptr null, align 8
+ at b = common global ptr zeroinitializer, align 8
@c = common global i32 0, align 4
@a = common global i32 0, align 4
@h = common global i32 0, align 4
diff --git a/llvm/test/CodeGen/PowerPC/pr39815.ll b/llvm/test/CodeGen/PowerPC/pr39815.ll
index 37fff85c10a2e..47c79059ea783 100644
--- a/llvm/test/CodeGen/PowerPC/pr39815.ll
+++ b/llvm/test/CodeGen/PowerPC/pr39815.ll
@@ -1,7 +1,7 @@
; RUN: llc -mcpu=pwr9 -mtriple=powerpc64le-unknown-linux-gnu < %s \
; RUN: -verify-machineinstrs | FileCheck %s
- at b = dso_local local_unnamed_addr global ptr null, align 8
+ at b = dso_local local_unnamed_addr global ptr zeroinitializer, align 8
@a = dso_local local_unnamed_addr global i8 0, align 1
define void @testADDEPromoteResult() {
diff --git a/llvm/test/CodeGen/PowerPC/pr47373.ll b/llvm/test/CodeGen/PowerPC/pr47373.ll
index ee80068f263ee..4766ed41f620a 100644
--- a/llvm/test/CodeGen/PowerPC/pr47373.ll
+++ b/llvm/test/CodeGen/PowerPC/pr47373.ll
@@ -1,7 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -mtriple=powerpc64-unknown-freebsd12.0 -verify-machineinstrs \
; RUN: -mcpu=ppc64 -ppc-asm-full-reg-names < %s | FileCheck %s
- at a = local_unnamed_addr global ptr null, align 8
+ at a = local_unnamed_addr global ptr zeroinitializer, align 8
; Function Attrs: nounwind
define void @d() local_unnamed_addr #0 {
diff --git a/llvm/test/CodeGen/PowerPC/remove-copy-crunsetcrbit.mir b/llvm/test/CodeGen/PowerPC/remove-copy-crunsetcrbit.mir
index 05b30569a2c10..44b948c624489 100644
--- a/llvm/test/CodeGen/PowerPC/remove-copy-crunsetcrbit.mir
+++ b/llvm/test/CodeGen/PowerPC/remove-copy-crunsetcrbit.mir
@@ -5,7 +5,7 @@
@b = common dso_local local_unnamed_addr global i32 0, align 4
@d = common dso_local local_unnamed_addr global i32 0, align 4
- @e = common dso_local local_unnamed_addr global ptr null, align 8
+ @e = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8
@c = common dso_local local_unnamed_addr global i32 0, align 4
@a = common dso_local local_unnamed_addr global [1 x i32] zeroinitializer, align 4
diff --git a/llvm/test/CodeGen/PowerPC/respect-rounding-mode.ll b/llvm/test/CodeGen/PowerPC/respect-rounding-mode.ll
index 850c82151c8ac..619361823b38d 100644
--- a/llvm/test/CodeGen/PowerPC/respect-rounding-mode.ll
+++ b/llvm/test/CodeGen/PowerPC/respect-rounding-mode.ll
@@ -15,7 +15,7 @@
; RUN: -mcpu=pwr9 -ppc-asm-full-reg-names < %s | grep 'xvmuldp' | count 4
; RUN: llc -verify-machineinstrs --mtriple powerpc64le-unknown-linux-gnu \
; RUN: -mcpu=pwr10 -ppc-asm-full-reg-names < %s | grep 'xvmuldp' | count 4
- at IndirectCallPtr = dso_local local_unnamed_addr global ptr null, align 8
+ at IndirectCallPtr = dso_local local_unnamed_addr global ptr zeroinitializer, align 8
define dso_local signext i32 @func1() local_unnamed_addr #0 {
entry:
diff --git a/llvm/test/CodeGen/PowerPC/tls-cse.ll b/llvm/test/CodeGen/PowerPC/tls-cse.ll
index 0e821bb3ac312..386a7275bfb0e 100644
--- a/llvm/test/CodeGen/PowerPC/tls-cse.ll
+++ b/llvm/test/CodeGen/PowerPC/tls-cse.ll
@@ -11,7 +11,7 @@ target triple = "powerpc64le-unknown-linux-gnu"
%"class.llvm::PrettyStackTraceEntry" = type { ptr, ptr }
@_ZTVN4llvm21PrettyStackTraceEntryE = unnamed_addr constant [5 x ptr] [ptr null, ptr null, ptr @_ZN4llvm21PrettyStackTraceEntryD2Ev, ptr @_ZN4llvm21PrettyStackTraceEntryD0Ev, ptr @__cxa_pure_virtual], align 8
- at _ZL20PrettyStackTraceHead = internal thread_local unnamed_addr global ptr null, align 8
+ at _ZL20PrettyStackTraceHead = internal thread_local unnamed_addr global ptr zeroinitializer, align 8
@.str = private unnamed_addr constant [87 x i8] c"PrettyStackTraceHead == this && \22Pretty stack trace entry destruction is out of order\22\00", align 1
@.str1 = private unnamed_addr constant [64 x i8] c"/home/wschmidt/llvm/llvm-test2/lib/Support/PrettyStackTrace.cpp\00", align 1
@__PRETTY_FUNCTION__._ZN4llvm21PrettyStackTraceEntryD2Ev = private unnamed_addr constant [62 x i8] c"virtual llvm::PrettyStackTraceEntry::~PrettyStackTraceEntry()\00", align 1
diff --git a/llvm/test/CodeGen/PowerPC/tls_get_addr_clobbers.ll b/llvm/test/CodeGen/PowerPC/tls_get_addr_clobbers.ll
index 63af08c3a19c8..88ba535f439d7 100644
--- a/llvm/test/CodeGen/PowerPC/tls_get_addr_clobbers.ll
+++ b/llvm/test/CodeGen/PowerPC/tls_get_addr_clobbers.ll
@@ -1,6 +1,6 @@
; RUN: llc -verify-machineinstrs -mtriple="powerpc64le-unknown-linux-gnu" -relocation-model=pic < %s | FileCheck %s
- at a = thread_local global ptr null, align 8
+ at a = thread_local global ptr zeroinitializer, align 8
define void @test_foo(ptr nocapture %x01, ptr nocapture %x02, ptr nocapture %x03, ptr nocapture %x04, ptr nocapture %x05, ptr nocapture %x06, ptr nocapture %x07, ptr nocapture %x08) #0 {
entry:
diff --git a/llvm/test/CodeGen/RISCV/blockaddress.ll b/llvm/test/CodeGen/RISCV/blockaddress.ll
index ba0a7a0e7c1b2..50f7f25417a0a 100644
--- a/llvm/test/CodeGen/RISCV/blockaddress.ll
+++ b/llvm/test/CodeGen/RISCV/blockaddress.ll
@@ -2,7 +2,7 @@
; RUN: llc -mtriple=riscv32 -verify-machineinstrs < %s \
; RUN: | FileCheck %s -check-prefix=RV32I
- at addr = global ptr null
+ at addr = global ptr zeroinitializer
define void @test_blockaddress() nounwind {
; RV32I-LABEL: test_blockaddress:
diff --git a/llvm/test/CodeGen/RISCV/codemodel-lowering.ll b/llvm/test/CodeGen/RISCV/codemodel-lowering.ll
index 220494a4c4ff8..60696bf46c976 100644
--- a/llvm/test/CodeGen/RISCV/codemodel-lowering.ll
+++ b/llvm/test/CodeGen/RISCV/codemodel-lowering.ll
@@ -73,7 +73,7 @@ define i32 @lower_global(i32 %a) nounwind {
; Check lowering of blockaddresses
- at addr = global ptr null
+ at addr = global ptr zeroinitializer
define void @lower_blockaddress() nounwind {
; RV32I-SMALL-LABEL: lower_blockaddress:
diff --git a/llvm/test/CodeGen/SPARC/blockaddr.ll b/llvm/test/CodeGen/SPARC/blockaddr.ll
index eb039876caa38..1d3263a3724d3 100644
--- a/llvm/test/CodeGen/SPARC/blockaddr.ll
+++ b/llvm/test/CodeGen/SPARC/blockaddr.ll
@@ -8,7 +8,7 @@
;
; copied from test/CodeGen/Mips/blockaddr.ll and modified for SPARC
;
- at reg = common global ptr null, align 4
+ at reg = common global ptr zeroinitializer, align 4
define ptr @dummy(ptr %x) nounwind readnone noinline {
entry:
diff --git a/llvm/test/CodeGen/SPARC/setjmp.ll b/llvm/test/CodeGen/SPARC/setjmp.ll
index 6cfd0ded4f75f..75a686614733d 100644
--- a/llvm/test/CodeGen/SPARC/setjmp.ll
+++ b/llvm/test/CodeGen/SPARC/setjmp.ll
@@ -6,7 +6,7 @@
%struct.jmpbuf_env = type { i32, i32, [1 x %struct.__jmp_buf_tag], i32 }
%struct.__jmp_buf_tag = type { [3 x i32], i32, %0 }
- at jenv = common unnamed_addr global ptr null
+ at jenv = common unnamed_addr global ptr zeroinitializer
@.cst = private unnamed_addr constant [30 x i8] c"in bar with jmp_buf's id: %d\0A\00", align 64
; CHECK-LABEL: foo
diff --git a/llvm/test/CodeGen/SPIRV/global-var-intrinsic.ll b/llvm/test/CodeGen/SPIRV/global-var-intrinsic.ll
index ef9f6d77425e2..45f733f632faa 100644
--- a/llvm/test/CodeGen/SPIRV/global-var-intrinsic.ll
+++ b/llvm/test/CodeGen/SPIRV/global-var-intrinsic.ll
@@ -9,8 +9,8 @@
; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
; CHECK: OpFunction
- at ptr_0 = dso_local global ptr null, align 4
- at ptr_1 = dso_local global ptr null, align 4
+ at ptr_0 = dso_local global ptr zeroinitializer, align 4
+ at ptr_1 = dso_local global ptr zeroinitializer, align 4
@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__sub_I_example.cpp, ptr null }]
define internal spir_func void @__cxx_global_var_init() {
diff --git a/llvm/test/CodeGen/SPIRV/pointers/bitcast-fix-accesschain.ll b/llvm/test/CodeGen/SPIRV/pointers/bitcast-fix-accesschain.ll
index 3382987bbd581..97024a616c833 100644
--- a/llvm/test/CodeGen/SPIRV/pointers/bitcast-fix-accesschain.ll
+++ b/llvm/test/CodeGen/SPIRV/pointers/bitcast-fix-accesschain.ll
@@ -26,7 +26,7 @@
%struct.S = type { i32 }
%struct.__wrapper_class = type { [7 x %struct.S] }
- at G_elem = global ptr null
+ at G_elem = global ptr zeroinitializer
@G_data = global i64 0
define spir_kernel void @foo1(ptr noundef byval(%struct.__wrapper_class) align 4 %_arg_Arr) {
diff --git a/llvm/test/CodeGen/SystemZ/call-05.ll b/llvm/test/CodeGen/SystemZ/call-05.ll
index d7f0f4e80556d..92a1413f18451 100644
--- a/llvm/test/CodeGen/SystemZ/call-05.ll
+++ b/llvm/test/CodeGen/SystemZ/call-05.ll
@@ -4,9 +4,9 @@
@var = global i32 1;
- at fun_a = global ptr null;
- at fun_b = global ptr null;
- at fun_c = global ptr null;
+ at fun_a = global ptr zeroinitializer;
+ at fun_b = global ptr zeroinitializer;
+ at fun_c = global ptr zeroinitializer;
; Check a conditional sibling call.
define void @f1(i32 %val1, i32 %val2) {
diff --git a/llvm/test/CodeGen/SystemZ/inline-asm-addr.ll b/llvm/test/CodeGen/SystemZ/inline-asm-addr.ll
index 4de74fac9e8f1..56854ef369b94 100644
--- a/llvm/test/CodeGen/SystemZ/inline-asm-addr.ll
+++ b/llvm/test/CodeGen/SystemZ/inline-asm-addr.ll
@@ -1,7 +1,7 @@
; RUN: llc -mtriple=s390x-linux-gnu < %s | FileCheck %s
@Addr = global i64 0, align 8
- at A = global ptr null, align 8
+ at A = global ptr zeroinitializer, align 8
@Idx = global i64 0, align 8
define i64 @fun_BD12_Q() {
diff --git a/llvm/test/CodeGen/SystemZ/memset-06.ll b/llvm/test/CodeGen/SystemZ/memset-06.ll
index 2c42f5a2934e9..161410a9410be 100644
--- a/llvm/test/CodeGen/SystemZ/memset-06.ll
+++ b/llvm/test/CodeGen/SystemZ/memset-06.ll
@@ -3,7 +3,7 @@
; Test that the EXRL target instruction is emitted successfully (before text
; section is closed).
- at a = dso_local global ptr null, align 8, !dbg !0
+ at a = dso_local global ptr zeroinitializer, align 8, !dbg !0
@j = dso_local global i32 0, align 4, !dbg !5
define void @fun() !dbg !14 {
diff --git a/llvm/test/CodeGen/Thumb/stm-merge.ll b/llvm/test/CodeGen/Thumb/stm-merge.ll
index 426210a355307..62063b0ece602 100644
--- a/llvm/test/CodeGen/Thumb/stm-merge.ll
+++ b/llvm/test/CodeGen/Thumb/stm-merge.ll
@@ -3,8 +3,8 @@ target datalayout = "e-m:e-p:32:32-i1:8:32-i8:8:32-i16:16:32-i64:64-v128:64:128-
target triple = "thumbv6m--linux-gnueabi"
@d = internal unnamed_addr global i32 0, align 4
- at c = internal global ptr null, align 4
- at e = internal unnamed_addr global ptr null, align 4
+ at c = internal global ptr zeroinitializer, align 4
+ at e = internal unnamed_addr global ptr zeroinitializer, align 4
; Function Attrs: nounwind optsize
define void @fn1(i32 %x, i32 %y, i32 %z) #0 {
diff --git a/llvm/test/CodeGen/Thumb2/2009-09-01-PostRAProlog.ll b/llvm/test/CodeGen/Thumb2/2009-09-01-PostRAProlog.ll
index b03c120d399bc..435a9502061f9 100644
--- a/llvm/test/CodeGen/Thumb2/2009-09-01-PostRAProlog.ll
+++ b/llvm/test/CodeGen/Thumb2/2009-09-01-PostRAProlog.ll
@@ -21,10 +21,10 @@ target triple = "thumbv7-apple-darwin9"
@colthr = internal global [128 x i32] zeroinitializer ; <ptr> [#uses=5]
@moves = internal global [44 x i32] zeroinitializer ; <ptr> [#uses=9]
@.str8 = private constant [3 x i8] c"%d\00", align 1 ; <ptr> [#uses=1]
- at he = internal global ptr null ; <ptr> [#uses=9]
+ at he = internal global ptr zeroinitializer ; <ptr> [#uses=9]
@hits = internal global i64 0 ; <ptr> [#uses=8]
@posed = internal global i64 0 ; <ptr> [#uses=7]
- at ht = internal global ptr null ; <ptr> [#uses=5]
+ at ht = internal global ptr zeroinitializer ; <ptr> [#uses=5]
@.str16 = private constant [19 x i8] c"store rate = %.3f\0A\00", align 1 ; <ptr> [#uses=1]
@.str117 = private constant [45 x i8] c"- %5.3f < %5.3f = %5.3f > %5.3f + %5.3f\0A\00", align 1 ; <ptr> [#uses=1]
@.str218 = private constant [6 x i8] c"%7d%c\00", align 1 ; <ptr> [#uses=1]
diff --git a/llvm/test/CodeGen/Thumb2/2010-01-06-TailDuplicateLabels.ll b/llvm/test/CodeGen/Thumb2/2010-01-06-TailDuplicateLabels.ll
index f82e3c150235e..f91948cf8a846 100644
--- a/llvm/test/CodeGen/Thumb2/2010-01-06-TailDuplicateLabels.ll
+++ b/llvm/test/CodeGen/Thumb2/2010-01-06-TailDuplicateLabels.ll
@@ -14,7 +14,7 @@ target triple = "thumbv7-apple-darwin10"
@_ZN3WTFL8heap_keyE = internal global i32 0 ; <ptr> [#uses=1]
@_ZN3WTFL10tsd_initedE.b = internal global i1 false ; <ptr> [#uses=2]
@_ZN3WTFL13pageheap_lockE = internal global %struct.SpinLock { %struct.PlatformMutex { i32 850045863, [40 x i8] zeroinitializer } } ; <ptr> [#uses=1]
- at _ZN3WTFL12thread_heapsE = internal global ptr null ; <ptr> [#uses=1]
+ at _ZN3WTFL12thread_heapsE = internal global ptr zeroinitializer ; <ptr> [#uses=1]
@llvm.used = appending global [1 x ptr] [ptr @_ZN3WTF20TCMalloc_ThreadCache22CreateCacheIfNecessaryEv], section "llvm.metadata" ; <ptr> [#uses=0]
define ptr @_ZN3WTF20TCMalloc_ThreadCache22CreateCacheIfNecessaryEv() nounwind {
diff --git a/llvm/test/CodeGen/Thumb2/pacbti-m-indirect-tail-call.ll b/llvm/test/CodeGen/Thumb2/pacbti-m-indirect-tail-call.ll
index 615af15e8b567..b92331578e8af 100644
--- a/llvm/test/CodeGen/Thumb2/pacbti-m-indirect-tail-call.ll
+++ b/llvm/test/CodeGen/Thumb2/pacbti-m-indirect-tail-call.ll
@@ -3,7 +3,7 @@
target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"
target triple = "thumbv8.1m.main-arm-unknown-eabi"
- at p = hidden local_unnamed_addr global ptr null, align 4
+ at p = hidden local_unnamed_addr global ptr zeroinitializer, align 4
define hidden i32 @f(i32 %a, i32 %b, i32 %c, i32 %d) local_unnamed_addr #0 {
; CHECK-LABEL: f:
diff --git a/llvm/test/CodeGen/Thumb2/tail-call-r9.ll b/llvm/test/CodeGen/Thumb2/tail-call-r9.ll
index b09fe71335e58..c2e454b1c4fa7 100644
--- a/llvm/test/CodeGen/Thumb2/tail-call-r9.ll
+++ b/llvm/test/CodeGen/Thumb2/tail-call-r9.ll
@@ -1,6 +1,6 @@
; RUN: llc < %s -mtriple=thumbv7-apple-ios -mcpu=cortex-m3 | FileCheck %s
- at foo = common global ptr null, align 4
+ at foo = common global ptr zeroinitializer, align 4
; Make sure in the presence of a tail call, r9 doesn't get used to hold
; the destination address. It's callee-saved in AAPCS.
diff --git a/llvm/test/CodeGen/Thumb2/thumb2-call-tc.ll b/llvm/test/CodeGen/Thumb2/thumb2-call-tc.ll
index 1fec1b895e08f..81cf3ae6d2a8f 100644
--- a/llvm/test/CodeGen/Thumb2/thumb2-call-tc.ll
+++ b/llvm/test/CodeGen/Thumb2/thumb2-call-tc.ll
@@ -2,7 +2,7 @@
; RUN: llc < %s -mtriple=thumbv7-linux -mattr=+thumb2 | FileCheck %s -check-prefix=LINUX
; XFAIL: *
- at t = weak global ptr null ; <ptr> [#uses=1]
+ at t = weak global ptr zeroinitializer ; <ptr> [#uses=1]
declare void @g(i32, i32, i32, i32)
diff --git a/llvm/test/CodeGen/Thumb2/thumb2-call.ll b/llvm/test/CodeGen/Thumb2/thumb2-call.ll
index 2248e18f577fb..a35c1b36766af 100644
--- a/llvm/test/CodeGen/Thumb2/thumb2-call.ll
+++ b/llvm/test/CodeGen/Thumb2/thumb2-call.ll
@@ -1,7 +1,7 @@
; RUN: llc < %s -mtriple=thumbv7-apple-darwin -mattr=+thumb2 | FileCheck %s
; RUN: llc < %s -mtriple=thumbv7-linux -mattr=+thumb2 | FileCheck %s
- at t = weak global ptr null ; <ptr> [#uses=1]
+ at t = weak global ptr zeroinitializer ; <ptr> [#uses=1]
declare void @g(i32, i32, i32, i32)
diff --git a/llvm/test/CodeGen/Thumb2/thumb2-ldm.ll b/llvm/test/CodeGen/Thumb2/thumb2-ldm.ll
index 547f927b34c05..9a8180654e4c3 100644
--- a/llvm/test/CodeGen/Thumb2/thumb2-ldm.ll
+++ b/llvm/test/CodeGen/Thumb2/thumb2-ldm.ll
@@ -44,7 +44,7 @@ define i32 @t3() "frame-pointer"="all" {
ret i32 %tmp6
}
- at g = common global ptr null
+ at g = common global ptr zeroinitializer
define void @t4(i32 %a0, i32 %a1, i32 %a2) "frame-pointer"="all" {
; ALL-LABEL: t4:
diff --git a/llvm/test/CodeGen/VE/Scalar/blockaddress.ll b/llvm/test/CodeGen/VE/Scalar/blockaddress.ll
index ddbeca3cf30d8..0569c8da8483f 100644
--- a/llvm/test/CodeGen/VE/Scalar/blockaddress.ll
+++ b/llvm/test/CodeGen/VE/Scalar/blockaddress.ll
@@ -1,6 +1,6 @@
; RUN: llc < %s -mtriple=ve | FileCheck %s
- at addr = global ptr null, align 8
+ at addr = global ptr zeroinitializer, align 8
; Function Attrs: nofree norecurse nounwind writeonly
define void @test() {
diff --git a/llvm/test/CodeGen/WebAssembly/function-bitcasts.ll b/llvm/test/CodeGen/WebAssembly/function-bitcasts.ll
index 0553f61ef9056..335f511af2772 100644
--- a/llvm/test/CodeGen/WebAssembly/function-bitcasts.ll
+++ b/llvm/test/CodeGen/WebAssembly/function-bitcasts.ll
@@ -106,7 +106,7 @@ define void @test_varargs() {
; Don't use wrappers when the value is stored in memory
- at global_func = hidden local_unnamed_addr global ptr null
+ at global_func = hidden local_unnamed_addr global ptr zeroinitializer
; CHECK-LABEL: test_store:
; CHECK: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
diff --git a/llvm/test/CodeGen/X86/2012-08-17-legalizer-crash.ll b/llvm/test/CodeGen/X86/2012-08-17-legalizer-crash.ll
index c72d12914e447..e5d99b80e2ead 100644
--- a/llvm/test/CodeGen/X86/2012-08-17-legalizer-crash.ll
+++ b/llvm/test/CodeGen/X86/2012-08-17-legalizer-crash.ll
@@ -8,7 +8,7 @@ target triple = "x86_64-apple-macosx10.8.0"
%struct._GtkSheetRow = type { ptr, i32, i32, i32, %struct._GtkSheetButton, i32, i32 }
%struct._GtkSheetButton = type { i32, ptr, i32, ptr, i32 }
- at a = common global ptr null, align 8
+ at a = common global ptr zeroinitializer, align 8
define void @fn1() nounwind uwtable ssp {
entry:
diff --git a/llvm/test/CodeGen/X86/abi-isel.ll b/llvm/test/CodeGen/X86/abi-isel.ll
index 2ac392c729d19..0e474b4bb9fb3 100644
--- a/llvm/test/CodeGen/X86/abi-isel.ll
+++ b/llvm/test/CodeGen/X86/abi-isel.ll
@@ -21,13 +21,13 @@
@ptr = external global ptr
@dsrc = dso_local global [131072 x i32] zeroinitializer, align 32
@ddst = dso_local global [131072 x i32] zeroinitializer, align 32
- at dptr = dso_local global ptr null
+ at dptr = dso_local global ptr zeroinitializer
@lsrc = internal global [131072 x i32] zeroinitializer
@ldst = internal global [131072 x i32] zeroinitializer
- at lptr = internal global ptr null
+ at lptr = internal global ptr zeroinitializer
@ifunc = external global ptr
- at difunc = dso_local global ptr null
- at lifunc = internal global ptr null
+ at difunc = dso_local global ptr zeroinitializer
+ at lifunc = internal global ptr zeroinitializer
@lxsrc = internal global [32 x i32] zeroinitializer, align 32
@lxdst = internal global [32 x i32] zeroinitializer, align 32
@dxsrc = dso_local global [32 x i32] zeroinitializer, align 32
diff --git a/llvm/test/CodeGen/X86/call-rv-marker.ll b/llvm/test/CodeGen/X86/call-rv-marker.ll
index 6ce7430b52c71..38f6486677fe7 100644
--- a/llvm/test/CodeGen/X86/call-rv-marker.ll
+++ b/llvm/test/CodeGen/X86/call-rv-marker.ll
@@ -21,8 +21,8 @@ declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
%struct.S = type { i8 }
- at g = global ptr null, align 8
- at fptr = global ptr null, align 8
+ at g = global ptr zeroinitializer, align 8
+ at fptr = global ptr zeroinitializer, align 8
define ptr @rv_marker_1_retain() {
; CHECK-LABEL: rv_marker_1_retain:
diff --git a/llvm/test/CodeGen/X86/coal-sections.ll b/llvm/test/CodeGen/X86/coal-sections.ll
index 3fed158befdd8..7eeee38460345 100644
--- a/llvm/test/CodeGen/X86/coal-sections.ll
+++ b/llvm/test/CodeGen/X86/coal-sections.ll
@@ -13,7 +13,7 @@
@a = weak_odr constant [4 x i32] [i32 1, i32 2, i32 3, i32 4], align 16
@b = weak global i32 5, align 4
- at g = common global ptr null, align 8
+ at g = common global ptr zeroinitializer, align 8
; Function Attrs: nounwind ssp uwtable
define weak ptr @foo() {
diff --git a/llvm/test/CodeGen/X86/dag-update-nodetomatch.ll b/llvm/test/CodeGen/X86/dag-update-nodetomatch.ll
index 71ad598abe683..f2470fd37906a 100644
--- a/llvm/test/CodeGen/X86/dag-update-nodetomatch.ll
+++ b/llvm/test/CodeGen/X86/dag-update-nodetomatch.ll
@@ -16,7 +16,7 @@
@x2 = local_unnamed_addr global i32 0, align 4
@x3 = local_unnamed_addr global i32 0, align 4
@x4 = local_unnamed_addr global i32 0, align 4
- at x5 = local_unnamed_addr global ptr null, align 8
+ at x5 = local_unnamed_addr global ptr zeroinitializer, align 8
; Check that compiler does not crash.
; Test for PR30775
diff --git a/llvm/test/CodeGen/X86/dbg-changes-codegen.ll b/llvm/test/CodeGen/X86/dbg-changes-codegen.ll
index c688895335181..80af34ac09eb5 100644
--- a/llvm/test/CodeGen/X86/dbg-changes-codegen.ll
+++ b/llvm/test/CodeGen/X86/dbg-changes-codegen.ll
@@ -9,7 +9,7 @@
; CHECK-NOT: movq wibble2
; CHECK: cmpq {{%[a-z]+}}, wibble2(%rip)
-; Regenerate test with this command:
+; Regenerate test with this command:
; clang -emit-llvm -S -O2 -g
; from this source:
; struct Foo {
@@ -33,9 +33,9 @@
%struct.Wibble = type { i32 }
%struct.Flibble = type { i8 }
- at pfoo = dso_local global ptr null, align 8
- at wibble1 = dso_local global ptr null, align 8
- at wibble2 = dso_local global ptr null, align 8
+ at pfoo = dso_local global ptr zeroinitializer, align 8
+ at wibble1 = dso_local global ptr zeroinitializer, align 8
+ at wibble2 = dso_local global ptr zeroinitializer, align 8
@flibble = dso_local global %struct.Flibble zeroinitializer, align 1
; Function Attrs: nounwind readonly uwtable
diff --git a/llvm/test/CodeGen/X86/dont-remove-empty-preheader.ll b/llvm/test/CodeGen/X86/dont-remove-empty-preheader.ll
index 48939cd8b0dc5..b2ead0cf7df9f 100644
--- a/llvm/test/CodeGen/X86/dont-remove-empty-preheader.ll
+++ b/llvm/test/CodeGen/X86/dont-remove-empty-preheader.ll
@@ -2,8 +2,8 @@
; CHECK: for.body.preheader
@N = common global i32 0, align 4
- at E = common global ptr null, align 8
- at B = common global ptr null, align 8
+ at E = common global ptr zeroinitializer, align 8
+ at B = common global ptr zeroinitializer, align 8
; Function Attrs: nounwind
define i32 @foo() {
diff --git a/llvm/test/CodeGen/X86/fp128-g.ll b/llvm/test/CodeGen/X86/fp128-g.ll
index d2b956f816f02..70950d4140dd3 100644
--- a/llvm/test/CodeGen/X86/fp128-g.ll
+++ b/llvm/test/CodeGen/X86/fp128-g.ll
@@ -12,7 +12,7 @@ source_filename = "fp128-g.c"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64--linux-android"
- at ld_ptr = common dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+ at ld_ptr = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
; Function Attrs: nounwind readonly uwtable
define fp128 @test_return1(ptr nocapture readonly %ptr) local_unnamed_addr #0 !dbg !12 {
diff --git a/llvm/test/CodeGen/X86/ga-offset.ll b/llvm/test/CodeGen/X86/ga-offset.ll
index 54d2027527eff..1f1cabc7345ec 100644
--- a/llvm/test/CodeGen/X86/ga-offset.ll
+++ b/llvm/test/CodeGen/X86/ga-offset.ll
@@ -1,6 +1,6 @@
; RUN: llc < %s -mtriple=x86_64-linux -relocation-model=static | FileCheck %s
- at ptr = dso_local global ptr null
+ at ptr = dso_local global ptr zeroinitializer
@dst = dso_local global [131072 x i32] zeroinitializer
define dso_local void @foo() nounwind {
diff --git a/llvm/test/CodeGen/X86/i386-tlscall-fastregalloc.ll b/llvm/test/CodeGen/X86/i386-tlscall-fastregalloc.ll
index 5ac08195a0556..076efa2f051ea 100644
--- a/llvm/test/CodeGen/X86/i386-tlscall-fastregalloc.ll
+++ b/llvm/test/CodeGen/X86/i386-tlscall-fastregalloc.ll
@@ -3,7 +3,7 @@ target datalayout = "e-m:o-p:32:32-f64:32:64-f80:128-n8:16:32-S128"
target triple = "i386-apple-macosx10.10"
@c = external global i8, align 1
- at p = thread_local global ptr null, align 4
+ at p = thread_local global ptr zeroinitializer, align 4
; Check that regalloc fast correctly preserves EAX that is set by the TLS call
; until the actual use.
diff --git a/llvm/test/CodeGen/X86/inline-asm-pic.ll b/llvm/test/CodeGen/X86/inline-asm-pic.ll
index 54300a946ec3d..f765743390e4e 100644
--- a/llvm/test/CodeGen/X86/inline-asm-pic.ll
+++ b/llvm/test/CodeGen/X86/inline-asm-pic.ll
@@ -1,7 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=i386-apple-darwin -relocation-model=pic | FileCheck %s
- at main_q = internal global ptr null ; <ptr> [#uses=1]
+ at main_q = internal global ptr zeroinitializer ; <ptr> [#uses=1]
define void @func2() nounwind {
; CHECK-LABEL: func2:
diff --git a/llvm/test/CodeGen/X86/lea-opt-with-debug.mir b/llvm/test/CodeGen/X86/lea-opt-with-debug.mir
index 8804fe0caed5c..d9380933206a0 100644
--- a/llvm/test/CodeGen/X86/lea-opt-with-debug.mir
+++ b/llvm/test/CodeGen/X86/lea-opt-with-debug.mir
@@ -9,7 +9,7 @@
%struct.A = type { i32, i32, i32 }
- @c = common local_unnamed_addr global ptr null, align 8
+ @c = common local_unnamed_addr global ptr zeroinitializer, align 8
@a = common local_unnamed_addr global i32 0, align 4
@d = common local_unnamed_addr global i32 0, align 4
@b = common local_unnamed_addr global i32 0, align 4
diff --git a/llvm/test/CodeGen/X86/leaf-fp-elim.ll b/llvm/test/CodeGen/X86/leaf-fp-elim.ll
index c8472331c97e4..812d1cbb1663f 100644
--- a/llvm/test/CodeGen/X86/leaf-fp-elim.ll
+++ b/llvm/test/CodeGen/X86/leaf-fp-elim.ll
@@ -3,7 +3,7 @@
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-apple-darwin11.0"
- at msg = internal global ptr null ; <ptr> [#uses=1]
+ at msg = internal global ptr zeroinitializer ; <ptr> [#uses=1]
@.str = private constant [2 x i8] c"x\00", align 1 ; <ptr> [#uses=1]
define void @test(ptr %p) "frame-pointer"="non-leaf" nounwind optsize ssp {
diff --git a/llvm/test/CodeGen/X86/lifetime-alias.ll b/llvm/test/CodeGen/X86/lifetime-alias.ll
index 22e350cb4e0af..4acc3132dc36e 100644
--- a/llvm/test/CodeGen/X86/lifetime-alias.ll
+++ b/llvm/test/CodeGen/X86/lifetime-alias.ll
@@ -15,7 +15,7 @@ target triple = "x86_64-unknown-linux-gnu"
%"struct.std::__3::basic_string<char, std::__3::char_traits<char>, std::__3::allocator<char> >::__short" = type { [23 x i8], %struct.anon }
%struct.anon = type { i8 }
- at do_not_optimize = dso_local global ptr null, align 8
+ at do_not_optimize = dso_local global ptr zeroinitializer, align 8
@.str = private unnamed_addr constant [12 x i8] c"The Culture\00", align 1
@.str.1 = private unnamed_addr constant [22 x i8] c"FunnyItWorkedLastTime\00", align 1
@.str.2 = private unnamed_addr constant [19 x i8] c"agg.a2_[16] == 't'\00", align 1
diff --git a/llvm/test/CodeGen/X86/mempcpy-32.ll b/llvm/test/CodeGen/X86/mempcpy-32.ll
index f5ff985bff5d8..848178f466491 100644
--- a/llvm/test/CodeGen/X86/mempcpy-32.ll
+++ b/llvm/test/CodeGen/X86/mempcpy-32.ll
@@ -3,7 +3,7 @@
; This tests the i686 lowering of mempcpy.
; Also see mempcpy.ll
- at G = common global ptr null, align 8
+ at G = common global ptr zeroinitializer, align 8
; CHECK-LABEL: RET_MEMPCPY:
; CHECK: movl [[REG:%e[a-z0-9]+]], {{.*}}G
diff --git a/llvm/test/CodeGen/X86/mempcpy.ll b/llvm/test/CodeGen/X86/mempcpy.ll
index 8f9209c23e5fd..204a7a0f1dff3 100644
--- a/llvm/test/CodeGen/X86/mempcpy.ll
+++ b/llvm/test/CodeGen/X86/mempcpy.ll
@@ -1,7 +1,7 @@
; RUN: llc < %s -mtriple=x86_64-unknown-linux -O2 | FileCheck %s
; This test checks that:
-; (1) mempcpy is lowered as memcpy, and
+; (1) mempcpy is lowered as memcpy, and
; (2) its return value is DST+N i.e. the dst pointer adjusted by the copy size.
; To keep the testing of (2) independent of the exact instructions used to
; adjust the dst pointer, DST+N is explicitly computed and stored to a global
@@ -13,7 +13,7 @@
; Also see mempcpy-32.ll
- at G = common dso_local global ptr null, align 8
+ at G = common dso_local global ptr zeroinitializer, align 8
; CHECK-LABEL: RET_MEMPCPY:
; CHECK: movq [[REG:%r[a-z0-9]+]], {{.*}}G
@@ -23,7 +23,7 @@
define dso_local ptr @RET_MEMPCPY(ptr %DST, ptr %SRC, i64 %N) {
%add.ptr = getelementptr inbounds i8, ptr %DST, i64 %N
store ptr %add.ptr, ptr @G, align 8
- %call = tail call ptr @mempcpy(ptr %DST, ptr %SRC, i64 %N)
+ %call = tail call ptr @mempcpy(ptr %DST, ptr %SRC, i64 %N)
ret ptr %call
}
diff --git a/llvm/test/CodeGen/X86/ms-inline-asm-functions.ll b/llvm/test/CodeGen/X86/ms-inline-asm-functions.ll
index c7cc7056c85cc..73d7d438eaeab 100644
--- a/llvm/test/CodeGen/X86/ms-inline-asm-functions.ll
+++ b/llvm/test/CodeGen/X86/ms-inline-asm-functions.ll
@@ -13,7 +13,7 @@ source_filename = "/llvm-project/clang/test/CodeGen/ms-inline-asm-functions.c"
target datalayout = "e-m:x-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32-a:0:32-S32"
target triple = "i386-pc-windows-msvc"
- at kptr = dso_local global ptr null, align 4
+ at kptr = dso_local global ptr zeroinitializer, align 4
; Function Attrs: noinline nounwind optnone
define dso_local i32 @foo() #0 {
diff --git a/llvm/test/CodeGen/X86/osx-private-labels.ll b/llvm/test/CodeGen/X86/osx-private-labels.ll
index 3ad06a25a0174..6e52d8528fbb8 100644
--- a/llvm/test/CodeGen/X86/osx-private-labels.ll
+++ b/llvm/test/CodeGen/X86/osx-private-labels.ll
@@ -39,32 +39,32 @@
; CHECK-NEXT: L_private6:
%struct._objc_class = type { ptr }
- at private7 = private global ptr null, section "__OBJC,__cls_refs,literal_pointers,no_dead_strip"
+ at private7 = private global ptr zeroinitializer, section "__OBJC,__cls_refs,literal_pointers,no_dead_strip"
; CHECK: .section __OBJC,__cls_refs,literal_pointers,no_dead_strip
; CHECK: .p2align 3
; CHECK: L_private7:
- at private8 = private global ptr null, section "__DATA,__nl_symbol_ptr,non_lazy_symbol_pointers"
+ at private8 = private global ptr zeroinitializer, section "__DATA,__nl_symbol_ptr,non_lazy_symbol_pointers"
; CHECK: .section __DATA,__nl_symbol_ptr,non_lazy_symbol_pointers
; CHECK-NEXT: .p2align 3
; CHECK-NEXT: L_private8:
- at private9 = private global ptr null, section "__DATA,__la_symbol_ptr,lazy_symbol_pointers"
+ at private9 = private global ptr zeroinitializer, section "__DATA,__la_symbol_ptr,lazy_symbol_pointers"
; CHECK: .section __DATA,__la_symbol_ptr,lazy_symbol_pointers
; CHECK-NEXT: .p2align 3
; CHECK-NEXT: L_private9:
- at private10 = private global ptr null, section "__DATA,__mod_init_func,mod_init_funcs"
+ at private10 = private global ptr zeroinitializer, section "__DATA,__mod_init_func,mod_init_funcs"
; CHECK: .section __DATA,__mod_init_func,mod_init_funcs
; CHECK-NEXT: .p2align 3
; CHECK-NEXT: L_private10:
- at private11 = private global ptr null, section "__DATA,__mod_term_func,mod_term_funcs"
+ at private11 = private global ptr zeroinitializer, section "__DATA,__mod_term_func,mod_term_funcs"
; CHECK: .section __DATA,__mod_term_func,mod_term_funcs
; CHECK-NEXT: .p2align 3
; CHECK-NEXT: L_private11:
- at private12 = private global ptr null, section "__DATA,__foobar,interposing"
+ at private12 = private global ptr zeroinitializer, section "__DATA,__foobar,interposing"
; CHECK: .section __DATA,__foobar,interposing
; CHECK-NEXT: .p2align 3
; CHECK-NEXT: L_private12:
diff --git a/llvm/test/CodeGen/X86/pic.ll b/llvm/test/CodeGen/X86/pic.ll
index ef2849ca0cde6..0018779c94f06 100644
--- a/llvm/test/CodeGen/X86/pic.ll
+++ b/llvm/test/CodeGen/X86/pic.ll
@@ -2,9 +2,9 @@
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-pc-linux-gnux32 -relocation-model=pic -asm-verbose=false -post-RA-scheduler=false -verify-machineinstrs | FileCheck %s -check-prefixes=CHECK,CHECK-X32
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-pc-linux-gnux32 -relocation-model=pic -asm-verbose=false -post-RA-scheduler=false -fast-isel -verify-machineinstrs | FileCheck %s -check-prefixes=CHECK,CHECK-X32
- at ptr = external global ptr
- at dst = external global i32
- at src = external global i32
+ at ptr = external global ptr
+ at dst = external global i32
+ at src = external global i32
define void @test0() nounwind {
entry:
@@ -12,7 +12,7 @@ entry:
%tmp.s = load i32, ptr @src
store i32 %tmp.s, ptr @dst
ret void
-
+
; CHECK-LABEL: test0:
; CHECK-I686: calll .L0$pb
; CHECK-I686-NEXT: .L0$pb:
@@ -28,7 +28,7 @@ entry:
; CHECK-X32: retq
}
- at ptr2 = global ptr null
+ at ptr2 = global ptr zeroinitializer
@dst2 = global i32 0
@src2 = global i32 0
@@ -38,7 +38,7 @@ entry:
%tmp.s = load i32, ptr @src2
store i32 %tmp.s, ptr @dst2
ret void
-
+
; CHECK-LABEL: test1:
; CHECK-I686: calll .L1$pb
; CHECK-I686-NEXT: .L1$pb:
@@ -81,7 +81,7 @@ entry:
}
- at pfoo = external global ptr
+ at pfoo = external global ptr
define void @test3() nounwind {
entry:
@@ -121,7 +121,7 @@ entry:
declare void @foo(...)
- at ptr6 = internal global ptr null
+ at ptr6 = internal global ptr zeroinitializer
@dst6 = internal global i32 0
@src6 = internal global i32 0
@@ -131,7 +131,7 @@ entry:
%tmp.s = load i32, ptr @src6
store i32 %tmp.s, ptr @dst6
ret void
-
+
; CHECK-LABEL: test5:
; CHECK-I686: calll .L5$pb
; CHECK-I686-NEXT: .L5$pb:
@@ -162,7 +162,7 @@ entry:
; CHECK-LABEL: test6:
; CHECK-I686: calll .L6$pb
; CHECK-I686: .L6$pb:
-; CHECK-I686: addl $_GLOBAL_OFFSET_TABLE_+(.L{{.*}}-.L6$pb),
+; CHECK-I686: addl $_GLOBAL_OFFSET_TABLE_+(.L{{.*}}-.L6$pb),
; CHECK-I686: fldl .LCPI6_0 at GOTOFF(
; CHECK-X32: .LCPI6_0(%rip),
}
@@ -211,7 +211,7 @@ bb11:
bb12:
tail call void(...) @foo6()
ret void
-
+
; CHECK-LABEL: test7:
; CHECK-I686: calll .L7$pb
; CHECK-I686: .L7$pb:
@@ -254,16 +254,16 @@ declare void @foo4(...)
declare void @foo5(...)
;; Check TLS references
- at tlsptrgd = thread_local global ptr null
+ at tlsptrgd = thread_local global ptr zeroinitializer
@tlsdstgd = thread_local global i32 0
@tlssrcgd = thread_local global i32 0
- at tlsptrld = thread_local(localdynamic) global ptr null
+ at tlsptrld = thread_local(localdynamic) global ptr zeroinitializer
@tlsdstld = thread_local(localdynamic) global i32 0
@tlssrcld = thread_local(localdynamic) global i32 0
- at tlsptrie = thread_local(initialexec) global ptr null
+ at tlsptrie = thread_local(initialexec) global ptr zeroinitializer
@tlsdstie = thread_local(initialexec) global i32 0
@tlssrcie = thread_local(initialexec) global i32 0
- at tlsptrle = thread_local(localexec) global ptr null
+ at tlsptrle = thread_local(localexec) global ptr zeroinitializer
@tlsdstle = thread_local(localexec) global i32 0
@tlssrcle = thread_local(localexec) global i32 0
diff --git a/llvm/test/CodeGen/X86/post-ra-sched-with-debug.mir b/llvm/test/CodeGen/X86/post-ra-sched-with-debug.mir
index bf725930f1f27..02cd7fcc112ca 100644
--- a/llvm/test/CodeGen/X86/post-ra-sched-with-debug.mir
+++ b/llvm/test/CodeGen/X86/post-ra-sched-with-debug.mir
@@ -97,7 +97,7 @@
%class.b = type { ptr, ptr }
%struct.a = type opaque
- @n = local_unnamed_addr global ptr null, align 8
+ @n = local_unnamed_addr global ptr zeroinitializer, align 8
@o = global i32 0, align 4
define linkonce_odr void @_ZN1sC2Ei(ptr, i32) unnamed_addr #0 align 2 !dbg !4 {
diff --git a/llvm/test/CodeGen/X86/pr33290.ll b/llvm/test/CodeGen/X86/pr33290.ll
index 3991080d75bc0..52978c4b00456 100644
--- a/llvm/test/CodeGen/X86/pr33290.ll
+++ b/llvm/test/CodeGen/X86/pr33290.ll
@@ -4,7 +4,7 @@
@a = common dso_local global i32 0, align 4
@c = common dso_local local_unnamed_addr global i8 0, align 1
- at b = common dso_local local_unnamed_addr global ptr null, align 8
+ at b = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8
define dso_local void @e() {
; X86-LABEL: e:
diff --git a/llvm/test/CodeGen/X86/pr50782.ll b/llvm/test/CodeGen/X86/pr50782.ll
index 591a33446d4e3..2738f96174155 100644
--- a/llvm/test/CodeGen/X86/pr50782.ll
+++ b/llvm/test/CodeGen/X86/pr50782.ll
@@ -7,7 +7,7 @@
@f = global i32 0, align 4
@g = global float 0.000000e+00, align 4
@e = global i32 0, align 4
- at c = global ptr null, align 4
+ at c = global ptr zeroinitializer, align 4
; The FP stack should be preserved across the call to __alloca.
define void @h(float %i) {
diff --git a/llvm/test/CodeGen/X86/pr63645.ll b/llvm/test/CodeGen/X86/pr63645.ll
index 7ee418565ee63..e2da09f9c73d1 100644
--- a/llvm/test/CodeGen/X86/pr63645.ll
+++ b/llvm/test/CodeGen/X86/pr63645.ll
@@ -2,7 +2,7 @@
; RUN: llc < %s -mtriple=x86_64-- | FileCheck %s
@p = dso_local local_unnamed_addr global i64 0, align 8
- at l = dso_local local_unnamed_addr global ptr null, align 8
+ at l = dso_local local_unnamed_addr global ptr zeroinitializer, align 8
@c = dso_local local_unnamed_addr global i32 0, align 4
; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
diff --git a/llvm/test/CodeGen/X86/pre-coalesce-2.ll b/llvm/test/CodeGen/X86/pre-coalesce-2.ll
index 1b1b7c7fdc7d8..8f474b02238e9 100644
--- a/llvm/test/CodeGen/X86/pre-coalesce-2.ll
+++ b/llvm/test/CodeGen/X86/pre-coalesce-2.ll
@@ -5,7 +5,7 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
@.str = internal unnamed_addr constant { [17 x i8], [47 x i8] } { [17 x i8] c"0123456789ABCDEF\00", [47 x i8] zeroinitializer }, align 32
@b = common local_unnamed_addr global i32 0, align 4
- at a = common local_unnamed_addr global ptr null, align 8
+ at a = common local_unnamed_addr global ptr zeroinitializer, align 8
@__sancov_gen_cov = private global [9 x i32] zeroinitializer
; Function Attrs: nounwind sanitize_address
diff --git a/llvm/test/CodeGen/X86/pre-coalesce.ll b/llvm/test/CodeGen/X86/pre-coalesce.ll
index 89b26c29f4934..370bb873d636a 100644
--- a/llvm/test/CodeGen/X86/pre-coalesce.ll
+++ b/llvm/test/CodeGen/X86/pre-coalesce.ll
@@ -17,7 +17,7 @@
;
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
- at b = common local_unnamed_addr global ptr null, align 8
+ at b = common local_unnamed_addr global ptr zeroinitializer, align 8
@a = common local_unnamed_addr global i32 0, align 4
define i32 @foo() local_unnamed_addr {
diff --git a/llvm/test/CodeGen/X86/pre-coalesce.mir b/llvm/test/CodeGen/X86/pre-coalesce.mir
index 107f8944a729b..cf3b5f5ba8e1c 100644
--- a/llvm/test/CodeGen/X86/pre-coalesce.mir
+++ b/llvm/test/CodeGen/X86/pre-coalesce.mir
@@ -5,10 +5,10 @@
source_filename = "<stdin>"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
-
- @b = common local_unnamed_addr global ptr null, align 8
+
+ @b = common local_unnamed_addr global ptr zeroinitializer, align 8
@a = common local_unnamed_addr global i32 0, align 4
-
+
define i32 @foo() local_unnamed_addr {
entry:
%t0 = load ptr, ptr @b, align 8
@@ -16,10 +16,10 @@
%cmp4 = icmp eq i8 %t1, 0
%t2 = load i32, ptr @a, align 4
br i1 %cmp4, label %while.end, label %while.body.preheader
-
+
while.body.preheader: ; preds = %entry
br label %while.body
-
+
while.body: ; preds = %while.body, %while.body.preheader
%t3 = phi i32 [ %add3, %while.body ], [ %t2, %while.body.preheader ]
%t4 = phi i8 [ %t5, %while.body ], [ %t1, %while.body.preheader ]
@@ -30,7 +30,7 @@
%t5 = load i8, ptr %t0, align 1
%cmp = icmp eq i8 %t5, 0
br i1 %cmp, label %while.end, label %while.body
-
+
while.end: ; preds = %while.body, %entry
%.lcssa = phi i32 [ %t2, %entry ], [ %add3, %while.body ]
ret i32 %.lcssa
@@ -52,7 +52,7 @@ legalized: false
regBankSelected: false
selected: false
tracksRegLiveness: true
-registers:
+registers:
- { id: 0, class: gr64 }
- { id: 1, class: gr8 }
- { id: 2, class: gr32 }
@@ -67,7 +67,7 @@ registers:
- { id: 11, class: gr32 }
- { id: 12, class: gr8 }
- { id: 13, class: gr32 }
-frameInfo:
+frameInfo:
isFrameAddressTaken: false
isReturnAddressTaken: false
hasStackMap: false
@@ -88,11 +88,11 @@ body: |
TEST8rr %12, %12, implicit-def $eflags
%11 = MOV32rm $rip, 1, $noreg, @a, $noreg :: (dereferenceable load (s32) from @a)
JCC_1 %bb.1, 5, implicit killed $eflags
-
+
bb.4:
%10 = COPY %11
JMP_1 %bb.3
-
+
bb.1.while.body.preheader:
bb.2.while.body:
@@ -107,7 +107,7 @@ body: |
%11 = COPY %10
JCC_1 %bb.2, 5, implicit killed $eflags
JMP_1 %bb.3
-
+
bb.3.while.end:
$eax = COPY %10
RET 0, killed $eax
diff --git a/llvm/test/CodeGen/X86/scheduler-asm-moves.mir b/llvm/test/CodeGen/X86/scheduler-asm-moves.mir
index 045b02188888f..8f3a3ea6c4445 100644
--- a/llvm/test/CodeGen/X86/scheduler-asm-moves.mir
+++ b/llvm/test/CodeGen/X86/scheduler-asm-moves.mir
@@ -16,7 +16,7 @@
@csum_ipv6_magic_saddr = dso_local local_unnamed_addr global %struct.in6_addr zeroinitializer, align 1
@csum_ipv6_magic_daddr = dso_local local_unnamed_addr global i32 0, align 4
@csum_ipv6_magic_proto = dso_local local_unnamed_addr global i32 0, align 4
- @synproxy_send_tcp_ipv6_nskb = dso_local local_unnamed_addr global ptr null, align 4
+ @synproxy_send_tcp_ipv6_nskb = dso_local local_unnamed_addr global ptr zeroinitializer, align 4
@synproxy_send_tcp_ipv6_fl6 = dso_local local_unnamed_addr global %struct.in6_addr zeroinitializer, align 1
; Function Attrs: nounwind uwtable
diff --git a/llvm/test/CodeGen/X86/shadow-stack.ll b/llvm/test/CodeGen/X86/shadow-stack.ll
index bf0a00732b88a..18a48f0068923 100644
--- a/llvm/test/CodeGen/X86/shadow-stack.ll
+++ b/llvm/test/CodeGen/X86/shadow-stack.ll
@@ -25,7 +25,7 @@
;; }
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- at buf = common local_unnamed_addr global ptr null, align 8
+ at buf = common local_unnamed_addr global ptr zeroinitializer, align 8
; Functions that use LongJmp should fix the Shadow Stack using previosuly saved
; ShadowStackPointer in the input buffer.
diff --git a/llvm/test/CodeGen/X86/stack-protector-3.ll b/llvm/test/CodeGen/X86/stack-protector-3.ll
index 8ca6a566f6dca..3b2f9ae036fdc 100644
--- a/llvm/test/CodeGen/X86/stack-protector-3.ll
+++ b/llvm/test/CodeGen/X86/stack-protector-3.ll
@@ -91,12 +91,12 @@
; ModuleID = 't.c'
;--- existedGV.ll
- at __woof = dso_local local_unnamed_addr global ptr null, align 8
+ at __woof = dso_local local_unnamed_addr global ptr zeroinitializer, align 8
;--- main.ll
@.str = private unnamed_addr constant [14 x i8] c"stackoverflow\00", align 1
- at a = dso_local local_unnamed_addr global ptr null, align 8
+ at a = dso_local local_unnamed_addr global ptr zeroinitializer, align 8
; Function Attrs: nounwind sspreq uwtable writeonly
define dso_local i32 @main() local_unnamed_addr #0 {
diff --git a/llvm/test/CodeGen/X86/stack-protector-musttail.ll b/llvm/test/CodeGen/X86/stack-protector-musttail.ll
index b0849ac8daa49..8dfa3da452c6f 100644
--- a/llvm/test/CodeGen/X86/stack-protector-musttail.ll
+++ b/llvm/test/CodeGen/X86/stack-protector-musttail.ll
@@ -1,6 +1,6 @@
; RUN: llc -mtriple=x86_64-linux-gnu -fast-isel %s -o - -start-before=stack-protector -stop-after=stack-protector | FileCheck %s
- at var = global ptr null
+ at var = global ptr zeroinitializer
declare void @callee()
diff --git a/llvm/test/CodeGen/X86/store-global-address.ll b/llvm/test/CodeGen/X86/store-global-address.ll
index eb2518c7f3695..dec6ce577b53f 100644
--- a/llvm/test/CodeGen/X86/store-global-address.ll
+++ b/llvm/test/CodeGen/X86/store-global-address.ll
@@ -2,7 +2,7 @@
; RUN: llc < %s -mtriple=i686-- | FileCheck %s
@dst = global i32 0 ; <ptr> [#uses=1]
- at ptr = global ptr null ; <ptr> [#uses=1]
+ at ptr = global ptr zeroinitializer ; <ptr> [#uses=1]
define void @test() {
; CHECK-LABEL: test:
diff --git a/llvm/test/CodeGen/X86/tail-dup-addr.ll b/llvm/test/CodeGen/X86/tail-dup-addr.ll
index 9cc3f46e7699d..b4aeb5bc1a547 100644
--- a/llvm/test/CodeGen/X86/tail-dup-addr.ll
+++ b/llvm/test/CodeGen/X86/tail-dup-addr.ll
@@ -6,7 +6,7 @@
; CHECK: Ltmp1: ## Block address taken
@a = common global i32 0, align 4
- at p = common global ptr null, align 8
+ at p = common global ptr zeroinitializer, align 8
define void @foo() noreturn nounwind uwtable ssp {
entry:
diff --git a/llvm/test/CodeGen/X86/unused_stackslots.ll b/llvm/test/CodeGen/X86/unused_stackslots.ll
index 4d390bd58ff2a..8f14ebdcd1b40 100644
--- a/llvm/test/CodeGen/X86/unused_stackslots.ll
+++ b/llvm/test/CodeGen/X86/unused_stackslots.ll
@@ -6,10 +6,10 @@ target triple = "x86_64-unknown-linux-gnu"
%struct.ImageParameters = type { i32, i32, [0 x [16 x i16]] }
%struct.InputParameters = type { i32, i32 }
- at c = common global ptr null, align 8
- at a = common global ptr null, align 8
+ at c = common global ptr zeroinitializer, align 8
+ at a = common global ptr zeroinitializer, align 8
@d = common global [6 x i32] zeroinitializer, align 16
- at b = common global ptr null, align 8
+ at b = common global ptr zeroinitializer, align 8
@e = common global [4 x i32] zeroinitializer, align 16
; It is not easy to check there is no unused holes in stack allocated for spills,
diff --git a/llvm/test/CodeGen/X86/windows-seh-EHa-CppCatchDotDotDot.ll b/llvm/test/CodeGen/X86/windows-seh-EHa-CppCatchDotDotDot.ll
index d4d4fe346755d..41cc4fa3dd61e 100644
--- a/llvm/test/CodeGen/X86/windows-seh-EHa-CppCatchDotDotDot.ll
+++ b/llvm/test/CodeGen/X86/windows-seh-EHa-CppCatchDotDotDot.ll
@@ -68,9 +68,9 @@ $"??_C at _0N@LJHFFAKD@?5in?5A?5ctor?5?6?$AA@" = comdat any
$"??_C at _0N@HMNCGOCN@?5in?5A?5dtor?5?6?$AA@" = comdat any
-@"?pt1@@3PEAHEA" = dso_local global ptr null, align 8
-@"?pt2@@3PEAHEA" = dso_local global ptr null, align 8
-@"?pt3@@3PEAHEA" = dso_local global ptr null, align 8
+@"?pt1@@3PEAHEA" = dso_local global ptr zeroinitializer, align 8
+@"?pt2@@3PEAHEA" = dso_local global ptr zeroinitializer, align 8
+@"?pt3@@3PEAHEA" = dso_local global ptr zeroinitializer, align 8
@"?g@@3HA" = dso_local global i32 0, align 4
@"??_C at _0BJ@EIKFKKLB@?5in?5catch?$CI?4?4?4?$CJ?5funclet?5?6?$AA@" = linkonce_odr dso_local unnamed_addr constant [25 x i8] c" in catch(...) funclet \0A\00", comdat, align 1
@"??_7type_info@@6B@" = external constant ptr
diff --git a/llvm/test/CodeGen/X86/windows-seh-EHa-CppCondiTemps.ll b/llvm/test/CodeGen/X86/windows-seh-EHa-CppCondiTemps.ll
index cc100c2965730..bf020c874901e 100644
--- a/llvm/test/CodeGen/X86/windows-seh-EHa-CppCondiTemps.ll
+++ b/llvm/test/CodeGen/X86/windows-seh-EHa-CppCondiTemps.ll
@@ -54,7 +54,7 @@ $"??_C at _0N@GFONDMMJ at in?5B2?5Dtor?5?6?$AA@" = comdat any
$"??_C at _0N@HCJGCIIK at in?5B3?5Dtor?5?6?$AA@" = comdat any
@"?xxxx@@3HA" = dso_local global i32 0, align 4
-@"?ptr@@3PEAHEA" = dso_local global ptr null, align 8
+@"?ptr@@3PEAHEA" = dso_local global ptr zeroinitializer, align 8
@"??_C at _0N@FMGAAAAM at in?5B1?5Dtor?5?6?$AA@" = linkonce_odr dso_local unnamed_addr constant [13 x i8] c"in B1 Dtor \0A\00", comdat, align 1
@"??_C at _0N@GFONDMMJ at in?5B2?5Dtor?5?6?$AA@" = linkonce_odr dso_local unnamed_addr constant [13 x i8] c"in B2 Dtor \0A\00", comdat, align 1
@"??_C at _0N@HCJGCIIK at in?5B3?5Dtor?5?6?$AA@" = linkonce_odr dso_local unnamed_addr constant [13 x i8] c"in B3 Dtor \0A\00", comdat, align 1
diff --git a/llvm/test/CodeGen/X86/x86-32-intrcc.ll b/llvm/test/CodeGen/X86/x86-32-intrcc.ll
index a0f937e2c323b..f5088a9a77785 100644
--- a/llvm/test/CodeGen/X86/x86-32-intrcc.ll
+++ b/llvm/test/CodeGen/X86/x86-32-intrcc.ll
@@ -4,7 +4,7 @@
%struct.interrupt_frame = type { i32, i32, i32, i32, i32 }
- at sink_address = global ptr null
+ at sink_address = global ptr zeroinitializer
@sink_i32 = global i32 0
diff --git a/llvm/test/CodeGen/X86/x86-64-intrcc.ll b/llvm/test/CodeGen/X86/x86-64-intrcc.ll
index 5fc606eb566ea..71584c395e0ef 100644
--- a/llvm/test/CodeGen/X86/x86-64-intrcc.ll
+++ b/llvm/test/CodeGen/X86/x86-64-intrcc.ll
@@ -3,7 +3,7 @@
%struct.interrupt_frame = type { i64, i64, i64, i64, i64 }
- at sink_address = dso_local global ptr null
+ at sink_address = dso_local global ptr zeroinitializer
@sink_i32 = dso_local global i64 0
; Spills rax, putting original esp at +8.
diff --git a/llvm/test/CodeGen/X86/x86-64-mem.ll b/llvm/test/CodeGen/X86/x86-64-mem.ll
index 58efa8b3db258..cb8e8da114250 100644
--- a/llvm/test/CodeGen/X86/x86-64-mem.ll
+++ b/llvm/test/CodeGen/X86/x86-64-mem.ll
@@ -5,7 +5,7 @@
@ptr = external global ptr ; <ptr> [#uses=1]
@src = external global [0 x i32] ; <ptr> [#uses=1]
@dst = external global [0 x i32] ; <ptr> [#uses=1]
- at lptr = internal global ptr null ; <ptr> [#uses=1]
+ at lptr = internal global ptr zeroinitializer ; <ptr> [#uses=1]
@ldst = internal global [500 x i32] zeroinitializer, align 32 ; <ptr> [#uses=1]
@lsrc = internal global [500 x i32] zeroinitializer, align 32 ; <ptr> [#uses=0]
@bsrc = internal global [500000 x i32] zeroinitializer, align 32 ; <ptr> [#uses=0]
diff --git a/llvm/test/CodeGen/X86/zero-call-used-regs-i386.ll b/llvm/test/CodeGen/X86/zero-call-used-regs-i386.ll
index f56044b857b93..4e9db464cc32c 100644
--- a/llvm/test/CodeGen/X86/zero-call-used-regs-i386.ll
+++ b/llvm/test/CodeGen/X86/zero-call-used-regs-i386.ll
@@ -10,7 +10,7 @@
@mas_data_end_type = dso_local local_unnamed_addr global i32 0, align 4
@ma_meta_end_mn_0_0_0_0_0_0 = dso_local local_unnamed_addr global i8 0, align 1
@mt_pivots_0 = dso_local local_unnamed_addr global i8 0, align 1
- at mas_data_end___trans_tmp_2 = dso_local local_unnamed_addr global ptr null, align 4
+ at mas_data_end___trans_tmp_2 = dso_local local_unnamed_addr global ptr zeroinitializer, align 4
@mt_slots_0 = dso_local local_unnamed_addr global i8 0, align 1
define dso_local zeroext i1 @test1(ptr nocapture noundef readonly %0) local_unnamed_addr "zero-call-used-regs"="used-gpr" nounwind {
diff --git a/llvm/test/CodeGen/XCore/indirectbr.ll b/llvm/test/CodeGen/XCore/indirectbr.ll
index 4ed4c3a2e95d6..f878f0791e1eb 100644
--- a/llvm/test/CodeGen/XCore/indirectbr.ll
+++ b/llvm/test/CodeGen/XCore/indirectbr.ll
@@ -1,6 +1,6 @@
; RUN: llc < %s -mtriple=xcore | FileCheck %s
- at nextaddr = global ptr null ; <ptr> [#uses=2]
+ at nextaddr = global ptr zeroinitializer ; <ptr> [#uses=2]
@C.0.2070 = private constant [5 x ptr] [ptr blockaddress(@foo, %L1), ptr blockaddress(@foo, %L2), ptr blockaddress(@foo, %L3), ptr blockaddress(@foo, %L4), ptr blockaddress(@foo, %L5)] ; <ptr> [#uses=1]
define internal i32 @foo(i32 %i) nounwind {
diff --git a/llvm/test/CodeGen/Xtensa/blockaddress.ll b/llvm/test/CodeGen/Xtensa/blockaddress.ll
index e3c23cf8cedf0..e90431dadf1ec 100644
--- a/llvm/test/CodeGen/Xtensa/blockaddress.ll
+++ b/llvm/test/CodeGen/Xtensa/blockaddress.ll
@@ -1,7 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
; RUN: llc --mtriple=xtensa < %s | FileCheck %s
- at addr = global ptr null
+ at addr = global ptr zeroinitializer
define void @test_blockaddress() {
; CHECK-LABEL: test_blockaddress:
diff --git a/llvm/test/DebugInfo/AArch64/frameindices.ll b/llvm/test/DebugInfo/AArch64/frameindices.ll
index 1b508051d459c..21a752e7c3bd9 100644
--- a/llvm/test/DebugInfo/AArch64/frameindices.ll
+++ b/llvm/test/DebugInfo/AArch64/frameindices.ll
@@ -40,7 +40,7 @@ target triple = "aarch64-apple-ios"
%struct.B = type { i8 }
@a = global i64 0, align 8, !dbg !0
- at b = global ptr null, align 8, !dbg !4
+ at b = global ptr zeroinitializer, align 8, !dbg !4
define void @_Z3f131A(ptr nocapture readonly %p1) !dbg !32 {
entry:
diff --git a/llvm/test/DebugInfo/AArch64/inlined-argument.ll b/llvm/test/DebugInfo/AArch64/inlined-argument.ll
index 3850d8f21d234..23909b8d7cdb9 100644
--- a/llvm/test/DebugInfo/AArch64/inlined-argument.ll
+++ b/llvm/test/DebugInfo/AArch64/inlined-argument.ll
@@ -35,7 +35,7 @@ target triple = "arm64-apple-ios5.0.0"
%struct.t = type { ptr }
%struct.q = type { ptr, i64 }
- at tt = common local_unnamed_addr global ptr null, align 8, !dbg !0
+ at tt = common local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
; Function Attrs: norecurse nounwind readonly ssp uwtable
define i32 @g(ptr nocapture readonly %t, i64 %r) local_unnamed_addr !dbg !21 {
diff --git a/llvm/test/DebugInfo/AArch64/ptrauth.ll b/llvm/test/DebugInfo/AArch64/ptrauth.ll
index 5d9099f05704b..35bcbfe802738 100644
--- a/llvm/test/DebugInfo/AArch64/ptrauth.ll
+++ b/llvm/test/DebugInfo/AArch64/ptrauth.ll
@@ -41,7 +41,7 @@
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
- at p = global ptr null, align 8, !dbg !0
+ at p = global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!10}
!llvm.module.flags = !{!19, !20}
diff --git a/llvm/test/DebugInfo/COFF/fortran-contained-proc.ll b/llvm/test/DebugInfo/COFF/fortran-contained-proc.ll
index 82b39d4fa34cb..0c5c5ad504e49 100644
--- a/llvm/test/DebugInfo/COFF/fortran-contained-proc.ll
+++ b/llvm/test/DebugInfo/COFF/fortran-contained-proc.ll
@@ -34,7 +34,7 @@ source_filename = "tr1.f90"
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-msvc"
-@"IF_TEST$A" = internal global ptr null, align 8, !dbg !0
+@"IF_TEST$A" = internal global ptr zeroinitializer, align 8, !dbg !0
@0 = internal unnamed_addr constant i32 65536
@1 = internal unnamed_addr constant i32 2
diff --git a/llvm/test/DebugInfo/COFF/pr37492.ll b/llvm/test/DebugInfo/COFF/pr37492.ll
index 0c0dc8aec21dc..d71babf412167 100644
--- a/llvm/test/DebugInfo/COFF/pr37492.ll
+++ b/llvm/test/DebugInfo/COFF/pr37492.ll
@@ -37,7 +37,7 @@ target triple = "x86_64-pc-windows-msvc19.13.26131"
%struct.Bits = type { i8 }
@"?bits@@3UBits@@A" = dso_local global %struct.Bits zeroinitializer, align 1, !dbg !0
-@"?p_const@@3PEBEEB" = dso_local global ptr null, align 8, !dbg !6
+@"?p_const@@3PEBEEB" = dso_local global ptr zeroinitializer, align 8, !dbg !6
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!15, !16, !17, !18}
diff --git a/llvm/test/DebugInfo/COFF/static-methods.ll b/llvm/test/DebugInfo/COFF/static-methods.ll
index f0c7e89759306..e0ffd19db1b02 100644
--- a/llvm/test/DebugInfo/COFF/static-methods.ll
+++ b/llvm/test/DebugInfo/COFF/static-methods.ll
@@ -77,7 +77,7 @@ target triple = "i686-pc-windows-msvc19.0.24215"
%struct.A = type { i8 }
-@"\01?p@@3PAUA@@A" = global ptr null, align 4, !dbg !0
+@"\01?p@@3PAUA@@A" = global ptr zeroinitializer, align 4, !dbg !0
@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__sub_I_t.cpp, ptr null }]
; Function Attrs: noinline
diff --git a/llvm/test/DebugInfo/COFF/types-array-advanced.ll b/llvm/test/DebugInfo/COFF/types-array-advanced.ll
index f445108133720..fd464d79b9700 100644
--- a/llvm/test/DebugInfo/COFF/types-array-advanced.ll
+++ b/llvm/test/DebugInfo/COFF/types-array-advanced.ll
@@ -49,7 +49,7 @@
; CHECK: ElementType: int (0x74)
; CHECK: IndexType: unsigned long (0x22)
; CHECK: SizeOf: 0
-; CHECK: Name:
+; CHECK: Name:
; CHECK: }
; CHECK: Pointer (0x1004) {
; CHECK: TypeLeafKind: LF_POINTER (0x1002)
@@ -67,21 +67,21 @@
; CHECK: ElementType: char (0x70)
; CHECK: IndexType: unsigned long (0x22)
; CHECK: SizeOf: 7
-; CHECK: Name:
+; CHECK: Name:
; CHECK: }
; CHECK: Array (0x1006) {
; CHECK: TypeLeafKind: LF_ARRAY (0x1503)
; CHECK: ElementType: 0x1005
; CHECK: IndexType: unsigned long (0x22)
; CHECK: SizeOf: 35
-; CHECK: Name:
+; CHECK: Name:
; CHECK: }
; CHECK: Array (0x1007) {
; CHECK: TypeLeafKind: LF_ARRAY (0x1503)
; CHECK: ElementType: 0x1006
; CHECK: IndexType: unsigned long (0x22)
; CHECK: SizeOf: 70
-; CHECK: Name:
+; CHECK: Name:
; CHECK: }
; CHECK: Struct (0x1008) {
; CHECK: TypeLeafKind: LF_STRUCTURE (0x1505)
@@ -102,7 +102,7 @@
; CHECK: ElementType: incomplete_struct (0x1008)
; CHECK: IndexType: unsigned long (0x22)
; CHECK: SizeOf: 12
-; CHECK: Name:
+; CHECK: Name:
; CHECK: }
; CHECK: Pointer (0x100A) {
; CHECK: TypeLeafKind: LF_POINTER (0x1002)
@@ -162,7 +162,7 @@
; CHECK: ElementType: const volatile int (0x100F)
; CHECK: IndexType: unsigned long (0x22)
; CHECK: SizeOf: 16
-; CHECK: Name:
+; CHECK: Name:
; CHECK: }
; CHECK: ]
@@ -173,7 +173,7 @@ target triple = "i686-pc-windows-msvc18.0.31101"
%struct.incomplete_struct = type { i32 }
@"\01?multi_dim_arr@@3PAY146DA" = global [2 x [5 x [7 x i8]]] zeroinitializer, align 1, !dbg !0
-@"\01?p_incomplete_struct_arr@@3PAY02Uincomplete_struct@@A" = global ptr null, align 4, !dbg !6
+@"\01?p_incomplete_struct_arr@@3PAY02Uincomplete_struct@@A" = global ptr zeroinitializer, align 4, !dbg !6
@"\01?incomplete_struct_arr@@3PAUincomplete_struct@@A" = global [3 x %struct.incomplete_struct] zeroinitializer, align 4, !dbg !16
@"\01?typedef_arr@@3SDHD" = constant [4 x i32] zeroinitializer, align 4, !dbg !18
diff --git a/llvm/test/DebugInfo/COFF/types-cvarargs.ll b/llvm/test/DebugInfo/COFF/types-cvarargs.ll
index def9d0143355d..9039b7e9b4518 100644
--- a/llvm/test/DebugInfo/COFF/types-cvarargs.ll
+++ b/llvm/test/DebugInfo/COFF/types-cvarargs.ll
@@ -49,7 +49,7 @@ target triple = "x86_64-pc-windows-msvc19.11.25507"
$"\01?MemberFunc at A@MemberTest@@QEAAHZZ" = comdat any
-@"\01?funcVar@@3P6AXHMZZEA" = global ptr null, align 8, !dbg !0
+@"\01?funcVar@@3P6AXHMZZEA" = global ptr zeroinitializer, align 8, !dbg !0
; Function Attrs: noinline optnone uwtable
define i32 @"\01?f@@YAHXZ"() #0 !dbg !17 {
diff --git a/llvm/test/DebugInfo/COFF/types-ptr-to-member.ll b/llvm/test/DebugInfo/COFF/types-ptr-to-member.ll
index 7d7f54fd07eb8..66e211e6908ef 100644
--- a/llvm/test/DebugInfo/COFF/types-ptr-to-member.ll
+++ b/llvm/test/DebugInfo/COFF/types-ptr-to-member.ll
@@ -179,12 +179,12 @@ target triple = "x86_64-pc-windows-msvc19.0.23918"
@"\01?pmd_b@@3PEQC@@HEQ1@" = global i32 -1, align 8, !dbg !6
@"\01?pmd_c@@3PEQD@@HEQ1@" = global { i32, i32 } { i32 0, i32 -1 }, align 8, !dbg !21
@"\01?pmd_d@@3PEQE@@HEQ1@" = global { i32, i32, i32 } { i32 0, i32 0, i32 -1 }, align 8, !dbg !25
-@"\01?pmf_a@@3P8A@@EAAXXZEQ1@" = global ptr null, align 8, !dbg !29
+@"\01?pmf_a@@3P8A@@EAAXXZEQ1@" = global ptr zeroinitializer, align 8, !dbg !29
@"\01?pmf_b@@3P8C@@EAAXXZEQ1@" = global { ptr, i32 } zeroinitializer, align 8, !dbg !35
@"\01?pmf_c@@3P8D@@EAAXXZEQ1@" = global { ptr, i32, i32 } zeroinitializer, align 8, !dbg !41
@"\01?pmf_d@@3P8E@@EAAXXZEQ1@" = global { ptr, i32, i32, i32 } zeroinitializer, align 8, !dbg !47
-@"\01?ppmd@@3PEAPEQIncomplete@@HEA" = global ptr null, align 8, !dbg !53
-@"\01?ppmf@@3PEAP8Incomplete@@EAAXXZEA" = global ptr null, align 8, !dbg !58
+@"\01?ppmd@@3PEAPEQIncomplete@@HEA" = global ptr zeroinitializer, align 8, !dbg !53
+@"\01?ppmf@@3PEAP8Incomplete@@EAAXXZEA" = global ptr zeroinitializer, align 8, !dbg !58
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!66, !67, !68}
diff --git a/llvm/test/DebugInfo/COFF/types-std-nullptr-t.ll b/llvm/test/DebugInfo/COFF/types-std-nullptr-t.ll
index 2d96923d51d04..687661b46596e 100644
--- a/llvm/test/DebugInfo/COFF/types-std-nullptr-t.ll
+++ b/llvm/test/DebugInfo/COFF/types-std-nullptr-t.ll
@@ -22,7 +22,7 @@ source_filename = "foo.cpp"
target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-msvc19.15.26730"
-@"?NullPtr@@3$$TA" = dso_local global ptr null, align 8, !dbg !0
+@"?NullPtr@@3$$TA" = dso_local global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!7, !8, !9, !10}
diff --git a/llvm/test/DebugInfo/COFF/virtual-method-kinds.ll b/llvm/test/DebugInfo/COFF/virtual-method-kinds.ll
index daa4b9c7c057e..6158d538264a0 100644
--- a/llvm/test/DebugInfo/COFF/virtual-method-kinds.ll
+++ b/llvm/test/DebugInfo/COFF/virtual-method-kinds.ll
@@ -122,7 +122,7 @@ $"\01??_7A@@6B@" = comdat largest
$"\01??_R4A@@6B@" = comdat any
-@"\01?p@@3PEAUC@@EA" = global ptr null, align 8, !dbg !0
+@"\01?p@@3PEAUC@@EA" = global ptr zeroinitializer, align 8, !dbg !0
@0 = private unnamed_addr constant [3 x ptr] [ptr @"\01??_R4C@@6B@", ptr @"\01?f at C@@UEAAXXZ", ptr @"\01?g at C@@UEAAXXZ"], comdat($"\01??_7C@@6B@")
@"\01??_R4C@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 1, i32 0, i32 0, i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R0?AUC@@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R3C@@8" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32), i32 trunc (i64 sub nuw nsw (i64 ptrtoint (ptr @"\01??_R4C@@6B@" to i64), i64 ptrtoint (ptr @__ImageBase to i64)) to i32) }, comdat
@"\01??_7type_info@@6B@" = external constant ptr
diff --git a/llvm/test/DebugInfo/Generic/address_space_rvalue.ll b/llvm/test/DebugInfo/Generic/address_space_rvalue.ll
index ff39188b6419c..b933676586783 100644
--- a/llvm/test/DebugInfo/Generic/address_space_rvalue.ll
+++ b/llvm/test/DebugInfo/Generic/address_space_rvalue.ll
@@ -8,7 +8,7 @@
; CHECK-NOT: DW_TAG
; CHECK: DW_AT_address_class (0x00000001)
- at y = global ptr null, align 8, !dbg !0
+ at y = global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!5}
!llvm.module.flags = !{!8, !9}
diff --git a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memmove-to-from-same-alloca.ll b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memmove-to-from-same-alloca.ll
index 898f5278f2146..668c097d1c064 100644
--- a/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memmove-to-from-same-alloca.ll
+++ b/llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memmove-to-from-same-alloca.ll
@@ -6,7 +6,7 @@
;; __attribute__((nodebug)) int Cond;
;; __attribute__((nodebug)) Blob *C;
;; __attribute__((nodebug)) void call(int);
-;;
+;;
;; void f() {
;; int A[16];
;; __attribute__ ((nodebug)) int B[16];
@@ -14,7 +14,7 @@
;; __builtin_memmove(&A[0], &Glob, sizeof(Blob));
;; call(0);
;; // B[8:14) <- Glob
-;; __builtin_memmove(&B[8], &Glob, sizeof(Blob));
+;; __builtin_memmove(&B[8], &Glob, sizeof(Blob));
;; call(A[0]);
;; // A[8:14) <- A[0:6)
;; __builtin_memmove(&A[8], &A[0], sizeof(Blob));
@@ -24,9 +24,9 @@
;; __builtin_memmove(C, &A[8], sizeof(Blob));
;; else
;; // C <- B[8:14)
-;; __builtin_memmove(C, &B[8], sizeof(Blob));
+;; __builtin_memmove(C, &B[8], sizeof(Blob));
;; }
-;;
+;;
;; using:
;; clang test.cpp -emit-llvm -S -g -O2 -Xclang -disable-llvm-passes -o - \
;; | opt -passes=declare-to-assign -o test.ll - -S
@@ -55,7 +55,7 @@ target triple = "x86_64-unknown-linux-gnu"
@Glob = dso_local global %struct.Blob zeroinitializer, align 4
@Cond = dso_local global i32 0, align 4
- at C = dso_local global ptr null, align 8
+ at C = dso_local global ptr zeroinitializer, align 8
; Function Attrs: mustprogress uwtable
define dso_local void @_Z1fv() #0 !dbg !9 {
diff --git a/llvm/test/DebugInfo/Generic/debug-names-accel-table-types.ll b/llvm/test/DebugInfo/Generic/debug-names-accel-table-types.ll
index 2a6c89dcab597..5188c82c8b2a5 100644
--- a/llvm/test/DebugInfo/Generic/debug-names-accel-table-types.ll
+++ b/llvm/test/DebugInfo/Generic/debug-names-accel-table-types.ll
@@ -19,8 +19,8 @@
; SAME-NAME: Name count: 5
; The accelarator should only have one entry for the three following names.
-; SAME-NAME: "SameName"
-; SAME-NAME-NOT: "SameName"
+; SAME-NAME: "SameName"
+; SAME-NAME-NOT: "SameName"
; DIFFERENT-NAME: "DifferentName"
; DIFFERENT-NAME-NOT: "DifferentName"
@@ -33,8 +33,8 @@
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
- at q = common global i8* null, align 8, !dbg !102
- at r = common global i8* null, align 8, !dbg !105
+ at q = common global i8* zeroinitializer, align 8, !dbg !102
+ at r = common global i8* zeroinitializer, align 8, !dbg !105
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!6, !7}
diff --git a/llvm/test/DebugInfo/Generic/debug-names-hash-collisions.ll b/llvm/test/DebugInfo/Generic/debug-names-hash-collisions.ll
index ee35d75eb7814..203f3ba5780e6 100644
--- a/llvm/test/DebugInfo/Generic/debug-names-hash-collisions.ll
+++ b/llvm/test/DebugInfo/Generic/debug-names-hash-collisions.ll
@@ -60,11 +60,11 @@
; VERIFY: No errors.
- at _ZN4lldb7SBBlockC1ERKS0_ = common dso_local global ptr null, align 8, !dbg !0
- at _ZN4lldb7SBErrorC1ERKS0_ = common dso_local global ptr null, align 8, !dbg !6
- at _ZN4lldb7SBValueC1ERKS0_ = common dso_local global ptr null, align 8, !dbg !10
- at _ZL11NumCommutes = common dso_local global ptr null, align 8, !dbg !13
- at _ZL9NumReMats = common dso_local global ptr null, align 8, !dbg !16
+ at _ZN4lldb7SBBlockC1ERKS0_ = common dso_local global ptr zeroinitializer, align 8, !dbg !0
+ at _ZN4lldb7SBErrorC1ERKS0_ = common dso_local global ptr zeroinitializer, align 8, !dbg !6
+ at _ZN4lldb7SBValueC1ERKS0_ = common dso_local global ptr zeroinitializer, align 8, !dbg !10
+ at _ZL11NumCommutes = common dso_local global ptr zeroinitializer, align 8, !dbg !13
+ at _ZL9NumReMats = common dso_local global ptr zeroinitializer, align 8, !dbg !16
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!20, !21, !22}
diff --git a/llvm/test/DebugInfo/Generic/debug-names-many-cu.ll b/llvm/test/DebugInfo/Generic/debug-names-many-cu.ll
index 698d0cba67a67..e3ce8ec7d0023 100644
--- a/llvm/test/DebugInfo/Generic/debug-names-many-cu.ll
+++ b/llvm/test/DebugInfo/Generic/debug-names-many-cu.ll
@@ -68,1543 +68,1543 @@
!6 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
!3 = !DIFile(filename: "/tmp/cu2.c", directory: "/tmp")
- at foobar1 = common dso_local global ptr null, align 8, !dbg !10
+ at foobar1 = common dso_local global ptr zeroinitializer, align 8, !dbg !10
!10 = !DIGlobalVariableExpression(var: !11, expr: !DIExpression())
!11 = distinct !DIGlobalVariable(name: "foobar1", scope: !12, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!12 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !15)
!15 = !{!10}
- at foobar2 = common dso_local global ptr null, align 8, !dbg !20
+ at foobar2 = common dso_local global ptr zeroinitializer, align 8, !dbg !20
!20 = !DIGlobalVariableExpression(var: !21, expr: !DIExpression())
!21 = distinct !DIGlobalVariable(name: "foobar2", scope: !22, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!22 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !25)
!25 = !{!20}
- at foobar3 = common dso_local global ptr null, align 8, !dbg !30
+ at foobar3 = common dso_local global ptr zeroinitializer, align 8, !dbg !30
!30 = !DIGlobalVariableExpression(var: !31, expr: !DIExpression())
!31 = distinct !DIGlobalVariable(name: "foobar3", scope: !32, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!32 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !35)
!35 = !{!30}
- at foobar4 = common dso_local global ptr null, align 8, !dbg !40
+ at foobar4 = common dso_local global ptr zeroinitializer, align 8, !dbg !40
!40 = !DIGlobalVariableExpression(var: !41, expr: !DIExpression())
!41 = distinct !DIGlobalVariable(name: "foobar4", scope: !42, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!42 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !45)
!45 = !{!40}
- at foobar5 = common dso_local global ptr null, align 8, !dbg !50
+ at foobar5 = common dso_local global ptr zeroinitializer, align 8, !dbg !50
!50 = !DIGlobalVariableExpression(var: !51, expr: !DIExpression())
!51 = distinct !DIGlobalVariable(name: "foobar5", scope: !52, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!52 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !55)
!55 = !{!50}
- at foobar6 = common dso_local global ptr null, align 8, !dbg !60
+ at foobar6 = common dso_local global ptr zeroinitializer, align 8, !dbg !60
!60 = !DIGlobalVariableExpression(var: !61, expr: !DIExpression())
!61 = distinct !DIGlobalVariable(name: "foobar6", scope: !62, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!62 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !65)
!65 = !{!60}
- at foobar7 = common dso_local global ptr null, align 8, !dbg !70
+ at foobar7 = common dso_local global ptr zeroinitializer, align 8, !dbg !70
!70 = !DIGlobalVariableExpression(var: !71, expr: !DIExpression())
!71 = distinct !DIGlobalVariable(name: "foobar7", scope: !72, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!72 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !75)
!75 = !{!70}
- at foobar8 = common dso_local global ptr null, align 8, !dbg !80
+ at foobar8 = common dso_local global ptr zeroinitializer, align 8, !dbg !80
!80 = !DIGlobalVariableExpression(var: !81, expr: !DIExpression())
!81 = distinct !DIGlobalVariable(name: "foobar8", scope: !82, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!82 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !85)
!85 = !{!80}
- at foobar9 = common dso_local global ptr null, align 8, !dbg !90
+ at foobar9 = common dso_local global ptr zeroinitializer, align 8, !dbg !90
!90 = !DIGlobalVariableExpression(var: !91, expr: !DIExpression())
!91 = distinct !DIGlobalVariable(name: "foobar9", scope: !92, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!92 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !95)
!95 = !{!90}
- at foobar10 = common dso_local global ptr null, align 8, !dbg !100
+ at foobar10 = common dso_local global ptr zeroinitializer, align 8, !dbg !100
!100 = !DIGlobalVariableExpression(var: !101, expr: !DIExpression())
!101 = distinct !DIGlobalVariable(name: "foobar10", scope: !102, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!102 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !105)
!105 = !{!100}
- at foobar11 = common dso_local global ptr null, align 8, !dbg !110
+ at foobar11 = common dso_local global ptr zeroinitializer, align 8, !dbg !110
!110 = !DIGlobalVariableExpression(var: !111, expr: !DIExpression())
!111 = distinct !DIGlobalVariable(name: "foobar11", scope: !112, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!112 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !115)
!115 = !{!110}
- at foobar12 = common dso_local global ptr null, align 8, !dbg !120
+ at foobar12 = common dso_local global ptr zeroinitializer, align 8, !dbg !120
!120 = !DIGlobalVariableExpression(var: !121, expr: !DIExpression())
!121 = distinct !DIGlobalVariable(name: "foobar12", scope: !122, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!122 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !125)
!125 = !{!120}
- at foobar13 = common dso_local global ptr null, align 8, !dbg !130
+ at foobar13 = common dso_local global ptr zeroinitializer, align 8, !dbg !130
!130 = !DIGlobalVariableExpression(var: !131, expr: !DIExpression())
!131 = distinct !DIGlobalVariable(name: "foobar13", scope: !132, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!132 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !135)
!135 = !{!130}
- at foobar14 = common dso_local global ptr null, align 8, !dbg !140
+ at foobar14 = common dso_local global ptr zeroinitializer, align 8, !dbg !140
!140 = !DIGlobalVariableExpression(var: !141, expr: !DIExpression())
!141 = distinct !DIGlobalVariable(name: "foobar14", scope: !142, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!142 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !145)
!145 = !{!140}
- at foobar15 = common dso_local global ptr null, align 8, !dbg !150
+ at foobar15 = common dso_local global ptr zeroinitializer, align 8, !dbg !150
!150 = !DIGlobalVariableExpression(var: !151, expr: !DIExpression())
!151 = distinct !DIGlobalVariable(name: "foobar15", scope: !152, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!152 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !155)
!155 = !{!150}
- at foobar16 = common dso_local global ptr null, align 8, !dbg !160
+ at foobar16 = common dso_local global ptr zeroinitializer, align 8, !dbg !160
!160 = !DIGlobalVariableExpression(var: !161, expr: !DIExpression())
!161 = distinct !DIGlobalVariable(name: "foobar16", scope: !162, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!162 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !165)
!165 = !{!160}
- at foobar17 = common dso_local global ptr null, align 8, !dbg !170
+ at foobar17 = common dso_local global ptr zeroinitializer, align 8, !dbg !170
!170 = !DIGlobalVariableExpression(var: !171, expr: !DIExpression())
!171 = distinct !DIGlobalVariable(name: "foobar17", scope: !172, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!172 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !175)
!175 = !{!170}
- at foobar18 = common dso_local global ptr null, align 8, !dbg !180
+ at foobar18 = common dso_local global ptr zeroinitializer, align 8, !dbg !180
!180 = !DIGlobalVariableExpression(var: !181, expr: !DIExpression())
!181 = distinct !DIGlobalVariable(name: "foobar18", scope: !182, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!182 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !185)
!185 = !{!180}
- at foobar19 = common dso_local global ptr null, align 8, !dbg !190
+ at foobar19 = common dso_local global ptr zeroinitializer, align 8, !dbg !190
!190 = !DIGlobalVariableExpression(var: !191, expr: !DIExpression())
!191 = distinct !DIGlobalVariable(name: "foobar19", scope: !192, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!192 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !195)
!195 = !{!190}
- at foobar20 = common dso_local global ptr null, align 8, !dbg !200
+ at foobar20 = common dso_local global ptr zeroinitializer, align 8, !dbg !200
!200 = !DIGlobalVariableExpression(var: !201, expr: !DIExpression())
!201 = distinct !DIGlobalVariable(name: "foobar20", scope: !202, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!202 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !205)
!205 = !{!200}
- at foobar21 = common dso_local global ptr null, align 8, !dbg !210
+ at foobar21 = common dso_local global ptr zeroinitializer, align 8, !dbg !210
!210 = !DIGlobalVariableExpression(var: !211, expr: !DIExpression())
!211 = distinct !DIGlobalVariable(name: "foobar21", scope: !212, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!212 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !215)
!215 = !{!210}
- at foobar22 = common dso_local global ptr null, align 8, !dbg !220
+ at foobar22 = common dso_local global ptr zeroinitializer, align 8, !dbg !220
!220 = !DIGlobalVariableExpression(var: !221, expr: !DIExpression())
!221 = distinct !DIGlobalVariable(name: "foobar22", scope: !222, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!222 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !225)
!225 = !{!220}
- at foobar23 = common dso_local global ptr null, align 8, !dbg !230
+ at foobar23 = common dso_local global ptr zeroinitializer, align 8, !dbg !230
!230 = !DIGlobalVariableExpression(var: !231, expr: !DIExpression())
!231 = distinct !DIGlobalVariable(name: "foobar23", scope: !232, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!232 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !235)
!235 = !{!230}
- at foobar24 = common dso_local global ptr null, align 8, !dbg !240
+ at foobar24 = common dso_local global ptr zeroinitializer, align 8, !dbg !240
!240 = !DIGlobalVariableExpression(var: !241, expr: !DIExpression())
!241 = distinct !DIGlobalVariable(name: "foobar24", scope: !242, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!242 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !245)
!245 = !{!240}
- at foobar25 = common dso_local global ptr null, align 8, !dbg !250
+ at foobar25 = common dso_local global ptr zeroinitializer, align 8, !dbg !250
!250 = !DIGlobalVariableExpression(var: !251, expr: !DIExpression())
!251 = distinct !DIGlobalVariable(name: "foobar25", scope: !252, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!252 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !255)
!255 = !{!250}
- at foobar26 = common dso_local global ptr null, align 8, !dbg !260
+ at foobar26 = common dso_local global ptr zeroinitializer, align 8, !dbg !260
!260 = !DIGlobalVariableExpression(var: !261, expr: !DIExpression())
!261 = distinct !DIGlobalVariable(name: "foobar26", scope: !262, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!262 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !265)
!265 = !{!260}
- at foobar27 = common dso_local global ptr null, align 8, !dbg !270
+ at foobar27 = common dso_local global ptr zeroinitializer, align 8, !dbg !270
!270 = !DIGlobalVariableExpression(var: !271, expr: !DIExpression())
!271 = distinct !DIGlobalVariable(name: "foobar27", scope: !272, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!272 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !275)
!275 = !{!270}
- at foobar28 = common dso_local global ptr null, align 8, !dbg !280
+ at foobar28 = common dso_local global ptr zeroinitializer, align 8, !dbg !280
!280 = !DIGlobalVariableExpression(var: !281, expr: !DIExpression())
!281 = distinct !DIGlobalVariable(name: "foobar28", scope: !282, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!282 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !285)
!285 = !{!280}
- at foobar29 = common dso_local global ptr null, align 8, !dbg !290
+ at foobar29 = common dso_local global ptr zeroinitializer, align 8, !dbg !290
!290 = !DIGlobalVariableExpression(var: !291, expr: !DIExpression())
!291 = distinct !DIGlobalVariable(name: "foobar29", scope: !292, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!292 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !295)
!295 = !{!290}
- at foobar30 = common dso_local global ptr null, align 8, !dbg !300
+ at foobar30 = common dso_local global ptr zeroinitializer, align 8, !dbg !300
!300 = !DIGlobalVariableExpression(var: !301, expr: !DIExpression())
!301 = distinct !DIGlobalVariable(name: "foobar30", scope: !302, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!302 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !305)
!305 = !{!300}
- at foobar31 = common dso_local global ptr null, align 8, !dbg !310
+ at foobar31 = common dso_local global ptr zeroinitializer, align 8, !dbg !310
!310 = !DIGlobalVariableExpression(var: !311, expr: !DIExpression())
!311 = distinct !DIGlobalVariable(name: "foobar31", scope: !312, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!312 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !315)
!315 = !{!310}
- at foobar32 = common dso_local global ptr null, align 8, !dbg !320
+ at foobar32 = common dso_local global ptr zeroinitializer, align 8, !dbg !320
!320 = !DIGlobalVariableExpression(var: !321, expr: !DIExpression())
!321 = distinct !DIGlobalVariable(name: "foobar32", scope: !322, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!322 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !325)
!325 = !{!320}
- at foobar33 = common dso_local global ptr null, align 8, !dbg !330
+ at foobar33 = common dso_local global ptr zeroinitializer, align 8, !dbg !330
!330 = !DIGlobalVariableExpression(var: !331, expr: !DIExpression())
!331 = distinct !DIGlobalVariable(name: "foobar33", scope: !332, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!332 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !335)
!335 = !{!330}
- at foobar34 = common dso_local global ptr null, align 8, !dbg !340
+ at foobar34 = common dso_local global ptr zeroinitializer, align 8, !dbg !340
!340 = !DIGlobalVariableExpression(var: !341, expr: !DIExpression())
!341 = distinct !DIGlobalVariable(name: "foobar34", scope: !342, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!342 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !345)
!345 = !{!340}
- at foobar35 = common dso_local global ptr null, align 8, !dbg !350
+ at foobar35 = common dso_local global ptr zeroinitializer, align 8, !dbg !350
!350 = !DIGlobalVariableExpression(var: !351, expr: !DIExpression())
!351 = distinct !DIGlobalVariable(name: "foobar35", scope: !352, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!352 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !355)
!355 = !{!350}
- at foobar36 = common dso_local global ptr null, align 8, !dbg !360
+ at foobar36 = common dso_local global ptr zeroinitializer, align 8, !dbg !360
!360 = !DIGlobalVariableExpression(var: !361, expr: !DIExpression())
!361 = distinct !DIGlobalVariable(name: "foobar36", scope: !362, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!362 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !365)
!365 = !{!360}
- at foobar37 = common dso_local global ptr null, align 8, !dbg !370
+ at foobar37 = common dso_local global ptr zeroinitializer, align 8, !dbg !370
!370 = !DIGlobalVariableExpression(var: !371, expr: !DIExpression())
!371 = distinct !DIGlobalVariable(name: "foobar37", scope: !372, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!372 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !375)
!375 = !{!370}
- at foobar38 = common dso_local global ptr null, align 8, !dbg !380
+ at foobar38 = common dso_local global ptr zeroinitializer, align 8, !dbg !380
!380 = !DIGlobalVariableExpression(var: !381, expr: !DIExpression())
!381 = distinct !DIGlobalVariable(name: "foobar38", scope: !382, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!382 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !385)
!385 = !{!380}
- at foobar39 = common dso_local global ptr null, align 8, !dbg !390
+ at foobar39 = common dso_local global ptr zeroinitializer, align 8, !dbg !390
!390 = !DIGlobalVariableExpression(var: !391, expr: !DIExpression())
!391 = distinct !DIGlobalVariable(name: "foobar39", scope: !392, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!392 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !395)
!395 = !{!390}
- at foobar40 = common dso_local global ptr null, align 8, !dbg !400
+ at foobar40 = common dso_local global ptr zeroinitializer, align 8, !dbg !400
!400 = !DIGlobalVariableExpression(var: !401, expr: !DIExpression())
!401 = distinct !DIGlobalVariable(name: "foobar40", scope: !402, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!402 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !405)
!405 = !{!400}
- at foobar41 = common dso_local global ptr null, align 8, !dbg !410
+ at foobar41 = common dso_local global ptr zeroinitializer, align 8, !dbg !410
!410 = !DIGlobalVariableExpression(var: !411, expr: !DIExpression())
!411 = distinct !DIGlobalVariable(name: "foobar41", scope: !412, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!412 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !415)
!415 = !{!410}
- at foobar42 = common dso_local global ptr null, align 8, !dbg !420
+ at foobar42 = common dso_local global ptr zeroinitializer, align 8, !dbg !420
!420 = !DIGlobalVariableExpression(var: !421, expr: !DIExpression())
!421 = distinct !DIGlobalVariable(name: "foobar42", scope: !422, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!422 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !425)
!425 = !{!420}
- at foobar43 = common dso_local global ptr null, align 8, !dbg !430
+ at foobar43 = common dso_local global ptr zeroinitializer, align 8, !dbg !430
!430 = !DIGlobalVariableExpression(var: !431, expr: !DIExpression())
!431 = distinct !DIGlobalVariable(name: "foobar43", scope: !432, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!432 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !435)
!435 = !{!430}
- at foobar44 = common dso_local global ptr null, align 8, !dbg !440
+ at foobar44 = common dso_local global ptr zeroinitializer, align 8, !dbg !440
!440 = !DIGlobalVariableExpression(var: !441, expr: !DIExpression())
!441 = distinct !DIGlobalVariable(name: "foobar44", scope: !442, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!442 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !445)
!445 = !{!440}
- at foobar45 = common dso_local global ptr null, align 8, !dbg !450
+ at foobar45 = common dso_local global ptr zeroinitializer, align 8, !dbg !450
!450 = !DIGlobalVariableExpression(var: !451, expr: !DIExpression())
!451 = distinct !DIGlobalVariable(name: "foobar45", scope: !452, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!452 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !455)
!455 = !{!450}
- at foobar46 = common dso_local global ptr null, align 8, !dbg !460
+ at foobar46 = common dso_local global ptr zeroinitializer, align 8, !dbg !460
!460 = !DIGlobalVariableExpression(var: !461, expr: !DIExpression())
!461 = distinct !DIGlobalVariable(name: "foobar46", scope: !462, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!462 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !465)
!465 = !{!460}
- at foobar47 = common dso_local global ptr null, align 8, !dbg !470
+ at foobar47 = common dso_local global ptr zeroinitializer, align 8, !dbg !470
!470 = !DIGlobalVariableExpression(var: !471, expr: !DIExpression())
!471 = distinct !DIGlobalVariable(name: "foobar47", scope: !472, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!472 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !475)
!475 = !{!470}
- at foobar48 = common dso_local global ptr null, align 8, !dbg !480
+ at foobar48 = common dso_local global ptr zeroinitializer, align 8, !dbg !480
!480 = !DIGlobalVariableExpression(var: !481, expr: !DIExpression())
!481 = distinct !DIGlobalVariable(name: "foobar48", scope: !482, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!482 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !485)
!485 = !{!480}
- at foobar49 = common dso_local global ptr null, align 8, !dbg !490
+ at foobar49 = common dso_local global ptr zeroinitializer, align 8, !dbg !490
!490 = !DIGlobalVariableExpression(var: !491, expr: !DIExpression())
!491 = distinct !DIGlobalVariable(name: "foobar49", scope: !492, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!492 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !495)
!495 = !{!490}
- at foobar50 = common dso_local global ptr null, align 8, !dbg !500
+ at foobar50 = common dso_local global ptr zeroinitializer, align 8, !dbg !500
!500 = !DIGlobalVariableExpression(var: !501, expr: !DIExpression())
!501 = distinct !DIGlobalVariable(name: "foobar50", scope: !502, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!502 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !505)
!505 = !{!500}
- at foobar51 = common dso_local global ptr null, align 8, !dbg !510
+ at foobar51 = common dso_local global ptr zeroinitializer, align 8, !dbg !510
!510 = !DIGlobalVariableExpression(var: !511, expr: !DIExpression())
!511 = distinct !DIGlobalVariable(name: "foobar51", scope: !512, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!512 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !515)
!515 = !{!510}
- at foobar52 = common dso_local global ptr null, align 8, !dbg !520
+ at foobar52 = common dso_local global ptr zeroinitializer, align 8, !dbg !520
!520 = !DIGlobalVariableExpression(var: !521, expr: !DIExpression())
!521 = distinct !DIGlobalVariable(name: "foobar52", scope: !522, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!522 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !525)
!525 = !{!520}
- at foobar53 = common dso_local global ptr null, align 8, !dbg !530
+ at foobar53 = common dso_local global ptr zeroinitializer, align 8, !dbg !530
!530 = !DIGlobalVariableExpression(var: !531, expr: !DIExpression())
!531 = distinct !DIGlobalVariable(name: "foobar53", scope: !532, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!532 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !535)
!535 = !{!530}
- at foobar54 = common dso_local global ptr null, align 8, !dbg !540
+ at foobar54 = common dso_local global ptr zeroinitializer, align 8, !dbg !540
!540 = !DIGlobalVariableExpression(var: !541, expr: !DIExpression())
!541 = distinct !DIGlobalVariable(name: "foobar54", scope: !542, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!542 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !545)
!545 = !{!540}
- at foobar55 = common dso_local global ptr null, align 8, !dbg !550
+ at foobar55 = common dso_local global ptr zeroinitializer, align 8, !dbg !550
!550 = !DIGlobalVariableExpression(var: !551, expr: !DIExpression())
!551 = distinct !DIGlobalVariable(name: "foobar55", scope: !552, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!552 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !555)
!555 = !{!550}
- at foobar56 = common dso_local global ptr null, align 8, !dbg !560
+ at foobar56 = common dso_local global ptr zeroinitializer, align 8, !dbg !560
!560 = !DIGlobalVariableExpression(var: !561, expr: !DIExpression())
!561 = distinct !DIGlobalVariable(name: "foobar56", scope: !562, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!562 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !565)
!565 = !{!560}
- at foobar57 = common dso_local global ptr null, align 8, !dbg !570
+ at foobar57 = common dso_local global ptr zeroinitializer, align 8, !dbg !570
!570 = !DIGlobalVariableExpression(var: !571, expr: !DIExpression())
!571 = distinct !DIGlobalVariable(name: "foobar57", scope: !572, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!572 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !575)
!575 = !{!570}
- at foobar58 = common dso_local global ptr null, align 8, !dbg !580
+ at foobar58 = common dso_local global ptr zeroinitializer, align 8, !dbg !580
!580 = !DIGlobalVariableExpression(var: !581, expr: !DIExpression())
!581 = distinct !DIGlobalVariable(name: "foobar58", scope: !582, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!582 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !585)
!585 = !{!580}
- at foobar59 = common dso_local global ptr null, align 8, !dbg !590
+ at foobar59 = common dso_local global ptr zeroinitializer, align 8, !dbg !590
!590 = !DIGlobalVariableExpression(var: !591, expr: !DIExpression())
!591 = distinct !DIGlobalVariable(name: "foobar59", scope: !592, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!592 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !595)
!595 = !{!590}
- at foobar60 = common dso_local global ptr null, align 8, !dbg !600
+ at foobar60 = common dso_local global ptr zeroinitializer, align 8, !dbg !600
!600 = !DIGlobalVariableExpression(var: !601, expr: !DIExpression())
!601 = distinct !DIGlobalVariable(name: "foobar60", scope: !602, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!602 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !605)
!605 = !{!600}
- at foobar61 = common dso_local global ptr null, align 8, !dbg !610
+ at foobar61 = common dso_local global ptr zeroinitializer, align 8, !dbg !610
!610 = !DIGlobalVariableExpression(var: !611, expr: !DIExpression())
!611 = distinct !DIGlobalVariable(name: "foobar61", scope: !612, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!612 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !615)
!615 = !{!610}
- at foobar62 = common dso_local global ptr null, align 8, !dbg !620
+ at foobar62 = common dso_local global ptr zeroinitializer, align 8, !dbg !620
!620 = !DIGlobalVariableExpression(var: !621, expr: !DIExpression())
!621 = distinct !DIGlobalVariable(name: "foobar62", scope: !622, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!622 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !625)
!625 = !{!620}
- at foobar63 = common dso_local global ptr null, align 8, !dbg !630
+ at foobar63 = common dso_local global ptr zeroinitializer, align 8, !dbg !630
!630 = !DIGlobalVariableExpression(var: !631, expr: !DIExpression())
!631 = distinct !DIGlobalVariable(name: "foobar63", scope: !632, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!632 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !635)
!635 = !{!630}
- at foobar64 = common dso_local global ptr null, align 8, !dbg !640
+ at foobar64 = common dso_local global ptr zeroinitializer, align 8, !dbg !640
!640 = !DIGlobalVariableExpression(var: !641, expr: !DIExpression())
!641 = distinct !DIGlobalVariable(name: "foobar64", scope: !642, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!642 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !645)
!645 = !{!640}
- at foobar65 = common dso_local global ptr null, align 8, !dbg !650
+ at foobar65 = common dso_local global ptr zeroinitializer, align 8, !dbg !650
!650 = !DIGlobalVariableExpression(var: !651, expr: !DIExpression())
!651 = distinct !DIGlobalVariable(name: "foobar65", scope: !652, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!652 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !655)
!655 = !{!650}
- at foobar66 = common dso_local global ptr null, align 8, !dbg !660
+ at foobar66 = common dso_local global ptr zeroinitializer, align 8, !dbg !660
!660 = !DIGlobalVariableExpression(var: !661, expr: !DIExpression())
!661 = distinct !DIGlobalVariable(name: "foobar66", scope: !662, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!662 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !665)
!665 = !{!660}
- at foobar67 = common dso_local global ptr null, align 8, !dbg !670
+ at foobar67 = common dso_local global ptr zeroinitializer, align 8, !dbg !670
!670 = !DIGlobalVariableExpression(var: !671, expr: !DIExpression())
!671 = distinct !DIGlobalVariable(name: "foobar67", scope: !672, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!672 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !675)
!675 = !{!670}
- at foobar68 = common dso_local global ptr null, align 8, !dbg !680
+ at foobar68 = common dso_local global ptr zeroinitializer, align 8, !dbg !680
!680 = !DIGlobalVariableExpression(var: !681, expr: !DIExpression())
!681 = distinct !DIGlobalVariable(name: "foobar68", scope: !682, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!682 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !685)
!685 = !{!680}
- at foobar69 = common dso_local global ptr null, align 8, !dbg !690
+ at foobar69 = common dso_local global ptr zeroinitializer, align 8, !dbg !690
!690 = !DIGlobalVariableExpression(var: !691, expr: !DIExpression())
!691 = distinct !DIGlobalVariable(name: "foobar69", scope: !692, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!692 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !695)
!695 = !{!690}
- at foobar70 = common dso_local global ptr null, align 8, !dbg !700
+ at foobar70 = common dso_local global ptr zeroinitializer, align 8, !dbg !700
!700 = !DIGlobalVariableExpression(var: !701, expr: !DIExpression())
!701 = distinct !DIGlobalVariable(name: "foobar70", scope: !702, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!702 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !705)
!705 = !{!700}
- at foobar71 = common dso_local global ptr null, align 8, !dbg !710
+ at foobar71 = common dso_local global ptr zeroinitializer, align 8, !dbg !710
!710 = !DIGlobalVariableExpression(var: !711, expr: !DIExpression())
!711 = distinct !DIGlobalVariable(name: "foobar71", scope: !712, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!712 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !715)
!715 = !{!710}
- at foobar72 = common dso_local global ptr null, align 8, !dbg !720
+ at foobar72 = common dso_local global ptr zeroinitializer, align 8, !dbg !720
!720 = !DIGlobalVariableExpression(var: !721, expr: !DIExpression())
!721 = distinct !DIGlobalVariable(name: "foobar72", scope: !722, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!722 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !725)
!725 = !{!720}
- at foobar73 = common dso_local global ptr null, align 8, !dbg !730
+ at foobar73 = common dso_local global ptr zeroinitializer, align 8, !dbg !730
!730 = !DIGlobalVariableExpression(var: !731, expr: !DIExpression())
!731 = distinct !DIGlobalVariable(name: "foobar73", scope: !732, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!732 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !735)
!735 = !{!730}
- at foobar74 = common dso_local global ptr null, align 8, !dbg !740
+ at foobar74 = common dso_local global ptr zeroinitializer, align 8, !dbg !740
!740 = !DIGlobalVariableExpression(var: !741, expr: !DIExpression())
!741 = distinct !DIGlobalVariable(name: "foobar74", scope: !742, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!742 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !745)
!745 = !{!740}
- at foobar75 = common dso_local global ptr null, align 8, !dbg !750
+ at foobar75 = common dso_local global ptr zeroinitializer, align 8, !dbg !750
!750 = !DIGlobalVariableExpression(var: !751, expr: !DIExpression())
!751 = distinct !DIGlobalVariable(name: "foobar75", scope: !752, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!752 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !755)
!755 = !{!750}
- at foobar76 = common dso_local global ptr null, align 8, !dbg !760
+ at foobar76 = common dso_local global ptr zeroinitializer, align 8, !dbg !760
!760 = !DIGlobalVariableExpression(var: !761, expr: !DIExpression())
!761 = distinct !DIGlobalVariable(name: "foobar76", scope: !762, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!762 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !765)
!765 = !{!760}
- at foobar77 = common dso_local global ptr null, align 8, !dbg !770
+ at foobar77 = common dso_local global ptr zeroinitializer, align 8, !dbg !770
!770 = !DIGlobalVariableExpression(var: !771, expr: !DIExpression())
!771 = distinct !DIGlobalVariable(name: "foobar77", scope: !772, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!772 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !775)
!775 = !{!770}
- at foobar78 = common dso_local global ptr null, align 8, !dbg !780
+ at foobar78 = common dso_local global ptr zeroinitializer, align 8, !dbg !780
!780 = !DIGlobalVariableExpression(var: !781, expr: !DIExpression())
!781 = distinct !DIGlobalVariable(name: "foobar78", scope: !782, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!782 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !785)
!785 = !{!780}
- at foobar79 = common dso_local global ptr null, align 8, !dbg !790
+ at foobar79 = common dso_local global ptr zeroinitializer, align 8, !dbg !790
!790 = !DIGlobalVariableExpression(var: !791, expr: !DIExpression())
!791 = distinct !DIGlobalVariable(name: "foobar79", scope: !792, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!792 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !795)
!795 = !{!790}
- at foobar80 = common dso_local global ptr null, align 8, !dbg !800
+ at foobar80 = common dso_local global ptr zeroinitializer, align 8, !dbg !800
!800 = !DIGlobalVariableExpression(var: !801, expr: !DIExpression())
!801 = distinct !DIGlobalVariable(name: "foobar80", scope: !802, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!802 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !805)
!805 = !{!800}
- at foobar81 = common dso_local global ptr null, align 8, !dbg !810
+ at foobar81 = common dso_local global ptr zeroinitializer, align 8, !dbg !810
!810 = !DIGlobalVariableExpression(var: !811, expr: !DIExpression())
!811 = distinct !DIGlobalVariable(name: "foobar81", scope: !812, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!812 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !815)
!815 = !{!810}
- at foobar82 = common dso_local global ptr null, align 8, !dbg !820
+ at foobar82 = common dso_local global ptr zeroinitializer, align 8, !dbg !820
!820 = !DIGlobalVariableExpression(var: !821, expr: !DIExpression())
!821 = distinct !DIGlobalVariable(name: "foobar82", scope: !822, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!822 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !825)
!825 = !{!820}
- at foobar83 = common dso_local global ptr null, align 8, !dbg !830
+ at foobar83 = common dso_local global ptr zeroinitializer, align 8, !dbg !830
!830 = !DIGlobalVariableExpression(var: !831, expr: !DIExpression())
!831 = distinct !DIGlobalVariable(name: "foobar83", scope: !832, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!832 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !835)
!835 = !{!830}
- at foobar84 = common dso_local global ptr null, align 8, !dbg !840
+ at foobar84 = common dso_local global ptr zeroinitializer, align 8, !dbg !840
!840 = !DIGlobalVariableExpression(var: !841, expr: !DIExpression())
!841 = distinct !DIGlobalVariable(name: "foobar84", scope: !842, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!842 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !845)
!845 = !{!840}
- at foobar85 = common dso_local global ptr null, align 8, !dbg !850
+ at foobar85 = common dso_local global ptr zeroinitializer, align 8, !dbg !850
!850 = !DIGlobalVariableExpression(var: !851, expr: !DIExpression())
!851 = distinct !DIGlobalVariable(name: "foobar85", scope: !852, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!852 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !855)
!855 = !{!850}
- at foobar86 = common dso_local global ptr null, align 8, !dbg !860
+ at foobar86 = common dso_local global ptr zeroinitializer, align 8, !dbg !860
!860 = !DIGlobalVariableExpression(var: !861, expr: !DIExpression())
!861 = distinct !DIGlobalVariable(name: "foobar86", scope: !862, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!862 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !865)
!865 = !{!860}
- at foobar87 = common dso_local global ptr null, align 8, !dbg !870
+ at foobar87 = common dso_local global ptr zeroinitializer, align 8, !dbg !870
!870 = !DIGlobalVariableExpression(var: !871, expr: !DIExpression())
!871 = distinct !DIGlobalVariable(name: "foobar87", scope: !872, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!872 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !875)
!875 = !{!870}
- at foobar88 = common dso_local global ptr null, align 8, !dbg !880
+ at foobar88 = common dso_local global ptr zeroinitializer, align 8, !dbg !880
!880 = !DIGlobalVariableExpression(var: !881, expr: !DIExpression())
!881 = distinct !DIGlobalVariable(name: "foobar88", scope: !882, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!882 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !885)
!885 = !{!880}
- at foobar89 = common dso_local global ptr null, align 8, !dbg !890
+ at foobar89 = common dso_local global ptr zeroinitializer, align 8, !dbg !890
!890 = !DIGlobalVariableExpression(var: !891, expr: !DIExpression())
!891 = distinct !DIGlobalVariable(name: "foobar89", scope: !892, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!892 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !895)
!895 = !{!890}
- at foobar90 = common dso_local global ptr null, align 8, !dbg !900
+ at foobar90 = common dso_local global ptr zeroinitializer, align 8, !dbg !900
!900 = !DIGlobalVariableExpression(var: !901, expr: !DIExpression())
!901 = distinct !DIGlobalVariable(name: "foobar90", scope: !902, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!902 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !905)
!905 = !{!900}
- at foobar91 = common dso_local global ptr null, align 8, !dbg !910
+ at foobar91 = common dso_local global ptr zeroinitializer, align 8, !dbg !910
!910 = !DIGlobalVariableExpression(var: !911, expr: !DIExpression())
!911 = distinct !DIGlobalVariable(name: "foobar91", scope: !912, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!912 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !915)
!915 = !{!910}
- at foobar92 = common dso_local global ptr null, align 8, !dbg !920
+ at foobar92 = common dso_local global ptr zeroinitializer, align 8, !dbg !920
!920 = !DIGlobalVariableExpression(var: !921, expr: !DIExpression())
!921 = distinct !DIGlobalVariable(name: "foobar92", scope: !922, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!922 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !925)
!925 = !{!920}
- at foobar93 = common dso_local global ptr null, align 8, !dbg !930
+ at foobar93 = common dso_local global ptr zeroinitializer, align 8, !dbg !930
!930 = !DIGlobalVariableExpression(var: !931, expr: !DIExpression())
!931 = distinct !DIGlobalVariable(name: "foobar93", scope: !932, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!932 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !935)
!935 = !{!930}
- at foobar94 = common dso_local global ptr null, align 8, !dbg !940
+ at foobar94 = common dso_local global ptr zeroinitializer, align 8, !dbg !940
!940 = !DIGlobalVariableExpression(var: !941, expr: !DIExpression())
!941 = distinct !DIGlobalVariable(name: "foobar94", scope: !942, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!942 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !945)
!945 = !{!940}
- at foobar95 = common dso_local global ptr null, align 8, !dbg !950
+ at foobar95 = common dso_local global ptr zeroinitializer, align 8, !dbg !950
!950 = !DIGlobalVariableExpression(var: !951, expr: !DIExpression())
!951 = distinct !DIGlobalVariable(name: "foobar95", scope: !952, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!952 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !955)
!955 = !{!950}
- at foobar96 = common dso_local global ptr null, align 8, !dbg !960
+ at foobar96 = common dso_local global ptr zeroinitializer, align 8, !dbg !960
!960 = !DIGlobalVariableExpression(var: !961, expr: !DIExpression())
!961 = distinct !DIGlobalVariable(name: "foobar96", scope: !962, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!962 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !965)
!965 = !{!960}
- at foobar97 = common dso_local global ptr null, align 8, !dbg !970
+ at foobar97 = common dso_local global ptr zeroinitializer, align 8, !dbg !970
!970 = !DIGlobalVariableExpression(var: !971, expr: !DIExpression())
!971 = distinct !DIGlobalVariable(name: "foobar97", scope: !972, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!972 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !975)
!975 = !{!970}
- at foobar98 = common dso_local global ptr null, align 8, !dbg !980
+ at foobar98 = common dso_local global ptr zeroinitializer, align 8, !dbg !980
!980 = !DIGlobalVariableExpression(var: !981, expr: !DIExpression())
!981 = distinct !DIGlobalVariable(name: "foobar98", scope: !982, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!982 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !985)
!985 = !{!980}
- at foobar99 = common dso_local global ptr null, align 8, !dbg !990
+ at foobar99 = common dso_local global ptr zeroinitializer, align 8, !dbg !990
!990 = !DIGlobalVariableExpression(var: !991, expr: !DIExpression())
!991 = distinct !DIGlobalVariable(name: "foobar99", scope: !992, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!992 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !995)
!995 = !{!990}
- at foobar100 = common dso_local global ptr null, align 8, !dbg !1000
+ at foobar100 = common dso_local global ptr zeroinitializer, align 8, !dbg !1000
!1000 = !DIGlobalVariableExpression(var: !1001, expr: !DIExpression())
!1001 = distinct !DIGlobalVariable(name: "foobar100", scope: !1002, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1002 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1005)
!1005 = !{!1000}
- at foobar101 = common dso_local global ptr null, align 8, !dbg !1010
+ at foobar101 = common dso_local global ptr zeroinitializer, align 8, !dbg !1010
!1010 = !DIGlobalVariableExpression(var: !1011, expr: !DIExpression())
!1011 = distinct !DIGlobalVariable(name: "foobar101", scope: !1012, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1012 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1015)
!1015 = !{!1010}
- at foobar102 = common dso_local global ptr null, align 8, !dbg !1020
+ at foobar102 = common dso_local global ptr zeroinitializer, align 8, !dbg !1020
!1020 = !DIGlobalVariableExpression(var: !1021, expr: !DIExpression())
!1021 = distinct !DIGlobalVariable(name: "foobar102", scope: !1022, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1022 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1025)
!1025 = !{!1020}
- at foobar103 = common dso_local global ptr null, align 8, !dbg !1030
+ at foobar103 = common dso_local global ptr zeroinitializer, align 8, !dbg !1030
!1030 = !DIGlobalVariableExpression(var: !1031, expr: !DIExpression())
!1031 = distinct !DIGlobalVariable(name: "foobar103", scope: !1032, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1032 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1035)
!1035 = !{!1030}
- at foobar104 = common dso_local global ptr null, align 8, !dbg !1040
+ at foobar104 = common dso_local global ptr zeroinitializer, align 8, !dbg !1040
!1040 = !DIGlobalVariableExpression(var: !1041, expr: !DIExpression())
!1041 = distinct !DIGlobalVariable(name: "foobar104", scope: !1042, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1042 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1045)
!1045 = !{!1040}
- at foobar105 = common dso_local global ptr null, align 8, !dbg !1050
+ at foobar105 = common dso_local global ptr zeroinitializer, align 8, !dbg !1050
!1050 = !DIGlobalVariableExpression(var: !1051, expr: !DIExpression())
!1051 = distinct !DIGlobalVariable(name: "foobar105", scope: !1052, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1052 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1055)
!1055 = !{!1050}
- at foobar106 = common dso_local global ptr null, align 8, !dbg !1060
+ at foobar106 = common dso_local global ptr zeroinitializer, align 8, !dbg !1060
!1060 = !DIGlobalVariableExpression(var: !1061, expr: !DIExpression())
!1061 = distinct !DIGlobalVariable(name: "foobar106", scope: !1062, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1062 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1065)
!1065 = !{!1060}
- at foobar107 = common dso_local global ptr null, align 8, !dbg !1070
+ at foobar107 = common dso_local global ptr zeroinitializer, align 8, !dbg !1070
!1070 = !DIGlobalVariableExpression(var: !1071, expr: !DIExpression())
!1071 = distinct !DIGlobalVariable(name: "foobar107", scope: !1072, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1072 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1075)
!1075 = !{!1070}
- at foobar108 = common dso_local global ptr null, align 8, !dbg !1080
+ at foobar108 = common dso_local global ptr zeroinitializer, align 8, !dbg !1080
!1080 = !DIGlobalVariableExpression(var: !1081, expr: !DIExpression())
!1081 = distinct !DIGlobalVariable(name: "foobar108", scope: !1082, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1082 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1085)
!1085 = !{!1080}
- at foobar109 = common dso_local global ptr null, align 8, !dbg !1090
+ at foobar109 = common dso_local global ptr zeroinitializer, align 8, !dbg !1090
!1090 = !DIGlobalVariableExpression(var: !1091, expr: !DIExpression())
!1091 = distinct !DIGlobalVariable(name: "foobar109", scope: !1092, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1092 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1095)
!1095 = !{!1090}
- at foobar110 = common dso_local global ptr null, align 8, !dbg !1100
+ at foobar110 = common dso_local global ptr zeroinitializer, align 8, !dbg !1100
!1100 = !DIGlobalVariableExpression(var: !1101, expr: !DIExpression())
!1101 = distinct !DIGlobalVariable(name: "foobar110", scope: !1102, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1102 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1105)
!1105 = !{!1100}
- at foobar111 = common dso_local global ptr null, align 8, !dbg !1110
+ at foobar111 = common dso_local global ptr zeroinitializer, align 8, !dbg !1110
!1110 = !DIGlobalVariableExpression(var: !1111, expr: !DIExpression())
!1111 = distinct !DIGlobalVariable(name: "foobar111", scope: !1112, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1112 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1115)
!1115 = !{!1110}
- at foobar112 = common dso_local global ptr null, align 8, !dbg !1120
+ at foobar112 = common dso_local global ptr zeroinitializer, align 8, !dbg !1120
!1120 = !DIGlobalVariableExpression(var: !1121, expr: !DIExpression())
!1121 = distinct !DIGlobalVariable(name: "foobar112", scope: !1122, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1122 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1125)
!1125 = !{!1120}
- at foobar113 = common dso_local global ptr null, align 8, !dbg !1130
+ at foobar113 = common dso_local global ptr zeroinitializer, align 8, !dbg !1130
!1130 = !DIGlobalVariableExpression(var: !1131, expr: !DIExpression())
!1131 = distinct !DIGlobalVariable(name: "foobar113", scope: !1132, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1132 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1135)
!1135 = !{!1130}
- at foobar114 = common dso_local global ptr null, align 8, !dbg !1140
+ at foobar114 = common dso_local global ptr zeroinitializer, align 8, !dbg !1140
!1140 = !DIGlobalVariableExpression(var: !1141, expr: !DIExpression())
!1141 = distinct !DIGlobalVariable(name: "foobar114", scope: !1142, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1142 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1145)
!1145 = !{!1140}
- at foobar115 = common dso_local global ptr null, align 8, !dbg !1150
+ at foobar115 = common dso_local global ptr zeroinitializer, align 8, !dbg !1150
!1150 = !DIGlobalVariableExpression(var: !1151, expr: !DIExpression())
!1151 = distinct !DIGlobalVariable(name: "foobar115", scope: !1152, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1152 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1155)
!1155 = !{!1150}
- at foobar116 = common dso_local global ptr null, align 8, !dbg !1160
+ at foobar116 = common dso_local global ptr zeroinitializer, align 8, !dbg !1160
!1160 = !DIGlobalVariableExpression(var: !1161, expr: !DIExpression())
!1161 = distinct !DIGlobalVariable(name: "foobar116", scope: !1162, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1162 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1165)
!1165 = !{!1160}
- at foobar117 = common dso_local global ptr null, align 8, !dbg !1170
+ at foobar117 = common dso_local global ptr zeroinitializer, align 8, !dbg !1170
!1170 = !DIGlobalVariableExpression(var: !1171, expr: !DIExpression())
!1171 = distinct !DIGlobalVariable(name: "foobar117", scope: !1172, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1172 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1175)
!1175 = !{!1170}
- at foobar118 = common dso_local global ptr null, align 8, !dbg !1180
+ at foobar118 = common dso_local global ptr zeroinitializer, align 8, !dbg !1180
!1180 = !DIGlobalVariableExpression(var: !1181, expr: !DIExpression())
!1181 = distinct !DIGlobalVariable(name: "foobar118", scope: !1182, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1182 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1185)
!1185 = !{!1180}
- at foobar119 = common dso_local global ptr null, align 8, !dbg !1190
+ at foobar119 = common dso_local global ptr zeroinitializer, align 8, !dbg !1190
!1190 = !DIGlobalVariableExpression(var: !1191, expr: !DIExpression())
!1191 = distinct !DIGlobalVariable(name: "foobar119", scope: !1192, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1192 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1195)
!1195 = !{!1190}
- at foobar120 = common dso_local global ptr null, align 8, !dbg !1200
+ at foobar120 = common dso_local global ptr zeroinitializer, align 8, !dbg !1200
!1200 = !DIGlobalVariableExpression(var: !1201, expr: !DIExpression())
!1201 = distinct !DIGlobalVariable(name: "foobar120", scope: !1202, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1202 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1205)
!1205 = !{!1200}
- at foobar121 = common dso_local global ptr null, align 8, !dbg !1210
+ at foobar121 = common dso_local global ptr zeroinitializer, align 8, !dbg !1210
!1210 = !DIGlobalVariableExpression(var: !1211, expr: !DIExpression())
!1211 = distinct !DIGlobalVariable(name: "foobar121", scope: !1212, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1212 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1215)
!1215 = !{!1210}
- at foobar122 = common dso_local global ptr null, align 8, !dbg !1220
+ at foobar122 = common dso_local global ptr zeroinitializer, align 8, !dbg !1220
!1220 = !DIGlobalVariableExpression(var: !1221, expr: !DIExpression())
!1221 = distinct !DIGlobalVariable(name: "foobar122", scope: !1222, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1222 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1225)
!1225 = !{!1220}
- at foobar123 = common dso_local global ptr null, align 8, !dbg !1230
+ at foobar123 = common dso_local global ptr zeroinitializer, align 8, !dbg !1230
!1230 = !DIGlobalVariableExpression(var: !1231, expr: !DIExpression())
!1231 = distinct !DIGlobalVariable(name: "foobar123", scope: !1232, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1232 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1235)
!1235 = !{!1230}
- at foobar124 = common dso_local global ptr null, align 8, !dbg !1240
+ at foobar124 = common dso_local global ptr zeroinitializer, align 8, !dbg !1240
!1240 = !DIGlobalVariableExpression(var: !1241, expr: !DIExpression())
!1241 = distinct !DIGlobalVariable(name: "foobar124", scope: !1242, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1242 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1245)
!1245 = !{!1240}
- at foobar125 = common dso_local global ptr null, align 8, !dbg !1250
+ at foobar125 = common dso_local global ptr zeroinitializer, align 8, !dbg !1250
!1250 = !DIGlobalVariableExpression(var: !1251, expr: !DIExpression())
!1251 = distinct !DIGlobalVariable(name: "foobar125", scope: !1252, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1252 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1255)
!1255 = !{!1250}
- at foobar126 = common dso_local global ptr null, align 8, !dbg !1260
+ at foobar126 = common dso_local global ptr zeroinitializer, align 8, !dbg !1260
!1260 = !DIGlobalVariableExpression(var: !1261, expr: !DIExpression())
!1261 = distinct !DIGlobalVariable(name: "foobar126", scope: !1262, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1262 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1265)
!1265 = !{!1260}
- at foobar127 = common dso_local global ptr null, align 8, !dbg !1270
+ at foobar127 = common dso_local global ptr zeroinitializer, align 8, !dbg !1270
!1270 = !DIGlobalVariableExpression(var: !1271, expr: !DIExpression())
!1271 = distinct !DIGlobalVariable(name: "foobar127", scope: !1272, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1272 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1275)
!1275 = !{!1270}
- at foobar128 = common dso_local global ptr null, align 8, !dbg !1280
+ at foobar128 = common dso_local global ptr zeroinitializer, align 8, !dbg !1280
!1280 = !DIGlobalVariableExpression(var: !1281, expr: !DIExpression())
!1281 = distinct !DIGlobalVariable(name: "foobar128", scope: !1282, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1282 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1285)
!1285 = !{!1280}
- at foobar129 = common dso_local global ptr null, align 8, !dbg !1290
+ at foobar129 = common dso_local global ptr zeroinitializer, align 8, !dbg !1290
!1290 = !DIGlobalVariableExpression(var: !1291, expr: !DIExpression())
!1291 = distinct !DIGlobalVariable(name: "foobar129", scope: !1292, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1292 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1295)
!1295 = !{!1290}
- at foobar130 = common dso_local global ptr null, align 8, !dbg !1300
+ at foobar130 = common dso_local global ptr zeroinitializer, align 8, !dbg !1300
!1300 = !DIGlobalVariableExpression(var: !1301, expr: !DIExpression())
!1301 = distinct !DIGlobalVariable(name: "foobar130", scope: !1302, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1302 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1305)
!1305 = !{!1300}
- at foobar131 = common dso_local global ptr null, align 8, !dbg !1310
+ at foobar131 = common dso_local global ptr zeroinitializer, align 8, !dbg !1310
!1310 = !DIGlobalVariableExpression(var: !1311, expr: !DIExpression())
!1311 = distinct !DIGlobalVariable(name: "foobar131", scope: !1312, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1312 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1315)
!1315 = !{!1310}
- at foobar132 = common dso_local global ptr null, align 8, !dbg !1320
+ at foobar132 = common dso_local global ptr zeroinitializer, align 8, !dbg !1320
!1320 = !DIGlobalVariableExpression(var: !1321, expr: !DIExpression())
!1321 = distinct !DIGlobalVariable(name: "foobar132", scope: !1322, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1322 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1325)
!1325 = !{!1320}
- at foobar133 = common dso_local global ptr null, align 8, !dbg !1330
+ at foobar133 = common dso_local global ptr zeroinitializer, align 8, !dbg !1330
!1330 = !DIGlobalVariableExpression(var: !1331, expr: !DIExpression())
!1331 = distinct !DIGlobalVariable(name: "foobar133", scope: !1332, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1332 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1335)
!1335 = !{!1330}
- at foobar134 = common dso_local global ptr null, align 8, !dbg !1340
+ at foobar134 = common dso_local global ptr zeroinitializer, align 8, !dbg !1340
!1340 = !DIGlobalVariableExpression(var: !1341, expr: !DIExpression())
!1341 = distinct !DIGlobalVariable(name: "foobar134", scope: !1342, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1342 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1345)
!1345 = !{!1340}
- at foobar135 = common dso_local global ptr null, align 8, !dbg !1350
+ at foobar135 = common dso_local global ptr zeroinitializer, align 8, !dbg !1350
!1350 = !DIGlobalVariableExpression(var: !1351, expr: !DIExpression())
!1351 = distinct !DIGlobalVariable(name: "foobar135", scope: !1352, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1352 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1355)
!1355 = !{!1350}
- at foobar136 = common dso_local global ptr null, align 8, !dbg !1360
+ at foobar136 = common dso_local global ptr zeroinitializer, align 8, !dbg !1360
!1360 = !DIGlobalVariableExpression(var: !1361, expr: !DIExpression())
!1361 = distinct !DIGlobalVariable(name: "foobar136", scope: !1362, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1362 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1365)
!1365 = !{!1360}
- at foobar137 = common dso_local global ptr null, align 8, !dbg !1370
+ at foobar137 = common dso_local global ptr zeroinitializer, align 8, !dbg !1370
!1370 = !DIGlobalVariableExpression(var: !1371, expr: !DIExpression())
!1371 = distinct !DIGlobalVariable(name: "foobar137", scope: !1372, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1372 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1375)
!1375 = !{!1370}
- at foobar138 = common dso_local global ptr null, align 8, !dbg !1380
+ at foobar138 = common dso_local global ptr zeroinitializer, align 8, !dbg !1380
!1380 = !DIGlobalVariableExpression(var: !1381, expr: !DIExpression())
!1381 = distinct !DIGlobalVariable(name: "foobar138", scope: !1382, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1382 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1385)
!1385 = !{!1380}
- at foobar139 = common dso_local global ptr null, align 8, !dbg !1390
+ at foobar139 = common dso_local global ptr zeroinitializer, align 8, !dbg !1390
!1390 = !DIGlobalVariableExpression(var: !1391, expr: !DIExpression())
!1391 = distinct !DIGlobalVariable(name: "foobar139", scope: !1392, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1392 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1395)
!1395 = !{!1390}
- at foobar140 = common dso_local global ptr null, align 8, !dbg !1400
+ at foobar140 = common dso_local global ptr zeroinitializer, align 8, !dbg !1400
!1400 = !DIGlobalVariableExpression(var: !1401, expr: !DIExpression())
!1401 = distinct !DIGlobalVariable(name: "foobar140", scope: !1402, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1402 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1405)
!1405 = !{!1400}
- at foobar141 = common dso_local global ptr null, align 8, !dbg !1410
+ at foobar141 = common dso_local global ptr zeroinitializer, align 8, !dbg !1410
!1410 = !DIGlobalVariableExpression(var: !1411, expr: !DIExpression())
!1411 = distinct !DIGlobalVariable(name: "foobar141", scope: !1412, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1412 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1415)
!1415 = !{!1410}
- at foobar142 = common dso_local global ptr null, align 8, !dbg !1420
+ at foobar142 = common dso_local global ptr zeroinitializer, align 8, !dbg !1420
!1420 = !DIGlobalVariableExpression(var: !1421, expr: !DIExpression())
!1421 = distinct !DIGlobalVariable(name: "foobar142", scope: !1422, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1422 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1425)
!1425 = !{!1420}
- at foobar143 = common dso_local global ptr null, align 8, !dbg !1430
+ at foobar143 = common dso_local global ptr zeroinitializer, align 8, !dbg !1430
!1430 = !DIGlobalVariableExpression(var: !1431, expr: !DIExpression())
!1431 = distinct !DIGlobalVariable(name: "foobar143", scope: !1432, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1432 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1435)
!1435 = !{!1430}
- at foobar144 = common dso_local global ptr null, align 8, !dbg !1440
+ at foobar144 = common dso_local global ptr zeroinitializer, align 8, !dbg !1440
!1440 = !DIGlobalVariableExpression(var: !1441, expr: !DIExpression())
!1441 = distinct !DIGlobalVariable(name: "foobar144", scope: !1442, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1442 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1445)
!1445 = !{!1440}
- at foobar145 = common dso_local global ptr null, align 8, !dbg !1450
+ at foobar145 = common dso_local global ptr zeroinitializer, align 8, !dbg !1450
!1450 = !DIGlobalVariableExpression(var: !1451, expr: !DIExpression())
!1451 = distinct !DIGlobalVariable(name: "foobar145", scope: !1452, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1452 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1455)
!1455 = !{!1450}
- at foobar146 = common dso_local global ptr null, align 8, !dbg !1460
+ at foobar146 = common dso_local global ptr zeroinitializer, align 8, !dbg !1460
!1460 = !DIGlobalVariableExpression(var: !1461, expr: !DIExpression())
!1461 = distinct !DIGlobalVariable(name: "foobar146", scope: !1462, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1462 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1465)
!1465 = !{!1460}
- at foobar147 = common dso_local global ptr null, align 8, !dbg !1470
+ at foobar147 = common dso_local global ptr zeroinitializer, align 8, !dbg !1470
!1470 = !DIGlobalVariableExpression(var: !1471, expr: !DIExpression())
!1471 = distinct !DIGlobalVariable(name: "foobar147", scope: !1472, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1472 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1475)
!1475 = !{!1470}
- at foobar148 = common dso_local global ptr null, align 8, !dbg !1480
+ at foobar148 = common dso_local global ptr zeroinitializer, align 8, !dbg !1480
!1480 = !DIGlobalVariableExpression(var: !1481, expr: !DIExpression())
!1481 = distinct !DIGlobalVariable(name: "foobar148", scope: !1482, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1482 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1485)
!1485 = !{!1480}
- at foobar149 = common dso_local global ptr null, align 8, !dbg !1490
+ at foobar149 = common dso_local global ptr zeroinitializer, align 8, !dbg !1490
!1490 = !DIGlobalVariableExpression(var: !1491, expr: !DIExpression())
!1491 = distinct !DIGlobalVariable(name: "foobar149", scope: !1492, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1492 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1495)
!1495 = !{!1490}
- at foobar150 = common dso_local global ptr null, align 8, !dbg !1500
+ at foobar150 = common dso_local global ptr zeroinitializer, align 8, !dbg !1500
!1500 = !DIGlobalVariableExpression(var: !1501, expr: !DIExpression())
!1501 = distinct !DIGlobalVariable(name: "foobar150", scope: !1502, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1502 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1505)
!1505 = !{!1500}
- at foobar151 = common dso_local global ptr null, align 8, !dbg !1510
+ at foobar151 = common dso_local global ptr zeroinitializer, align 8, !dbg !1510
!1510 = !DIGlobalVariableExpression(var: !1511, expr: !DIExpression())
!1511 = distinct !DIGlobalVariable(name: "foobar151", scope: !1512, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1512 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1515)
!1515 = !{!1510}
- at foobar152 = common dso_local global ptr null, align 8, !dbg !1520
+ at foobar152 = common dso_local global ptr zeroinitializer, align 8, !dbg !1520
!1520 = !DIGlobalVariableExpression(var: !1521, expr: !DIExpression())
!1521 = distinct !DIGlobalVariable(name: "foobar152", scope: !1522, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1522 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1525)
!1525 = !{!1520}
- at foobar153 = common dso_local global ptr null, align 8, !dbg !1530
+ at foobar153 = common dso_local global ptr zeroinitializer, align 8, !dbg !1530
!1530 = !DIGlobalVariableExpression(var: !1531, expr: !DIExpression())
!1531 = distinct !DIGlobalVariable(name: "foobar153", scope: !1532, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1532 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1535)
!1535 = !{!1530}
- at foobar154 = common dso_local global ptr null, align 8, !dbg !1540
+ at foobar154 = common dso_local global ptr zeroinitializer, align 8, !dbg !1540
!1540 = !DIGlobalVariableExpression(var: !1541, expr: !DIExpression())
!1541 = distinct !DIGlobalVariable(name: "foobar154", scope: !1542, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1542 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1545)
!1545 = !{!1540}
- at foobar155 = common dso_local global ptr null, align 8, !dbg !1550
+ at foobar155 = common dso_local global ptr zeroinitializer, align 8, !dbg !1550
!1550 = !DIGlobalVariableExpression(var: !1551, expr: !DIExpression())
!1551 = distinct !DIGlobalVariable(name: "foobar155", scope: !1552, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1552 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1555)
!1555 = !{!1550}
- at foobar156 = common dso_local global ptr null, align 8, !dbg !1560
+ at foobar156 = common dso_local global ptr zeroinitializer, align 8, !dbg !1560
!1560 = !DIGlobalVariableExpression(var: !1561, expr: !DIExpression())
!1561 = distinct !DIGlobalVariable(name: "foobar156", scope: !1562, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1562 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1565)
!1565 = !{!1560}
- at foobar157 = common dso_local global ptr null, align 8, !dbg !1570
+ at foobar157 = common dso_local global ptr zeroinitializer, align 8, !dbg !1570
!1570 = !DIGlobalVariableExpression(var: !1571, expr: !DIExpression())
!1571 = distinct !DIGlobalVariable(name: "foobar157", scope: !1572, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1572 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1575)
!1575 = !{!1570}
- at foobar158 = common dso_local global ptr null, align 8, !dbg !1580
+ at foobar158 = common dso_local global ptr zeroinitializer, align 8, !dbg !1580
!1580 = !DIGlobalVariableExpression(var: !1581, expr: !DIExpression())
!1581 = distinct !DIGlobalVariable(name: "foobar158", scope: !1582, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1582 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1585)
!1585 = !{!1580}
- at foobar159 = common dso_local global ptr null, align 8, !dbg !1590
+ at foobar159 = common dso_local global ptr zeroinitializer, align 8, !dbg !1590
!1590 = !DIGlobalVariableExpression(var: !1591, expr: !DIExpression())
!1591 = distinct !DIGlobalVariable(name: "foobar159", scope: !1592, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1592 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1595)
!1595 = !{!1590}
- at foobar160 = common dso_local global ptr null, align 8, !dbg !1600
+ at foobar160 = common dso_local global ptr zeroinitializer, align 8, !dbg !1600
!1600 = !DIGlobalVariableExpression(var: !1601, expr: !DIExpression())
!1601 = distinct !DIGlobalVariable(name: "foobar160", scope: !1602, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1602 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1605)
!1605 = !{!1600}
- at foobar161 = common dso_local global ptr null, align 8, !dbg !1610
+ at foobar161 = common dso_local global ptr zeroinitializer, align 8, !dbg !1610
!1610 = !DIGlobalVariableExpression(var: !1611, expr: !DIExpression())
!1611 = distinct !DIGlobalVariable(name: "foobar161", scope: !1612, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1612 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1615)
!1615 = !{!1610}
- at foobar162 = common dso_local global ptr null, align 8, !dbg !1620
+ at foobar162 = common dso_local global ptr zeroinitializer, align 8, !dbg !1620
!1620 = !DIGlobalVariableExpression(var: !1621, expr: !DIExpression())
!1621 = distinct !DIGlobalVariable(name: "foobar162", scope: !1622, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1622 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1625)
!1625 = !{!1620}
- at foobar163 = common dso_local global ptr null, align 8, !dbg !1630
+ at foobar163 = common dso_local global ptr zeroinitializer, align 8, !dbg !1630
!1630 = !DIGlobalVariableExpression(var: !1631, expr: !DIExpression())
!1631 = distinct !DIGlobalVariable(name: "foobar163", scope: !1632, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1632 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1635)
!1635 = !{!1630}
- at foobar164 = common dso_local global ptr null, align 8, !dbg !1640
+ at foobar164 = common dso_local global ptr zeroinitializer, align 8, !dbg !1640
!1640 = !DIGlobalVariableExpression(var: !1641, expr: !DIExpression())
!1641 = distinct !DIGlobalVariable(name: "foobar164", scope: !1642, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1642 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1645)
!1645 = !{!1640}
- at foobar165 = common dso_local global ptr null, align 8, !dbg !1650
+ at foobar165 = common dso_local global ptr zeroinitializer, align 8, !dbg !1650
!1650 = !DIGlobalVariableExpression(var: !1651, expr: !DIExpression())
!1651 = distinct !DIGlobalVariable(name: "foobar165", scope: !1652, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1652 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1655)
!1655 = !{!1650}
- at foobar166 = common dso_local global ptr null, align 8, !dbg !1660
+ at foobar166 = common dso_local global ptr zeroinitializer, align 8, !dbg !1660
!1660 = !DIGlobalVariableExpression(var: !1661, expr: !DIExpression())
!1661 = distinct !DIGlobalVariable(name: "foobar166", scope: !1662, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1662 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1665)
!1665 = !{!1660}
- at foobar167 = common dso_local global ptr null, align 8, !dbg !1670
+ at foobar167 = common dso_local global ptr zeroinitializer, align 8, !dbg !1670
!1670 = !DIGlobalVariableExpression(var: !1671, expr: !DIExpression())
!1671 = distinct !DIGlobalVariable(name: "foobar167", scope: !1672, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1672 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1675)
!1675 = !{!1670}
- at foobar168 = common dso_local global ptr null, align 8, !dbg !1680
+ at foobar168 = common dso_local global ptr zeroinitializer, align 8, !dbg !1680
!1680 = !DIGlobalVariableExpression(var: !1681, expr: !DIExpression())
!1681 = distinct !DIGlobalVariable(name: "foobar168", scope: !1682, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1682 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1685)
!1685 = !{!1680}
- at foobar169 = common dso_local global ptr null, align 8, !dbg !1690
+ at foobar169 = common dso_local global ptr zeroinitializer, align 8, !dbg !1690
!1690 = !DIGlobalVariableExpression(var: !1691, expr: !DIExpression())
!1691 = distinct !DIGlobalVariable(name: "foobar169", scope: !1692, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1692 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1695)
!1695 = !{!1690}
- at foobar170 = common dso_local global ptr null, align 8, !dbg !1700
+ at foobar170 = common dso_local global ptr zeroinitializer, align 8, !dbg !1700
!1700 = !DIGlobalVariableExpression(var: !1701, expr: !DIExpression())
!1701 = distinct !DIGlobalVariable(name: "foobar170", scope: !1702, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1702 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1705)
!1705 = !{!1700}
- at foobar171 = common dso_local global ptr null, align 8, !dbg !1710
+ at foobar171 = common dso_local global ptr zeroinitializer, align 8, !dbg !1710
!1710 = !DIGlobalVariableExpression(var: !1711, expr: !DIExpression())
!1711 = distinct !DIGlobalVariable(name: "foobar171", scope: !1712, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1712 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1715)
!1715 = !{!1710}
- at foobar172 = common dso_local global ptr null, align 8, !dbg !1720
+ at foobar172 = common dso_local global ptr zeroinitializer, align 8, !dbg !1720
!1720 = !DIGlobalVariableExpression(var: !1721, expr: !DIExpression())
!1721 = distinct !DIGlobalVariable(name: "foobar172", scope: !1722, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1722 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1725)
!1725 = !{!1720}
- at foobar173 = common dso_local global ptr null, align 8, !dbg !1730
+ at foobar173 = common dso_local global ptr zeroinitializer, align 8, !dbg !1730
!1730 = !DIGlobalVariableExpression(var: !1731, expr: !DIExpression())
!1731 = distinct !DIGlobalVariable(name: "foobar173", scope: !1732, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1732 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1735)
!1735 = !{!1730}
- at foobar174 = common dso_local global ptr null, align 8, !dbg !1740
+ at foobar174 = common dso_local global ptr zeroinitializer, align 8, !dbg !1740
!1740 = !DIGlobalVariableExpression(var: !1741, expr: !DIExpression())
!1741 = distinct !DIGlobalVariable(name: "foobar174", scope: !1742, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1742 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1745)
!1745 = !{!1740}
- at foobar175 = common dso_local global ptr null, align 8, !dbg !1750
+ at foobar175 = common dso_local global ptr zeroinitializer, align 8, !dbg !1750
!1750 = !DIGlobalVariableExpression(var: !1751, expr: !DIExpression())
!1751 = distinct !DIGlobalVariable(name: "foobar175", scope: !1752, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1752 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1755)
!1755 = !{!1750}
- at foobar176 = common dso_local global ptr null, align 8, !dbg !1760
+ at foobar176 = common dso_local global ptr zeroinitializer, align 8, !dbg !1760
!1760 = !DIGlobalVariableExpression(var: !1761, expr: !DIExpression())
!1761 = distinct !DIGlobalVariable(name: "foobar176", scope: !1762, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1762 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1765)
!1765 = !{!1760}
- at foobar177 = common dso_local global ptr null, align 8, !dbg !1770
+ at foobar177 = common dso_local global ptr zeroinitializer, align 8, !dbg !1770
!1770 = !DIGlobalVariableExpression(var: !1771, expr: !DIExpression())
!1771 = distinct !DIGlobalVariable(name: "foobar177", scope: !1772, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1772 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1775)
!1775 = !{!1770}
- at foobar178 = common dso_local global ptr null, align 8, !dbg !1780
+ at foobar178 = common dso_local global ptr zeroinitializer, align 8, !dbg !1780
!1780 = !DIGlobalVariableExpression(var: !1781, expr: !DIExpression())
!1781 = distinct !DIGlobalVariable(name: "foobar178", scope: !1782, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1782 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1785)
!1785 = !{!1780}
- at foobar179 = common dso_local global ptr null, align 8, !dbg !1790
+ at foobar179 = common dso_local global ptr zeroinitializer, align 8, !dbg !1790
!1790 = !DIGlobalVariableExpression(var: !1791, expr: !DIExpression())
!1791 = distinct !DIGlobalVariable(name: "foobar179", scope: !1792, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1792 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1795)
!1795 = !{!1790}
- at foobar180 = common dso_local global ptr null, align 8, !dbg !1800
+ at foobar180 = common dso_local global ptr zeroinitializer, align 8, !dbg !1800
!1800 = !DIGlobalVariableExpression(var: !1801, expr: !DIExpression())
!1801 = distinct !DIGlobalVariable(name: "foobar180", scope: !1802, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1802 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1805)
!1805 = !{!1800}
- at foobar181 = common dso_local global ptr null, align 8, !dbg !1810
+ at foobar181 = common dso_local global ptr zeroinitializer, align 8, !dbg !1810
!1810 = !DIGlobalVariableExpression(var: !1811, expr: !DIExpression())
!1811 = distinct !DIGlobalVariable(name: "foobar181", scope: !1812, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1812 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1815)
!1815 = !{!1810}
- at foobar182 = common dso_local global ptr null, align 8, !dbg !1820
+ at foobar182 = common dso_local global ptr zeroinitializer, align 8, !dbg !1820
!1820 = !DIGlobalVariableExpression(var: !1821, expr: !DIExpression())
!1821 = distinct !DIGlobalVariable(name: "foobar182", scope: !1822, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1822 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1825)
!1825 = !{!1820}
- at foobar183 = common dso_local global ptr null, align 8, !dbg !1830
+ at foobar183 = common dso_local global ptr zeroinitializer, align 8, !dbg !1830
!1830 = !DIGlobalVariableExpression(var: !1831, expr: !DIExpression())
!1831 = distinct !DIGlobalVariable(name: "foobar183", scope: !1832, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1832 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1835)
!1835 = !{!1830}
- at foobar184 = common dso_local global ptr null, align 8, !dbg !1840
+ at foobar184 = common dso_local global ptr zeroinitializer, align 8, !dbg !1840
!1840 = !DIGlobalVariableExpression(var: !1841, expr: !DIExpression())
!1841 = distinct !DIGlobalVariable(name: "foobar184", scope: !1842, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1842 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1845)
!1845 = !{!1840}
- at foobar185 = common dso_local global ptr null, align 8, !dbg !1850
+ at foobar185 = common dso_local global ptr zeroinitializer, align 8, !dbg !1850
!1850 = !DIGlobalVariableExpression(var: !1851, expr: !DIExpression())
!1851 = distinct !DIGlobalVariable(name: "foobar185", scope: !1852, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1852 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1855)
!1855 = !{!1850}
- at foobar186 = common dso_local global ptr null, align 8, !dbg !1860
+ at foobar186 = common dso_local global ptr zeroinitializer, align 8, !dbg !1860
!1860 = !DIGlobalVariableExpression(var: !1861, expr: !DIExpression())
!1861 = distinct !DIGlobalVariable(name: "foobar186", scope: !1862, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1862 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1865)
!1865 = !{!1860}
- at foobar187 = common dso_local global ptr null, align 8, !dbg !1870
+ at foobar187 = common dso_local global ptr zeroinitializer, align 8, !dbg !1870
!1870 = !DIGlobalVariableExpression(var: !1871, expr: !DIExpression())
!1871 = distinct !DIGlobalVariable(name: "foobar187", scope: !1872, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1872 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1875)
!1875 = !{!1870}
- at foobar188 = common dso_local global ptr null, align 8, !dbg !1880
+ at foobar188 = common dso_local global ptr zeroinitializer, align 8, !dbg !1880
!1880 = !DIGlobalVariableExpression(var: !1881, expr: !DIExpression())
!1881 = distinct !DIGlobalVariable(name: "foobar188", scope: !1882, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1882 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1885)
!1885 = !{!1880}
- at foobar189 = common dso_local global ptr null, align 8, !dbg !1890
+ at foobar189 = common dso_local global ptr zeroinitializer, align 8, !dbg !1890
!1890 = !DIGlobalVariableExpression(var: !1891, expr: !DIExpression())
!1891 = distinct !DIGlobalVariable(name: "foobar189", scope: !1892, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1892 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1895)
!1895 = !{!1890}
- at foobar190 = common dso_local global ptr null, align 8, !dbg !1900
+ at foobar190 = common dso_local global ptr zeroinitializer, align 8, !dbg !1900
!1900 = !DIGlobalVariableExpression(var: !1901, expr: !DIExpression())
!1901 = distinct !DIGlobalVariable(name: "foobar190", scope: !1902, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1902 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1905)
!1905 = !{!1900}
- at foobar191 = common dso_local global ptr null, align 8, !dbg !1910
+ at foobar191 = common dso_local global ptr zeroinitializer, align 8, !dbg !1910
!1910 = !DIGlobalVariableExpression(var: !1911, expr: !DIExpression())
!1911 = distinct !DIGlobalVariable(name: "foobar191", scope: !1912, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1912 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1915)
!1915 = !{!1910}
- at foobar192 = common dso_local global ptr null, align 8, !dbg !1920
+ at foobar192 = common dso_local global ptr zeroinitializer, align 8, !dbg !1920
!1920 = !DIGlobalVariableExpression(var: !1921, expr: !DIExpression())
!1921 = distinct !DIGlobalVariable(name: "foobar192", scope: !1922, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1922 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1925)
!1925 = !{!1920}
- at foobar193 = common dso_local global ptr null, align 8, !dbg !1930
+ at foobar193 = common dso_local global ptr zeroinitializer, align 8, !dbg !1930
!1930 = !DIGlobalVariableExpression(var: !1931, expr: !DIExpression())
!1931 = distinct !DIGlobalVariable(name: "foobar193", scope: !1932, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1932 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1935)
!1935 = !{!1930}
- at foobar194 = common dso_local global ptr null, align 8, !dbg !1940
+ at foobar194 = common dso_local global ptr zeroinitializer, align 8, !dbg !1940
!1940 = !DIGlobalVariableExpression(var: !1941, expr: !DIExpression())
!1941 = distinct !DIGlobalVariable(name: "foobar194", scope: !1942, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1942 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1945)
!1945 = !{!1940}
- at foobar195 = common dso_local global ptr null, align 8, !dbg !1950
+ at foobar195 = common dso_local global ptr zeroinitializer, align 8, !dbg !1950
!1950 = !DIGlobalVariableExpression(var: !1951, expr: !DIExpression())
!1951 = distinct !DIGlobalVariable(name: "foobar195", scope: !1952, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1952 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1955)
!1955 = !{!1950}
- at foobar196 = common dso_local global ptr null, align 8, !dbg !1960
+ at foobar196 = common dso_local global ptr zeroinitializer, align 8, !dbg !1960
!1960 = !DIGlobalVariableExpression(var: !1961, expr: !DIExpression())
!1961 = distinct !DIGlobalVariable(name: "foobar196", scope: !1962, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1962 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1965)
!1965 = !{!1960}
- at foobar197 = common dso_local global ptr null, align 8, !dbg !1970
+ at foobar197 = common dso_local global ptr zeroinitializer, align 8, !dbg !1970
!1970 = !DIGlobalVariableExpression(var: !1971, expr: !DIExpression())
!1971 = distinct !DIGlobalVariable(name: "foobar197", scope: !1972, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1972 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1975)
!1975 = !{!1970}
- at foobar198 = common dso_local global ptr null, align 8, !dbg !1980
+ at foobar198 = common dso_local global ptr zeroinitializer, align 8, !dbg !1980
!1980 = !DIGlobalVariableExpression(var: !1981, expr: !DIExpression())
!1981 = distinct !DIGlobalVariable(name: "foobar198", scope: !1982, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1982 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1985)
!1985 = !{!1980}
- at foobar199 = common dso_local global ptr null, align 8, !dbg !1990
+ at foobar199 = common dso_local global ptr zeroinitializer, align 8, !dbg !1990
!1990 = !DIGlobalVariableExpression(var: !1991, expr: !DIExpression())
!1991 = distinct !DIGlobalVariable(name: "foobar199", scope: !1992, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!1992 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !1995)
!1995 = !{!1990}
- at foobar200 = common dso_local global ptr null, align 8, !dbg !2000
+ at foobar200 = common dso_local global ptr zeroinitializer, align 8, !dbg !2000
!2000 = !DIGlobalVariableExpression(var: !2001, expr: !DIExpression())
!2001 = distinct !DIGlobalVariable(name: "foobar200", scope: !2002, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2002 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2005)
!2005 = !{!2000}
- at foobar201 = common dso_local global ptr null, align 8, !dbg !2010
+ at foobar201 = common dso_local global ptr zeroinitializer, align 8, !dbg !2010
!2010 = !DIGlobalVariableExpression(var: !2011, expr: !DIExpression())
!2011 = distinct !DIGlobalVariable(name: "foobar201", scope: !2012, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2012 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2015)
!2015 = !{!2010}
- at foobar202 = common dso_local global ptr null, align 8, !dbg !2020
+ at foobar202 = common dso_local global ptr zeroinitializer, align 8, !dbg !2020
!2020 = !DIGlobalVariableExpression(var: !2021, expr: !DIExpression())
!2021 = distinct !DIGlobalVariable(name: "foobar202", scope: !2022, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2022 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2025)
!2025 = !{!2020}
- at foobar203 = common dso_local global ptr null, align 8, !dbg !2030
+ at foobar203 = common dso_local global ptr zeroinitializer, align 8, !dbg !2030
!2030 = !DIGlobalVariableExpression(var: !2031, expr: !DIExpression())
!2031 = distinct !DIGlobalVariable(name: "foobar203", scope: !2032, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2032 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2035)
!2035 = !{!2030}
- at foobar204 = common dso_local global ptr null, align 8, !dbg !2040
+ at foobar204 = common dso_local global ptr zeroinitializer, align 8, !dbg !2040
!2040 = !DIGlobalVariableExpression(var: !2041, expr: !DIExpression())
!2041 = distinct !DIGlobalVariable(name: "foobar204", scope: !2042, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2042 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2045)
!2045 = !{!2040}
- at foobar205 = common dso_local global ptr null, align 8, !dbg !2050
+ at foobar205 = common dso_local global ptr zeroinitializer, align 8, !dbg !2050
!2050 = !DIGlobalVariableExpression(var: !2051, expr: !DIExpression())
!2051 = distinct !DIGlobalVariable(name: "foobar205", scope: !2052, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2052 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2055)
!2055 = !{!2050}
- at foobar206 = common dso_local global ptr null, align 8, !dbg !2060
+ at foobar206 = common dso_local global ptr zeroinitializer, align 8, !dbg !2060
!2060 = !DIGlobalVariableExpression(var: !2061, expr: !DIExpression())
!2061 = distinct !DIGlobalVariable(name: "foobar206", scope: !2062, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2062 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2065)
!2065 = !{!2060}
- at foobar207 = common dso_local global ptr null, align 8, !dbg !2070
+ at foobar207 = common dso_local global ptr zeroinitializer, align 8, !dbg !2070
!2070 = !DIGlobalVariableExpression(var: !2071, expr: !DIExpression())
!2071 = distinct !DIGlobalVariable(name: "foobar207", scope: !2072, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2072 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2075)
!2075 = !{!2070}
- at foobar208 = common dso_local global ptr null, align 8, !dbg !2080
+ at foobar208 = common dso_local global ptr zeroinitializer, align 8, !dbg !2080
!2080 = !DIGlobalVariableExpression(var: !2081, expr: !DIExpression())
!2081 = distinct !DIGlobalVariable(name: "foobar208", scope: !2082, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2082 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2085)
!2085 = !{!2080}
- at foobar209 = common dso_local global ptr null, align 8, !dbg !2090
+ at foobar209 = common dso_local global ptr zeroinitializer, align 8, !dbg !2090
!2090 = !DIGlobalVariableExpression(var: !2091, expr: !DIExpression())
!2091 = distinct !DIGlobalVariable(name: "foobar209", scope: !2092, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2092 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2095)
!2095 = !{!2090}
- at foobar210 = common dso_local global ptr null, align 8, !dbg !2100
+ at foobar210 = common dso_local global ptr zeroinitializer, align 8, !dbg !2100
!2100 = !DIGlobalVariableExpression(var: !2101, expr: !DIExpression())
!2101 = distinct !DIGlobalVariable(name: "foobar210", scope: !2102, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2102 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2105)
!2105 = !{!2100}
- at foobar211 = common dso_local global ptr null, align 8, !dbg !2110
+ at foobar211 = common dso_local global ptr zeroinitializer, align 8, !dbg !2110
!2110 = !DIGlobalVariableExpression(var: !2111, expr: !DIExpression())
!2111 = distinct !DIGlobalVariable(name: "foobar211", scope: !2112, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2112 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2115)
!2115 = !{!2110}
- at foobar212 = common dso_local global ptr null, align 8, !dbg !2120
+ at foobar212 = common dso_local global ptr zeroinitializer, align 8, !dbg !2120
!2120 = !DIGlobalVariableExpression(var: !2121, expr: !DIExpression())
!2121 = distinct !DIGlobalVariable(name: "foobar212", scope: !2122, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2122 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2125)
!2125 = !{!2120}
- at foobar213 = common dso_local global ptr null, align 8, !dbg !2130
+ at foobar213 = common dso_local global ptr zeroinitializer, align 8, !dbg !2130
!2130 = !DIGlobalVariableExpression(var: !2131, expr: !DIExpression())
!2131 = distinct !DIGlobalVariable(name: "foobar213", scope: !2132, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2132 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2135)
!2135 = !{!2130}
- at foobar214 = common dso_local global ptr null, align 8, !dbg !2140
+ at foobar214 = common dso_local global ptr zeroinitializer, align 8, !dbg !2140
!2140 = !DIGlobalVariableExpression(var: !2141, expr: !DIExpression())
!2141 = distinct !DIGlobalVariable(name: "foobar214", scope: !2142, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2142 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2145)
!2145 = !{!2140}
- at foobar215 = common dso_local global ptr null, align 8, !dbg !2150
+ at foobar215 = common dso_local global ptr zeroinitializer, align 8, !dbg !2150
!2150 = !DIGlobalVariableExpression(var: !2151, expr: !DIExpression())
!2151 = distinct !DIGlobalVariable(name: "foobar215", scope: !2152, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2152 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2155)
!2155 = !{!2150}
- at foobar216 = common dso_local global ptr null, align 8, !dbg !2160
+ at foobar216 = common dso_local global ptr zeroinitializer, align 8, !dbg !2160
!2160 = !DIGlobalVariableExpression(var: !2161, expr: !DIExpression())
!2161 = distinct !DIGlobalVariable(name: "foobar216", scope: !2162, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2162 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2165)
!2165 = !{!2160}
- at foobar217 = common dso_local global ptr null, align 8, !dbg !2170
+ at foobar217 = common dso_local global ptr zeroinitializer, align 8, !dbg !2170
!2170 = !DIGlobalVariableExpression(var: !2171, expr: !DIExpression())
!2171 = distinct !DIGlobalVariable(name: "foobar217", scope: !2172, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2172 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2175)
!2175 = !{!2170}
- at foobar218 = common dso_local global ptr null, align 8, !dbg !2180
+ at foobar218 = common dso_local global ptr zeroinitializer, align 8, !dbg !2180
!2180 = !DIGlobalVariableExpression(var: !2181, expr: !DIExpression())
!2181 = distinct !DIGlobalVariable(name: "foobar218", scope: !2182, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2182 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2185)
!2185 = !{!2180}
- at foobar219 = common dso_local global ptr null, align 8, !dbg !2190
+ at foobar219 = common dso_local global ptr zeroinitializer, align 8, !dbg !2190
!2190 = !DIGlobalVariableExpression(var: !2191, expr: !DIExpression())
!2191 = distinct !DIGlobalVariable(name: "foobar219", scope: !2192, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2192 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2195)
!2195 = !{!2190}
- at foobar220 = common dso_local global ptr null, align 8, !dbg !2200
+ at foobar220 = common dso_local global ptr zeroinitializer, align 8, !dbg !2200
!2200 = !DIGlobalVariableExpression(var: !2201, expr: !DIExpression())
!2201 = distinct !DIGlobalVariable(name: "foobar220", scope: !2202, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2202 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2205)
!2205 = !{!2200}
- at foobar221 = common dso_local global ptr null, align 8, !dbg !2210
+ at foobar221 = common dso_local global ptr zeroinitializer, align 8, !dbg !2210
!2210 = !DIGlobalVariableExpression(var: !2211, expr: !DIExpression())
!2211 = distinct !DIGlobalVariable(name: "foobar221", scope: !2212, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2212 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2215)
!2215 = !{!2210}
- at foobar222 = common dso_local global ptr null, align 8, !dbg !2220
+ at foobar222 = common dso_local global ptr zeroinitializer, align 8, !dbg !2220
!2220 = !DIGlobalVariableExpression(var: !2221, expr: !DIExpression())
!2221 = distinct !DIGlobalVariable(name: "foobar222", scope: !2222, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2222 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2225)
!2225 = !{!2220}
- at foobar223 = common dso_local global ptr null, align 8, !dbg !2230
+ at foobar223 = common dso_local global ptr zeroinitializer, align 8, !dbg !2230
!2230 = !DIGlobalVariableExpression(var: !2231, expr: !DIExpression())
!2231 = distinct !DIGlobalVariable(name: "foobar223", scope: !2232, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2232 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2235)
!2235 = !{!2230}
- at foobar224 = common dso_local global ptr null, align 8, !dbg !2240
+ at foobar224 = common dso_local global ptr zeroinitializer, align 8, !dbg !2240
!2240 = !DIGlobalVariableExpression(var: !2241, expr: !DIExpression())
!2241 = distinct !DIGlobalVariable(name: "foobar224", scope: !2242, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2242 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2245)
!2245 = !{!2240}
- at foobar225 = common dso_local global ptr null, align 8, !dbg !2250
+ at foobar225 = common dso_local global ptr zeroinitializer, align 8, !dbg !2250
!2250 = !DIGlobalVariableExpression(var: !2251, expr: !DIExpression())
!2251 = distinct !DIGlobalVariable(name: "foobar225", scope: !2252, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2252 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2255)
!2255 = !{!2250}
- at foobar226 = common dso_local global ptr null, align 8, !dbg !2260
+ at foobar226 = common dso_local global ptr zeroinitializer, align 8, !dbg !2260
!2260 = !DIGlobalVariableExpression(var: !2261, expr: !DIExpression())
!2261 = distinct !DIGlobalVariable(name: "foobar226", scope: !2262, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2262 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2265)
!2265 = !{!2260}
- at foobar227 = common dso_local global ptr null, align 8, !dbg !2270
+ at foobar227 = common dso_local global ptr zeroinitializer, align 8, !dbg !2270
!2270 = !DIGlobalVariableExpression(var: !2271, expr: !DIExpression())
!2271 = distinct !DIGlobalVariable(name: "foobar227", scope: !2272, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2272 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2275)
!2275 = !{!2270}
- at foobar228 = common dso_local global ptr null, align 8, !dbg !2280
+ at foobar228 = common dso_local global ptr zeroinitializer, align 8, !dbg !2280
!2280 = !DIGlobalVariableExpression(var: !2281, expr: !DIExpression())
!2281 = distinct !DIGlobalVariable(name: "foobar228", scope: !2282, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2282 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2285)
!2285 = !{!2280}
- at foobar229 = common dso_local global ptr null, align 8, !dbg !2290
+ at foobar229 = common dso_local global ptr zeroinitializer, align 8, !dbg !2290
!2290 = !DIGlobalVariableExpression(var: !2291, expr: !DIExpression())
!2291 = distinct !DIGlobalVariable(name: "foobar229", scope: !2292, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2292 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2295)
!2295 = !{!2290}
- at foobar230 = common dso_local global ptr null, align 8, !dbg !2300
+ at foobar230 = common dso_local global ptr zeroinitializer, align 8, !dbg !2300
!2300 = !DIGlobalVariableExpression(var: !2301, expr: !DIExpression())
!2301 = distinct !DIGlobalVariable(name: "foobar230", scope: !2302, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2302 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2305)
!2305 = !{!2300}
- at foobar231 = common dso_local global ptr null, align 8, !dbg !2310
+ at foobar231 = common dso_local global ptr zeroinitializer, align 8, !dbg !2310
!2310 = !DIGlobalVariableExpression(var: !2311, expr: !DIExpression())
!2311 = distinct !DIGlobalVariable(name: "foobar231", scope: !2312, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2312 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2315)
!2315 = !{!2310}
- at foobar232 = common dso_local global ptr null, align 8, !dbg !2320
+ at foobar232 = common dso_local global ptr zeroinitializer, align 8, !dbg !2320
!2320 = !DIGlobalVariableExpression(var: !2321, expr: !DIExpression())
!2321 = distinct !DIGlobalVariable(name: "foobar232", scope: !2322, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2322 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2325)
!2325 = !{!2320}
- at foobar233 = common dso_local global ptr null, align 8, !dbg !2330
+ at foobar233 = common dso_local global ptr zeroinitializer, align 8, !dbg !2330
!2330 = !DIGlobalVariableExpression(var: !2331, expr: !DIExpression())
!2331 = distinct !DIGlobalVariable(name: "foobar233", scope: !2332, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2332 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2335)
!2335 = !{!2330}
- at foobar234 = common dso_local global ptr null, align 8, !dbg !2340
+ at foobar234 = common dso_local global ptr zeroinitializer, align 8, !dbg !2340
!2340 = !DIGlobalVariableExpression(var: !2341, expr: !DIExpression())
!2341 = distinct !DIGlobalVariable(name: "foobar234", scope: !2342, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2342 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2345)
!2345 = !{!2340}
- at foobar235 = common dso_local global ptr null, align 8, !dbg !2350
+ at foobar235 = common dso_local global ptr zeroinitializer, align 8, !dbg !2350
!2350 = !DIGlobalVariableExpression(var: !2351, expr: !DIExpression())
!2351 = distinct !DIGlobalVariable(name: "foobar235", scope: !2352, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2352 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2355)
!2355 = !{!2350}
- at foobar236 = common dso_local global ptr null, align 8, !dbg !2360
+ at foobar236 = common dso_local global ptr zeroinitializer, align 8, !dbg !2360
!2360 = !DIGlobalVariableExpression(var: !2361, expr: !DIExpression())
!2361 = distinct !DIGlobalVariable(name: "foobar236", scope: !2362, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2362 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2365)
!2365 = !{!2360}
- at foobar237 = common dso_local global ptr null, align 8, !dbg !2370
+ at foobar237 = common dso_local global ptr zeroinitializer, align 8, !dbg !2370
!2370 = !DIGlobalVariableExpression(var: !2371, expr: !DIExpression())
!2371 = distinct !DIGlobalVariable(name: "foobar237", scope: !2372, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2372 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2375)
!2375 = !{!2370}
- at foobar238 = common dso_local global ptr null, align 8, !dbg !2380
+ at foobar238 = common dso_local global ptr zeroinitializer, align 8, !dbg !2380
!2380 = !DIGlobalVariableExpression(var: !2381, expr: !DIExpression())
!2381 = distinct !DIGlobalVariable(name: "foobar238", scope: !2382, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2382 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2385)
!2385 = !{!2380}
- at foobar239 = common dso_local global ptr null, align 8, !dbg !2390
+ at foobar239 = common dso_local global ptr zeroinitializer, align 8, !dbg !2390
!2390 = !DIGlobalVariableExpression(var: !2391, expr: !DIExpression())
!2391 = distinct !DIGlobalVariable(name: "foobar239", scope: !2392, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2392 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2395)
!2395 = !{!2390}
- at foobar240 = common dso_local global ptr null, align 8, !dbg !2400
+ at foobar240 = common dso_local global ptr zeroinitializer, align 8, !dbg !2400
!2400 = !DIGlobalVariableExpression(var: !2401, expr: !DIExpression())
!2401 = distinct !DIGlobalVariable(name: "foobar240", scope: !2402, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2402 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2405)
!2405 = !{!2400}
- at foobar241 = common dso_local global ptr null, align 8, !dbg !2410
+ at foobar241 = common dso_local global ptr zeroinitializer, align 8, !dbg !2410
!2410 = !DIGlobalVariableExpression(var: !2411, expr: !DIExpression())
!2411 = distinct !DIGlobalVariable(name: "foobar241", scope: !2412, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2412 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2415)
!2415 = !{!2410}
- at foobar242 = common dso_local global ptr null, align 8, !dbg !2420
+ at foobar242 = common dso_local global ptr zeroinitializer, align 8, !dbg !2420
!2420 = !DIGlobalVariableExpression(var: !2421, expr: !DIExpression())
!2421 = distinct !DIGlobalVariable(name: "foobar242", scope: !2422, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2422 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2425)
!2425 = !{!2420}
- at foobar243 = common dso_local global ptr null, align 8, !dbg !2430
+ at foobar243 = common dso_local global ptr zeroinitializer, align 8, !dbg !2430
!2430 = !DIGlobalVariableExpression(var: !2431, expr: !DIExpression())
!2431 = distinct !DIGlobalVariable(name: "foobar243", scope: !2432, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2432 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2435)
!2435 = !{!2430}
- at foobar244 = common dso_local global ptr null, align 8, !dbg !2440
+ at foobar244 = common dso_local global ptr zeroinitializer, align 8, !dbg !2440
!2440 = !DIGlobalVariableExpression(var: !2441, expr: !DIExpression())
!2441 = distinct !DIGlobalVariable(name: "foobar244", scope: !2442, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2442 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2445)
!2445 = !{!2440}
- at foobar245 = common dso_local global ptr null, align 8, !dbg !2450
+ at foobar245 = common dso_local global ptr zeroinitializer, align 8, !dbg !2450
!2450 = !DIGlobalVariableExpression(var: !2451, expr: !DIExpression())
!2451 = distinct !DIGlobalVariable(name: "foobar245", scope: !2452, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2452 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2455)
!2455 = !{!2450}
- at foobar246 = common dso_local global ptr null, align 8, !dbg !2460
+ at foobar246 = common dso_local global ptr zeroinitializer, align 8, !dbg !2460
!2460 = !DIGlobalVariableExpression(var: !2461, expr: !DIExpression())
!2461 = distinct !DIGlobalVariable(name: "foobar246", scope: !2462, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2462 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2465)
!2465 = !{!2460}
- at foobar247 = common dso_local global ptr null, align 8, !dbg !2470
+ at foobar247 = common dso_local global ptr zeroinitializer, align 8, !dbg !2470
!2470 = !DIGlobalVariableExpression(var: !2471, expr: !DIExpression())
!2471 = distinct !DIGlobalVariable(name: "foobar247", scope: !2472, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2472 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2475)
!2475 = !{!2470}
- at foobar248 = common dso_local global ptr null, align 8, !dbg !2480
+ at foobar248 = common dso_local global ptr zeroinitializer, align 8, !dbg !2480
!2480 = !DIGlobalVariableExpression(var: !2481, expr: !DIExpression())
!2481 = distinct !DIGlobalVariable(name: "foobar248", scope: !2482, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2482 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2485)
!2485 = !{!2480}
- at foobar249 = common dso_local global ptr null, align 8, !dbg !2490
+ at foobar249 = common dso_local global ptr zeroinitializer, align 8, !dbg !2490
!2490 = !DIGlobalVariableExpression(var: !2491, expr: !DIExpression())
!2491 = distinct !DIGlobalVariable(name: "foobar249", scope: !2492, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2492 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2495)
!2495 = !{!2490}
- at foobar250 = common dso_local global ptr null, align 8, !dbg !2500
+ at foobar250 = common dso_local global ptr zeroinitializer, align 8, !dbg !2500
!2500 = !DIGlobalVariableExpression(var: !2501, expr: !DIExpression())
!2501 = distinct !DIGlobalVariable(name: "foobar250", scope: !2502, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2502 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2505)
!2505 = !{!2500}
- at foobar251 = common dso_local global ptr null, align 8, !dbg !2510
+ at foobar251 = common dso_local global ptr zeroinitializer, align 8, !dbg !2510
!2510 = !DIGlobalVariableExpression(var: !2511, expr: !DIExpression())
!2511 = distinct !DIGlobalVariable(name: "foobar251", scope: !2512, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2512 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2515)
!2515 = !{!2510}
- at foobar252 = common dso_local global ptr null, align 8, !dbg !2520
+ at foobar252 = common dso_local global ptr zeroinitializer, align 8, !dbg !2520
!2520 = !DIGlobalVariableExpression(var: !2521, expr: !DIExpression())
!2521 = distinct !DIGlobalVariable(name: "foobar252", scope: !2522, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2522 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2525)
!2525 = !{!2520}
- at foobar253 = common dso_local global ptr null, align 8, !dbg !2530
+ at foobar253 = common dso_local global ptr zeroinitializer, align 8, !dbg !2530
!2530 = !DIGlobalVariableExpression(var: !2531, expr: !DIExpression())
!2531 = distinct !DIGlobalVariable(name: "foobar253", scope: !2532, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2532 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2535)
!2535 = !{!2530}
- at foobar254 = common dso_local global ptr null, align 8, !dbg !2540
+ at foobar254 = common dso_local global ptr zeroinitializer, align 8, !dbg !2540
!2540 = !DIGlobalVariableExpression(var: !2541, expr: !DIExpression())
!2541 = distinct !DIGlobalVariable(name: "foobar254", scope: !2542, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2542 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2545)
!2545 = !{!2540}
- at foobar255 = common dso_local global ptr null, align 8, !dbg !2550
+ at foobar255 = common dso_local global ptr zeroinitializer, align 8, !dbg !2550
!2550 = !DIGlobalVariableExpression(var: !2551, expr: !DIExpression())
!2551 = distinct !DIGlobalVariable(name: "foobar255", scope: !2552, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2552 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2555)
!2555 = !{!2550}
- at foobar256 = common dso_local global ptr null, align 8, !dbg !2560
+ at foobar256 = common dso_local global ptr zeroinitializer, align 8, !dbg !2560
!2560 = !DIGlobalVariableExpression(var: !2561, expr: !DIExpression())
!2561 = distinct !DIGlobalVariable(name: "foobar256", scope: !2562, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2562 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2565)
!2565 = !{!2560}
- at foobar257 = common dso_local global ptr null, align 8, !dbg !2570
+ at foobar257 = common dso_local global ptr zeroinitializer, align 8, !dbg !2570
!2570 = !DIGlobalVariableExpression(var: !2571, expr: !DIExpression())
!2571 = distinct !DIGlobalVariable(name: "foobar257", scope: !2572, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!2572 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !2575)
diff --git a/llvm/test/DebugInfo/Generic/debug-names-one-cu.ll b/llvm/test/DebugInfo/Generic/debug-names-one-cu.ll
index 46b753e9e2def..a58711a99ca85 100644
--- a/llvm/test/DebugInfo/Generic/debug-names-one-cu.ll
+++ b/llvm/test/DebugInfo/Generic/debug-names-one-cu.ll
@@ -48,8 +48,8 @@
; VERIFY: No errors.
- at foobar = common dso_local global ptr null, align 8, !dbg !0
- at someA_B = common dso_local global ptr null, align 8, !dbg !18
+ at foobar = common dso_local global ptr zeroinitializer, align 8, !dbg !0
+ at someA_B = common dso_local global ptr zeroinitializer, align 8, !dbg !18
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!7, !8, !9}
diff --git a/llvm/test/DebugInfo/Generic/debug-names-two-cu.ll b/llvm/test/DebugInfo/Generic/debug-names-two-cu.ll
index 33b62345a707c..47d651747b9df 100644
--- a/llvm/test/DebugInfo/Generic/debug-names-two-cu.ll
+++ b/llvm/test/DebugInfo/Generic/debug-names-two-cu.ll
@@ -43,13 +43,13 @@
!6 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
!3 = !DIFile(filename: "/tmp/cu2.c", directory: "/tmp")
- at foobar1 = common dso_local global ptr null, align 8, !dbg !10
+ at foobar1 = common dso_local global ptr zeroinitializer, align 8, !dbg !10
!10 = !DIGlobalVariableExpression(var: !11, expr: !DIExpression())
!11 = distinct !DIGlobalVariable(name: "foobar1", scope: !12, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!12 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !15)
!15 = !{!10}
- at foobar2 = common dso_local global ptr null, align 8, !dbg !20
+ at foobar2 = common dso_local global ptr zeroinitializer, align 8, !dbg !20
!20 = !DIGlobalVariableExpression(var: !21, expr: !DIExpression())
!21 = distinct !DIGlobalVariable(name: "foobar2", scope: !22, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
!22 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 7.0.0 (trunk 325496) (llvm/trunk 325732)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !25)
diff --git a/llvm/test/DebugInfo/Generic/recursive_inlining.ll b/llvm/test/DebugInfo/Generic/recursive_inlining.ll
index 3174fc38b424c..3172c06e918a4 100644
--- a/llvm/test/DebugInfo/Generic/recursive_inlining.ll
+++ b/llvm/test/DebugInfo/Generic/recursive_inlining.ll
@@ -86,7 +86,7 @@ source_filename = "test/DebugInfo/Generic/recursive_inlining.ll"
%struct.C = type { i32 }
- at x = global ptr null, align 8, !dbg !0
+ at x = global ptr zeroinitializer, align 8, !dbg !0
; Function Attrs: nounwind
define void @_Z3fn6v() #0 !dbg !20 {
diff --git a/llvm/test/DebugInfo/Generic/typedef.ll b/llvm/test/DebugInfo/Generic/typedef.ll
index 486450f2851ba..802119ac2914a 100644
--- a/llvm/test/DebugInfo/Generic/typedef.ll
+++ b/llvm/test/DebugInfo/Generic/typedef.ll
@@ -12,7 +12,7 @@
source_filename = "test/DebugInfo/Generic/typedef.ll"
- at y = global ptr null, align 8, !dbg !0
+ at y = global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!5}
!llvm.module.flags = !{!8, !9}
diff --git a/llvm/test/DebugInfo/MIR/InstrRef/win32-chkctk-modifies-esp.mir b/llvm/test/DebugInfo/MIR/InstrRef/win32-chkctk-modifies-esp.mir
index 5fc9b98077428..164dd1fea892e 100644
--- a/llvm/test/DebugInfo/MIR/InstrRef/win32-chkctk-modifies-esp.mir
+++ b/llvm/test/DebugInfo/MIR/InstrRef/win32-chkctk-modifies-esp.mir
@@ -18,7 +18,7 @@
%struct.incomplete_struct = type { i32 }
@"\01?multi_dim_arr@@3PAY146DA" = global [2 x [5 x [7 x i8]]] zeroinitializer, align 1, !dbg !0
- @"\01?p_incomplete_struct_arr@@3PAY02Uincomplete_struct@@A" = global ptr null, align 4, !dbg !6
+ @"\01?p_incomplete_struct_arr@@3PAY02Uincomplete_struct@@A" = global ptr zeroinitializer, align 4, !dbg !6
@"\01?incomplete_struct_arr@@3PAUincomplete_struct@@A" = global [3 x %struct.incomplete_struct] zeroinitializer, align 4, !dbg !16
@"\01?typedef_arr@@3SDHD" = constant [4 x i32] zeroinitializer, align 4, !dbg !18
diff --git a/llvm/test/DebugInfo/MIR/X86/empty-inline.mir b/llvm/test/DebugInfo/MIR/X86/empty-inline.mir
index 9a4a5a3c5cb74..dfc7fe80c2e3f 100644
--- a/llvm/test/DebugInfo/MIR/X86/empty-inline.mir
+++ b/llvm/test/DebugInfo/MIR/X86/empty-inline.mir
@@ -28,7 +28,7 @@
%class.A = type { i8 }
%class.C = type <{ ptr, %class.B, [2 x i8] }>
- @a = local_unnamed_addr global ptr null, align 4
+ @a = local_unnamed_addr global ptr zeroinitializer, align 4
define i32 @_ZN1C5m_fn3Ev(ptr nocapture) local_unnamed_addr align 2 !dbg !6 {
%2 = alloca %class.B, align 1
diff --git a/llvm/test/DebugInfo/MIR/X86/prolog-epilog-indirection.mir b/llvm/test/DebugInfo/MIR/X86/prolog-epilog-indirection.mir
index 4df967ce03493..63ee35945fb22 100644
--- a/llvm/test/DebugInfo/MIR/X86/prolog-epilog-indirection.mir
+++ b/llvm/test/DebugInfo/MIR/X86/prolog-epilog-indirection.mir
@@ -26,10 +26,10 @@
source_filename = "abc.c"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
-
- @b = common dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+
+ @b = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
@a = common dso_local local_unnamed_addr global i32 0, align 4, !dbg !6
-
+
; Function Attrs: nounwind uwtable
define dso_local i32 @main() local_unnamed_addr !dbg !14 {
entry:
@@ -45,22 +45,22 @@
call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %0), !dbg !32
ret i32 0, !dbg !32
}
-
+
; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
-
+
declare dso_local i32 @optimize_me_not(...) local_unnamed_addr
-
+
; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
-
+
; Function Attrs: nounwind readnone speculatable
declare void @llvm.dbg.value(metadata, metadata, metadata)
-
+
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!10, !11, !12}
!llvm.ident = !{!13}
-
+
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "b", scope: !2, file: !3, line: 2, type: !9, isLocal: false, isDefinition: true)
!2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !5, nameTableKind: None)
@@ -102,13 +102,13 @@
name: main
alignment: 16
tracksRegLiveness: true
-frameInfo:
+frameInfo:
maxAlignment: 4
adjustsStack: true
hasCalls: true
-stack:
- - { id: 0, name: l_1081, type: default, offset: 0, size: 4, alignment: 4,
- callee-saved-register: '', callee-saved-restored: true,
+stack:
+ - { id: 0, name: l_1081, type: default, offset: 0, size: 4, alignment: 4,
+ callee-saved-register: '', callee-saved-restored: true,
debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
body: |
bb.0.entry:
diff --git a/llvm/test/DebugInfo/WebAssembly/debugtest-opt.ll b/llvm/test/DebugInfo/WebAssembly/debugtest-opt.ll
index 603f28a942240..c7395c0cd0cfd 100644
--- a/llvm/test/DebugInfo/WebAssembly/debugtest-opt.ll
+++ b/llvm/test/DebugInfo/WebAssembly/debugtest-opt.ll
@@ -19,7 +19,7 @@
source_filename = "debugtest-opt.c"
target triple = "wasm32"
- at globl = hidden local_unnamed_addr global ptr null, align 4, !dbg !0
+ at globl = hidden local_unnamed_addr global ptr zeroinitializer, align 4, !dbg !0
; Function Attrs: nounwind writeonly
define hidden void @baz(i32 %arg) local_unnamed_addr #0 !dbg !12 {
diff --git a/llvm/test/DebugInfo/X86/DIModuleContext.ll b/llvm/test/DebugInfo/X86/DIModuleContext.ll
index 195114a09e036..b5487c312d6ef 100644
--- a/llvm/test/DebugInfo/X86/DIModuleContext.ll
+++ b/llvm/test/DebugInfo/X86/DIModuleContext.ll
@@ -12,7 +12,7 @@ target triple = "x86_64-apple-macosx"
%struct.s = type opaque
- at i = common global ptr null, align 8, !dbg !0
+ at i = common global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!11, !12}
diff --git a/llvm/test/DebugInfo/X86/attr-btf_tag-typedef.ll b/llvm/test/DebugInfo/X86/attr-btf_tag-typedef.ll
index 0c0a055cd8553..9140a587dfa7f 100644
--- a/llvm/test/DebugInfo/X86/attr-btf_tag-typedef.ll
+++ b/llvm/test/DebugInfo/X86/attr-btf_tag-typedef.ll
@@ -13,7 +13,7 @@
%struct.__s = type { i32 }
@a = dso_local global %struct.__s zeroinitializer, align 4, !dbg !0
- at u = dso_local global ptr null, align 8, !dbg !5
+ at u = dso_local global ptr zeroinitializer, align 8, !dbg !5
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!17, !18, !19, !20, !21}
diff --git a/llvm/test/DebugInfo/X86/dbg-value-list-selectiondag-salvage.ll b/llvm/test/DebugInfo/X86/dbg-value-list-selectiondag-salvage.ll
index 27462313735b1..d640594a3f2c0 100644
--- a/llvm/test/DebugInfo/X86/dbg-value-list-selectiondag-salvage.ll
+++ b/llvm/test/DebugInfo/X86/dbg-value-list-selectiondag-salvage.ll
@@ -22,7 +22,7 @@ target triple = "x86_64-unknown-linux-gnu"
%struct.anon = type { i32 }
- at b = dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+ at b = dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
@c = dso_local local_unnamed_addr global i32 0, align 4, !dbg !6
define dso_local void @d() local_unnamed_addr !dbg !17 {
diff --git a/llvm/test/DebugInfo/X86/debug-loc-frame.ll b/llvm/test/DebugInfo/X86/debug-loc-frame.ll
index ff9c4154b90b9..7bde9f931e08e 100644
--- a/llvm/test/DebugInfo/X86/debug-loc-frame.ll
+++ b/llvm/test/DebugInfo/X86/debug-loc-frame.ll
@@ -43,7 +43,7 @@ source_filename = "frame.c"
@data = dso_local global i32 17, align 4, !dbg !0
@sum = dso_local local_unnamed_addr global i32 0, align 4, !dbg !6
@zero = dso_local local_unnamed_addr global i32 0, align 4, !dbg !9
- at ptr = common dso_local local_unnamed_addr global ptr null, align 8, !dbg !11
+ at ptr = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !11
define dso_local i32 @main() local_unnamed_addr !dbg !17 {
entry:
diff --git a/llvm/test/DebugInfo/X86/debug-names-split-dwarf.ll b/llvm/test/DebugInfo/X86/debug-names-split-dwarf.ll
index b033daf2e9195..d5d0e97150ca7 100644
--- a/llvm/test/DebugInfo/X86/debug-names-split-dwarf.ll
+++ b/llvm/test/DebugInfo/X86/debug-names-split-dwarf.ll
@@ -21,7 +21,7 @@
; CHECK-NEXT: Tag: DW_TAG_variable
; CHECK-NEXT: DW_IDX_die_offset: 0x{{[0-9a-f]*}}
- at foobar = common dso_local global ptr null, align 8, !dbg !0
+ at foobar = common dso_local global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!7, !8, !9}
diff --git a/llvm/test/DebugInfo/X86/fragment-offset-order.ll b/llvm/test/DebugInfo/X86/fragment-offset-order.ll
index d86debf6a3339..17e3610f715b2 100644
--- a/llvm/test/DebugInfo/X86/fragment-offset-order.ll
+++ b/llvm/test/DebugInfo/X86/fragment-offset-order.ll
@@ -14,9 +14,9 @@
; long baz;
; void *qux;
; } static var;
-;
+;
; void *ptr;
-;
+;
; int main() {
; if (var.foo == 0)
; var.bar = var.qux = ptr;
@@ -34,8 +34,8 @@
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at var.1 = internal unnamed_addr global ptr null, align 8, !dbg !0
- at var.3 = internal unnamed_addr global ptr null, align 8, !dbg !15
+ at var.1 = internal unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
+ at var.3 = internal unnamed_addr global ptr zeroinitializer, align 8, !dbg !15
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!16, !17}
diff --git a/llvm/test/DebugInfo/X86/instr-ref-dbg-declare.ll b/llvm/test/DebugInfo/X86/instr-ref-dbg-declare.ll
index 5e900ac4db07b..247437e47ade6 100644
--- a/llvm/test/DebugInfo/X86/instr-ref-dbg-declare.ll
+++ b/llvm/test/DebugInfo/X86/instr-ref-dbg-declare.ll
@@ -20,7 +20,7 @@ target triple = "i686-pc-windows-msvc18.0.31101"
%struct.incomplete_struct = type { i32 }
@"\01?multi_dim_arr@@3PAY146DA" = global [2 x [5 x [7 x i8]]] zeroinitializer, align 1, !dbg !0
-@"\01?p_incomplete_struct_arr@@3PAY02Uincomplete_struct@@A" = global ptr null, align 4, !dbg !6
+@"\01?p_incomplete_struct_arr@@3PAY02Uincomplete_struct@@A" = global ptr zeroinitializer, align 4, !dbg !6
@"\01?incomplete_struct_arr@@3PAUincomplete_struct@@A" = global [3 x %struct.incomplete_struct] zeroinitializer, align 4, !dbg !16
@"\01?typedef_arr@@3SDHD" = constant [4 x i32] zeroinitializer, align 4, !dbg !18
diff --git a/llvm/test/DebugInfo/X86/instr-ref-dyn-alloca-win32.ll b/llvm/test/DebugInfo/X86/instr-ref-dyn-alloca-win32.ll
index d88bf365e2757..592a29d93ed73 100644
--- a/llvm/test/DebugInfo/X86/instr-ref-dyn-alloca-win32.ll
+++ b/llvm/test/DebugInfo/X86/instr-ref-dyn-alloca-win32.ll
@@ -32,7 +32,7 @@ target triple = "i686-pc-windows-msvc18.0.31101"
%struct.incomplete_struct = type { i32 }
@"\01?multi_dim_arr@@3PAY146DA" = global [2 x [5 x [7 x i8]]] zeroinitializer, align 1, !dbg !0
-@"\01?p_incomplete_struct_arr@@3PAY02Uincomplete_struct@@A" = global ptr null, align 4, !dbg !6
+@"\01?p_incomplete_struct_arr@@3PAY02Uincomplete_struct@@A" = global ptr zeroinitializer, align 4, !dbg !6
@"\01?incomplete_struct_arr@@3PAUincomplete_struct@@A" = global [3 x %struct.incomplete_struct] zeroinitializer, align 4, !dbg !16
@"\01?typedef_arr@@3SDHD" = constant [4 x i32] zeroinitializer, align 4, !dbg !18
diff --git a/llvm/test/DebugInfo/X86/instr-ref-dyn-alloca.ll b/llvm/test/DebugInfo/X86/instr-ref-dyn-alloca.ll
index 5af743caee433..71873f216c6f4 100644
--- a/llvm/test/DebugInfo/X86/instr-ref-dyn-alloca.ll
+++ b/llvm/test/DebugInfo/X86/instr-ref-dyn-alloca.ll
@@ -19,7 +19,7 @@ target triple = "x86_64-pc-windows-msvc19.0.24210"
%struct.incomplete_struct = type { i32 }
@"\01?multi_dim_arr@@3PAY146DA" = global [2 x [5 x [7 x i8]]] zeroinitializer, align 1, !dbg !0
-@"\01?p_incomplete_struct_arr@@3PAY02Uincomplete_struct@@A" = global ptr null, align 4, !dbg !6
+@"\01?p_incomplete_struct_arr@@3PAY02Uincomplete_struct@@A" = global ptr zeroinitializer, align 4, !dbg !6
@"\01?incomplete_struct_arr@@3PAUincomplete_struct@@A" = global [3 x %struct.incomplete_struct] zeroinitializer, align 4, !dbg !16
@"\01?typedef_arr@@3SDHD" = constant [4 x i32] zeroinitializer, align 4, !dbg !18
diff --git a/llvm/test/DebugInfo/X86/misched-dbg-value.ll b/llvm/test/DebugInfo/X86/misched-dbg-value.ll
index f7c247472a52f..219f270d9d1a5 100644
--- a/llvm/test/DebugInfo/X86/misched-dbg-value.ll
+++ b/llvm/test/DebugInfo/X86/misched-dbg-value.ll
@@ -45,8 +45,8 @@ source_filename = "test/DebugInfo/X86/misched-dbg-value.ll"
@Char2Glob = common global i8 0, align 1, !dbg !15
@Array1Glob = common global [51 x i32] zeroinitializer, align 16, !dbg !17
@Array2Glob = common global [51 x [51 x i32]] zeroinitializer, align 16, !dbg !23
- at PtrGlb = common global ptr null, align 8, !dbg !28
- at PtrGlbNext = common global ptr null, align 8, !dbg !54
+ at PtrGlb = common global ptr zeroinitializer, align 8, !dbg !28
+ at PtrGlbNext = common global ptr zeroinitializer, align 8, !dbg !54
; Function Attrs: nounwind optsize
define void @Proc8(ptr nocapture %Array1Par, ptr nocapture %Array2Par, i32 %IntParI1, i32 %IntParI2) #0 !dbg !61 {
diff --git a/llvm/test/DebugInfo/X86/objc-fwd-decl.ll b/llvm/test/DebugInfo/X86/objc-fwd-decl.ll
index 2b69528d692e6..ea060945e9b9c 100644
--- a/llvm/test/DebugInfo/X86/objc-fwd-decl.ll
+++ b/llvm/test/DebugInfo/X86/objc-fwd-decl.ll
@@ -9,7 +9,7 @@ source_filename = "test/DebugInfo/X86/objc-fwd-decl.ll"
%0 = type opaque
- at a = common global ptr null, align 8, !dbg !0
+ at a = common global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!5}
!llvm.module.flags = !{!8, !9, !10, !11, !12, !13}
diff --git a/llvm/test/DebugInfo/X86/pr45181.ll b/llvm/test/DebugInfo/X86/pr45181.ll
index b973f7d368ca4..d793539e989d5 100644
--- a/llvm/test/DebugInfo/X86/pr45181.ll
+++ b/llvm/test/DebugInfo/X86/pr45181.ll
@@ -17,7 +17,7 @@ target triple = "x86_64-apple-macosx10.14.0"
%struct.r = type opaque
@o = local_unnamed_addr global i32 0, align 4, !dbg !0
- at p = local_unnamed_addr global ptr null, align 8, !dbg !42
+ at p = local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !42
; Function Attrs: optsize ssp uwtable
define void @_ZN2aa2aq2arEv(ptr %this) local_unnamed_addr #0 align 2 !dbg !50 {
diff --git a/llvm/test/DebugInfo/X86/prototyped.ll b/llvm/test/DebugInfo/X86/prototyped.ll
index 532f5d3c8ec16..bdf6a5f3bd24b 100644
--- a/llvm/test/DebugInfo/X86/prototyped.ll
+++ b/llvm/test/DebugInfo/X86/prototyped.ll
@@ -32,7 +32,7 @@
; CHECK-NOT: {{DW_TAG|NULL}}
; CHECK: DW_AT_prototyped (true)
- at x = dso_local global ptr null, align 8, !dbg !0
+ at x = dso_local global ptr zeroinitializer, align 8, !dbg !0
; Function Attrs: noinline nounwind optnone uwtable
define dso_local void @y() #0 !dbg !16 {
diff --git a/llvm/test/DebugInfo/assignment-tracking/X86/diamond-3.ll b/llvm/test/DebugInfo/assignment-tracking/X86/diamond-3.ll
index b20b166cb9cd4..98fa3f0b80884 100644
--- a/llvm/test/DebugInfo/assignment-tracking/X86/diamond-3.ll
+++ b/llvm/test/DebugInfo/assignment-tracking/X86/diamond-3.ll
@@ -37,7 +37,7 @@
target triple = "x86_64-unknown-linux-gnu"
- at g = dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+ at g = dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
define dso_local noundef i32 @_Z1fiii(i32 noundef %a, i32 noundef %b, i32 noundef %c) local_unnamed_addr #0 !dbg !12 {
entry:
diff --git a/llvm/test/DebugInfo/assignment-tracking/X86/loop-hoist.ll b/llvm/test/DebugInfo/assignment-tracking/X86/loop-hoist.ll
index 559cdc59dffd9..a8033be5c9af5 100644
--- a/llvm/test/DebugInfo/assignment-tracking/X86/loop-hoist.ll
+++ b/llvm/test/DebugInfo/assignment-tracking/X86/loop-hoist.ll
@@ -31,7 +31,7 @@
target triple = "x86_64-unknown-linux-gnu"
- at g = dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+ at g = dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
define dso_local noundef i32 @_Z1fiii(i32 noundef %a, i32 noundef %b, i32 noundef %c) local_unnamed_addr #0 !dbg !12 {
entry:
diff --git a/llvm/test/DebugInfo/assignment-tracking/X86/loop-sink.ll b/llvm/test/DebugInfo/assignment-tracking/X86/loop-sink.ll
index fcd51960b67cc..3a86ec1f23dca 100644
--- a/llvm/test/DebugInfo/assignment-tracking/X86/loop-sink.ll
+++ b/llvm/test/DebugInfo/assignment-tracking/X86/loop-sink.ll
@@ -35,7 +35,7 @@
target triple = "x86_64-unknown-linux-gnu"
- at g = dso_local local_unnamed_addr global ptr null, align 8, !dbg !0
+ at g = dso_local local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !0
; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_Z1fii(i32 noundef %a, i32 noundef %b) local_unnamed_addr #0 !dbg !12 {
diff --git a/llvm/test/DebugInfo/attr-btf_type_tag.ll b/llvm/test/DebugInfo/attr-btf_type_tag.ll
index ffdef06bb2dc4..8f05f95ac5d3a 100644
--- a/llvm/test/DebugInfo/attr-btf_type_tag.ll
+++ b/llvm/test/DebugInfo/attr-btf_type_tag.ll
@@ -10,7 +10,7 @@
; Compilation flag:
; clang -target x86_64 -g -S -emit-llvm t.c
- at g = dso_local global ptr null, align 8, !dbg !0
+ at g = dso_local global ptr zeroinitializer, align 8, !dbg !0
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!13, !14, !15, !16, !17}
diff --git a/llvm/test/DebugInfo/unrolled-loop-remainder.ll b/llvm/test/DebugInfo/unrolled-loop-remainder.ll
index c6035ffa65e08..2c520a819bca9 100644
--- a/llvm/test/DebugInfo/unrolled-loop-remainder.ll
+++ b/llvm/test/DebugInfo/unrolled-loop-remainder.ll
@@ -4,7 +4,7 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
@b = common local_unnamed_addr global i32 0, align 4, !dbg !0
- at a = common local_unnamed_addr global ptr null, align 8, !dbg !6
+ at a = common local_unnamed_addr global ptr zeroinitializer, align 8, !dbg !6
; Test that loop remainder unrolling doesn't corrupt debuginfo. This example
; used to cause an assert, but also test that the unrolled backwards branches
diff --git a/llvm/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll b/llvm/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll
index 30c70b95a91c7..a3e22285ece35 100644
--- a/llvm/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll
+++ b/llvm/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll
@@ -12,7 +12,7 @@ entry:
; Test PR3043: @test should have the same address before and after
; it's JIT-compiled.
- at funcPtr = common global ptr null, align 4
+ at funcPtr = common global ptr zeroinitializer, align 4
@lcaic_failure = internal constant [46 x i8] c"@lazily_compiled_address_is_consistent failed\00"
define void @lazily_compiled_address_is_consistent() nounwind {
diff --git a/llvm/test/ExecutionEngine/MCJIT/remote/stubs-sm-pic.ll b/llvm/test/ExecutionEngine/MCJIT/remote/stubs-sm-pic.ll
index e6fc25cc6065d..3ab76aaaebb04 100644
--- a/llvm/test/ExecutionEngine/MCJIT/remote/stubs-sm-pic.ll
+++ b/llvm/test/ExecutionEngine/MCJIT/remote/stubs-sm-pic.ll
@@ -10,7 +10,7 @@ entry:
; Test PR3043: @test should have the same address before and after
; it's JIT-compiled.
- at funcPtr = common global ptr null, align 4
+ at funcPtr = common global ptr zeroinitializer, align 4
@lcaic_failure = internal constant [46 x i8] c"@lazily_compiled_address_is_consistent failed\00"
define void @lazily_compiled_address_is_consistent() nounwind {
diff --git a/llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll b/llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll
index 9522bfa42a456..f4b787a8c538f 100644
--- a/llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll
+++ b/llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll
@@ -11,7 +11,7 @@ entry:
; Test PR3043: @test should have the same address before and after
; it's JIT-compiled.
- at funcPtr = common global ptr null, align 4
+ at funcPtr = common global ptr zeroinitializer, align 4
@lcaic_failure = internal constant [46 x i8] c"@lazily_compiled_address_is_consistent failed\00"
define void @lazily_compiled_address_is_consistent() nounwind {
diff --git a/llvm/test/ExecutionEngine/MCJIT/stubs.ll b/llvm/test/ExecutionEngine/MCJIT/stubs.ll
index 4173038c9978a..5041c7e6113d5 100644
--- a/llvm/test/ExecutionEngine/MCJIT/stubs.ll
+++ b/llvm/test/ExecutionEngine/MCJIT/stubs.ll
@@ -8,7 +8,7 @@ entry:
; Test PR3043: @test should have the same address before and after
; it's JIT-compiled.
- at funcPtr = common global ptr null, align 4
+ at funcPtr = common global ptr zeroinitializer, align 4
@lcaic_failure = internal constant [46 x i8] c"@lazily_compiled_address_is_consistent failed\00"
define void @lazily_compiled_address_is_consistent() nounwind {
diff --git a/llvm/test/Instrumentation/AddressSanitizer/AMDGPU/instrument-stack.ll b/llvm/test/Instrumentation/AddressSanitizer/AMDGPU/instrument-stack.ll
index 39f117846aa96..51bcea4e7da52 100644
--- a/llvm/test/Instrumentation/AddressSanitizer/AMDGPU/instrument-stack.ll
+++ b/llvm/test/Instrumentation/AddressSanitizer/AMDGPU/instrument-stack.ll
@@ -5,7 +5,7 @@
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
-;@sink = global ptr null, align 4
+;@sink = global ptr zeroinitializer, align 4
; Ignore direct inbounds stack access.
define void @foo() uwtable sanitize_address {
diff --git a/llvm/test/Instrumentation/AddressSanitizer/asan-scalable-vector.ll b/llvm/test/Instrumentation/AddressSanitizer/asan-scalable-vector.ll
index 6a841f2d399c0..bf08ca530bb7b 100644
--- a/llvm/test/Instrumentation/AddressSanitizer/asan-scalable-vector.ll
+++ b/llvm/test/Instrumentation/AddressSanitizer/asan-scalable-vector.ll
@@ -7,13 +7,16 @@ define void @test() #1 {
; CHECK-NEXT: [[ENTRY:.*:]]
; CHECK-NEXT: [[CTX_PG:%.*]] = alloca <vscale x 16 x i1>, align 2
; CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[CTX_PG]])
-; CHECK-NEXT: [[TMP0:%.*]] = load i8, ptr inttoptr (i64 17592186044416 to ptr), align 1
+; CHECK-NEXT: [[TMP3:%.*]] = lshr i64 ptrtoint (ptr null to i64), 3
+; CHECK-NEXT: [[TMP4:%.*]] = or i64 [[TMP3]], 17592186044416
+; CHECK-NEXT: [[TMP2:%.*]] = inttoptr i64 [[TMP4]] to ptr
+; CHECK-NEXT: [[TMP0:%.*]] = load i8, ptr [[TMP2]], align 1
; CHECK-NEXT: [[TMP1:%.*]] = icmp ne i8 [[TMP0]], 0
-; CHECK-NEXT: br i1 [[TMP1]], label %[[BB2:.*]], label %[[BB3:.*]]
-; CHECK: [[BB2]]:
-; CHECK-NEXT: call void @__asan_report_store8(i64 0) #[[ATTR4:[0-9]+]]
+; CHECK-NEXT: br i1 [[TMP1]], label %[[BB5:.*]], label %[[BB6:.*]]
+; CHECK: [[BB5]]:
+; CHECK-NEXT: call void @__asan_report_store8(i64 ptrtoint (ptr null to i64)) #[[ATTR4:[0-9]+]]
; CHECK-NEXT: unreachable
-; CHECK: [[BB3]]:
+; CHECK: [[BB6]]:
; CHECK-NEXT: store ptr [[CTX_PG]], ptr null, align 8
; CHECK-NEXT: ret void
;
diff --git a/llvm/test/Instrumentation/AddressSanitizer/instrument-stack.ll b/llvm/test/Instrumentation/AddressSanitizer/instrument-stack.ll
index 39f117846aa96..51bcea4e7da52 100644
--- a/llvm/test/Instrumentation/AddressSanitizer/instrument-stack.ll
+++ b/llvm/test/Instrumentation/AddressSanitizer/instrument-stack.ll
@@ -5,7 +5,7 @@
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
-;@sink = global ptr null, align 4
+;@sink = global ptr zeroinitializer, align 4
; Ignore direct inbounds stack access.
define void @foo() uwtable sanitize_address {
diff --git a/llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca.ll b/llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca.ll
index edbcdbeb8516c..607639239dbdd 100644
--- a/llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca.ll
+++ b/llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca.ll
@@ -70,7 +70,7 @@ define void @test_alloca() sanitize_hwaddress !dbg !15 {
; ZERO-BASED-SHADOW-LABEL: define void @test_alloca
; ZERO-BASED-SHADOW-SAME: () #[[ATTR0:[0-9]+]] personality ptr @__hwasan_personality_thunk !dbg [[DBG8:![0-9]+]] {
; ZERO-BASED-SHADOW-NEXT: entry:
-; ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = call ptr @llvm.frameaddress.p0(i32 0)
; ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = ptrtoint ptr [[TMP0]] to i64
; ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = lshr i64 [[TMP1]], 20
@@ -143,7 +143,7 @@ declare void @llvm.dbg.value(metadata, metadata, metadata)
;.
; DYNAMIC-SHADOW: [[META0]] = !{ptr @hwasan.note}
; DYNAMIC-SHADOW: [[META1:![0-9]+]] = distinct !DICompileUnit(language: DW_LANG_C_plus_plus_14, file: [[META2:![0-9]+]], producer: "{{.*}}clang version {{.*}}", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: [[META3:![0-9]+]], splitDebugInlining: false, nameTableKind: None)
-; DYNAMIC-SHADOW: [[META2]] = !DIFile(filename: "alloca.cpp", directory: {{.*}})
+; DYNAMIC-SHADOW: [[META2]] = !DIFile(filename: "{{.*}}alloca.cpp", directory: {{.*}})
; DYNAMIC-SHADOW: [[META3]] = !{}
; DYNAMIC-SHADOW: [[META4:![0-9]+]] = !{i32 7, !"Dwarf Version", i32 4}
; DYNAMIC-SHADOW: [[META5:![0-9]+]] = !{i32 2, !"Debug Info Version", i32 3}
@@ -160,7 +160,7 @@ declare void @llvm.dbg.value(metadata, metadata, metadata)
;.
; ZERO-BASED-SHADOW: [[META0]] = !{ptr @hwasan.note}
; ZERO-BASED-SHADOW: [[META1:![0-9]+]] = distinct !DICompileUnit(language: DW_LANG_C_plus_plus_14, file: [[META2:![0-9]+]], producer: "{{.*}}clang version {{.*}}", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: [[META3:![0-9]+]], splitDebugInlining: false, nameTableKind: None)
-; ZERO-BASED-SHADOW: [[META2]] = !DIFile(filename: "alloca.cpp", directory: {{.*}})
+; ZERO-BASED-SHADOW: [[META2]] = !DIFile(filename: "{{.*}}alloca.cpp", directory: {{.*}})
; ZERO-BASED-SHADOW: [[META3]] = !{}
; ZERO-BASED-SHADOW: [[META4:![0-9]+]] = !{i32 7, !"Dwarf Version", i32 4}
; ZERO-BASED-SHADOW: [[META5:![0-9]+]] = !{i32 2, !"Debug Info Version", i32 3}
diff --git a/llvm/test/Instrumentation/HWAddressSanitizer/RISCV/basic.ll b/llvm/test/Instrumentation/HWAddressSanitizer/RISCV/basic.ll
index e0eb1115854ab..dfee94203a37a 100644
--- a/llvm/test/Instrumentation/HWAddressSanitizer/RISCV/basic.ll
+++ b/llvm/test/Instrumentation/HWAddressSanitizer/RISCV/basic.ll
@@ -134,7 +134,7 @@ define i8 @test_load8(ptr %a) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define i8 @test_load8
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0:[0-9]+]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -154,7 +154,7 @@ define i8 @test_load8(ptr %a) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define i8 @test_load8
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0:[0-9]+]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -314,7 +314,7 @@ define i16 @test_load16(ptr %a) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define i16 @test_load16
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -334,7 +334,7 @@ define i16 @test_load16(ptr %a) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define i16 @test_load16
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -494,7 +494,7 @@ define i32 @test_load32(ptr %a) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define i32 @test_load32
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -514,7 +514,7 @@ define i32 @test_load32(ptr %a) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define i32 @test_load32
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -674,7 +674,7 @@ define i64 @test_load64(ptr %a) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define i64 @test_load64
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -694,7 +694,7 @@ define i64 @test_load64(ptr %a) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define i64 @test_load64
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -854,7 +854,7 @@ define i128 @test_load128(ptr %a) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define i128 @test_load128
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -874,7 +874,7 @@ define i128 @test_load128(ptr %a) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define i128 @test_load128
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -974,7 +974,7 @@ define i40 @test_load40(ptr %a) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define i40 @test_load40
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-ZERO-BASED-SHADOW-NEXT: call void @__hwasan_loadN(i64 [[TMP0]], i64 5)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[B:%.*]] = load i40, ptr [[A]], align 4
@@ -983,7 +983,7 @@ define i40 @test_load40(ptr %a) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define i40 @test_load40
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: call void @__hwasan_loadN_noabort(i64 [[TMP0]], i64 5)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[B:%.*]] = load i40, ptr [[A]], align 4
@@ -1115,7 +1115,7 @@ define void @test_store8(ptr %a, i8 %b) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define void @test_store8
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i8 [[B:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -1135,7 +1135,7 @@ define void @test_store8(ptr %a, i8 %b) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define void @test_store8
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i8 [[B:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -1295,7 +1295,7 @@ define void @test_store16(ptr %a, i16 %b) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define void @test_store16
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i16 [[B:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -1315,7 +1315,7 @@ define void @test_store16(ptr %a, i16 %b) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define void @test_store16
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i16 [[B:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -1475,7 +1475,7 @@ define void @test_store32(ptr %a, i32 %b) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define void @test_store32
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i32 [[B:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -1495,7 +1495,7 @@ define void @test_store32(ptr %a, i32 %b) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define void @test_store32
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i32 [[B:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -1655,7 +1655,7 @@ define void @test_store64(ptr %a, i64 %b) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define void @test_store64
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i64 [[B:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -1675,7 +1675,7 @@ define void @test_store64(ptr %a, i64 %b) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define void @test_store64
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i64 [[B:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -1835,7 +1835,7 @@ define void @test_store128(ptr %a, i128 %b) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define void @test_store128
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i128 [[B:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -1855,7 +1855,7 @@ define void @test_store128(ptr %a, i128 %b) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define void @test_store128
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i128 [[B:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -1955,7 +1955,7 @@ define void @test_store40(ptr %a, i40 %b) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define void @test_store40
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i40 [[B:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-ZERO-BASED-SHADOW-NEXT: call void @__hwasan_storeN(i64 [[TMP0]], i64 5)
; ABORT-ZERO-BASED-SHADOW-NEXT: store i40 [[B]], ptr [[A]], align 4
@@ -1964,7 +1964,7 @@ define void @test_store40(ptr %a, i40 %b) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define void @test_store40
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i40 [[B:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: call void @__hwasan_storeN_noabort(i64 [[TMP0]], i64 5)
; RECOVER-ZERO-BASED-SHADOW-NEXT: store i40 [[B]], ptr [[A]], align 4
@@ -2036,7 +2036,7 @@ define void @test_store_unaligned(ptr %a, i64 %b) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define void @test_store_unaligned
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i64 [[B:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-ZERO-BASED-SHADOW-NEXT: call void @__hwasan_storeN(i64 [[TMP0]], i64 8)
; ABORT-ZERO-BASED-SHADOW-NEXT: store i64 [[B]], ptr [[A]], align 4
@@ -2045,7 +2045,7 @@ define void @test_store_unaligned(ptr %a, i64 %b) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define void @test_store_unaligned
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i64 [[B:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: call void @__hwasan_storeN_noabort(i64 [[TMP0]], i64 8)
; RECOVER-ZERO-BASED-SHADOW-NEXT: store i64 [[B]], ptr [[A]], align 4
diff --git a/llvm/test/Instrumentation/HWAddressSanitizer/RISCV/use-after-scope-setjmp.ll b/llvm/test/Instrumentation/HWAddressSanitizer/RISCV/use-after-scope-setjmp.ll
index d2949bfb9c1b2..1c486f0c57f25 100644
--- a/llvm/test/Instrumentation/HWAddressSanitizer/RISCV/use-after-scope-setjmp.ll
+++ b/llvm/test/Instrumentation/HWAddressSanitizer/RISCV/use-after-scope-setjmp.ll
@@ -3,7 +3,7 @@
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "riscv64-unknown-linux"
- at stackbuf = dso_local local_unnamed_addr global ptr null, align 8
+ at stackbuf = dso_local local_unnamed_addr global ptr zeroinitializer, align 8
@jbuf = dso_local global [32 x i64] zeroinitializer, align 8
declare void @may_jump()
diff --git a/llvm/test/Instrumentation/HWAddressSanitizer/X86/alloca-array.ll b/llvm/test/Instrumentation/HWAddressSanitizer/X86/alloca-array.ll
index 72a0f6bc8df5b..e008fad5fac92 100644
--- a/llvm/test/Instrumentation/HWAddressSanitizer/X86/alloca-array.ll
+++ b/llvm/test/Instrumentation/HWAddressSanitizer/X86/alloca-array.ll
@@ -9,7 +9,7 @@ declare void @use(ptr, ptr)
define void @test_alloca() sanitize_hwaddress {
; CHECK-LABEL: define void @test_alloca
; CHECK-SAME: () #[[ATTR0:[0-9]+]] personality ptr @__hwasan_personality_thunk {
-; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; CHECK-NEXT: [[TMP1:%.*]] = call ptr @llvm.frameaddress.p0(i32 0)
; CHECK-NEXT: [[TMP2:%.*]] = ptrtoint ptr [[TMP1]] to i64
; CHECK-NEXT: [[TMP3:%.*]] = lshr i64 [[TMP2]], 20
diff --git a/llvm/test/Instrumentation/HWAddressSanitizer/X86/alloca-with-calls.ll b/llvm/test/Instrumentation/HWAddressSanitizer/X86/alloca-with-calls.ll
index 2a82d708a0ef1..500f8f1ed5f4a 100644
--- a/llvm/test/Instrumentation/HWAddressSanitizer/X86/alloca-with-calls.ll
+++ b/llvm/test/Instrumentation/HWAddressSanitizer/X86/alloca-with-calls.ll
@@ -12,7 +12,7 @@ define void @test_alloca() sanitize_hwaddress {
; CHECK-LABEL: define void @test_alloca
; CHECK-SAME: () #[[ATTR0:[0-9]+]] personality ptr @__hwasan_personality_thunk {
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; CHECK-NEXT: [[TMP0:%.*]] = call ptr @llvm.frameaddress.p0(i32 0)
; CHECK-NEXT: [[TMP1:%.*]] = ptrtoint ptr [[TMP0]] to i64
; CHECK-NEXT: [[TMP2:%.*]] = lshr i64 [[TMP1]], 57
diff --git a/llvm/test/Instrumentation/HWAddressSanitizer/X86/alloca.ll b/llvm/test/Instrumentation/HWAddressSanitizer/X86/alloca.ll
index ef86e63aca0d6..c8caf11d8b807 100644
--- a/llvm/test/Instrumentation/HWAddressSanitizer/X86/alloca.ll
+++ b/llvm/test/Instrumentation/HWAddressSanitizer/X86/alloca.ll
@@ -13,7 +13,7 @@ define void @test_alloca() sanitize_hwaddress {
; CHECK-LABEL: define void @test_alloca
; CHECK-SAME: () #[[ATTR0:[0-9]+]] personality ptr @__hwasan_personality_thunk {
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; CHECK-NEXT: [[TMP0:%.*]] = call ptr @llvm.frameaddress.p0(i32 0)
; CHECK-NEXT: [[TMP1:%.*]] = ptrtoint ptr [[TMP0]] to i64
; CHECK-NEXT: [[TMP2:%.*]] = lshr i64 [[TMP1]], 20
@@ -94,7 +94,7 @@ define i32 @test_simple(ptr %a) sanitize_hwaddress {
; CHECK-LABEL: define i32 @test_simple
; CHECK-SAME: (ptr [[A:%.*]]) #[[ATTR0]] personality ptr @__hwasan_personality_thunk {
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; CHECK-NEXT: [[TMP0:%.*]] = call ptr @llvm.frameaddress.p0(i32 0)
; CHECK-NEXT: [[TMP1:%.*]] = ptrtoint ptr [[TMP0]] to i64
; CHECK-NEXT: [[TMP2:%.*]] = lshr i64 [[TMP1]], 20
@@ -168,10 +168,10 @@ define i32 @test_simple(ptr %a) sanitize_hwaddress {
; INLINE-NEXT: [[TMP33:%.*]] = getelementptr i8, ptr [[TMP14]], i64 [[TMP32]]
; INLINE-NEXT: [[TMP34:%.*]] = load i8, ptr [[TMP33]], align 1
; INLINE-NEXT: [[TMP35:%.*]] = icmp ne i8 [[TMP30]], [[TMP34]]
-; INLINE-NEXT: br i1 [[TMP35]], label [[TMP36:%.*]], label [[TMP50:%.*]], !prof [[PROF1:![0-9]+]]
+; INLINE-NEXT: br i1 [[TMP35]], label [[TMP36:%.*]], label [[TMP50:%.*]], !prof [[PROF2:![0-9]+]]
; INLINE: 36:
; INLINE-NEXT: [[TMP37:%.*]] = icmp ugt i8 [[TMP34]], 15
-; INLINE-NEXT: br i1 [[TMP37]], label [[TMP38:%.*]], label [[TMP39:%.*]], !prof [[PROF1]]
+; INLINE-NEXT: br i1 [[TMP37]], label [[TMP38:%.*]], label [[TMP39:%.*]], !prof [[PROF2]]
; INLINE: 38:
; INLINE-NEXT: call void asm sideeffect "int3\0Anopl 80([[RAX:%.*]])", "{rdi}"(i64 [[TMP28]])
; INLINE-NEXT: unreachable
@@ -180,13 +180,13 @@ define i32 @test_simple(ptr %a) sanitize_hwaddress {
; INLINE-NEXT: [[TMP41:%.*]] = trunc i64 [[TMP40]] to i8
; INLINE-NEXT: [[TMP42:%.*]] = add i8 [[TMP41]], 0
; INLINE-NEXT: [[TMP43:%.*]] = icmp uge i8 [[TMP42]], [[TMP34]]
-; INLINE-NEXT: br i1 [[TMP43]], label [[TMP38]], label [[TMP44:%.*]], !prof [[PROF1]]
+; INLINE-NEXT: br i1 [[TMP43]], label [[TMP38]], label [[TMP44:%.*]], !prof [[PROF2]]
; INLINE: 44:
; INLINE-NEXT: [[TMP45:%.*]] = or i64 [[TMP31]], 15
; INLINE-NEXT: [[TMP46:%.*]] = inttoptr i64 [[TMP45]] to ptr
; INLINE-NEXT: [[TMP47:%.*]] = load i8, ptr [[TMP46]], align 1
; INLINE-NEXT: [[TMP48:%.*]] = icmp ne i8 [[TMP30]], [[TMP47]]
-; INLINE-NEXT: br i1 [[TMP48]], label [[TMP38]], label [[TMP49:%.*]], !prof [[PROF1]]
+; INLINE-NEXT: br i1 [[TMP48]], label [[TMP38]], label [[TMP49:%.*]], !prof [[PROF2]]
; INLINE: 49:
; INLINE-NEXT: br label [[TMP50]]
; INLINE: 50:
diff --git a/llvm/test/Instrumentation/HWAddressSanitizer/X86/atomic.ll b/llvm/test/Instrumentation/HWAddressSanitizer/X86/atomic.ll
index 49b55139fb980..04cc83cbc4fbe 100644
--- a/llvm/test/Instrumentation/HWAddressSanitizer/X86/atomic.ll
+++ b/llvm/test/Instrumentation/HWAddressSanitizer/X86/atomic.ll
@@ -10,7 +10,7 @@ define void @atomicrmw(ptr %ptr) sanitize_hwaddress {
; CHECK-LABEL: define void @atomicrmw
; CHECK-SAME: (ptr [[PTR:%.*]]) #[[ATTR0:[0-9]+]] {
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; CHECK-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[PTR]] to i64
; CHECK-NEXT: call void @__hwasan_store8(i64 [[TMP0]])
; CHECK-NEXT: [[TMP1:%.*]] = atomicrmw add ptr [[PTR]], i64 1 seq_cst, align 8
@@ -28,7 +28,7 @@ define void @cmpxchg(ptr %ptr, i64 %compare_to, i64 %new_value) sanitize_hwaddre
; CHECK-LABEL: define void @cmpxchg
; CHECK-SAME: (ptr [[PTR:%.*]], i64 [[COMPARE_TO:%.*]], i64 [[NEW_VALUE:%.*]]) #[[ATTR0]] {
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; CHECK-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[PTR]] to i64
; CHECK-NEXT: call void @__hwasan_store8(i64 [[TMP0]])
; CHECK-NEXT: [[TMP1:%.*]] = cmpxchg ptr [[PTR]], i64 [[COMPARE_TO]], i64 [[NEW_VALUE]] seq_cst seq_cst, align 8
diff --git a/llvm/test/Instrumentation/HWAddressSanitizer/X86/basic.ll b/llvm/test/Instrumentation/HWAddressSanitizer/X86/basic.ll
index ebe66e0d51baa..9485a97ecadb2 100644
--- a/llvm/test/Instrumentation/HWAddressSanitizer/X86/basic.ll
+++ b/llvm/test/Instrumentation/HWAddressSanitizer/X86/basic.ll
@@ -18,7 +18,7 @@ define i8 @test_load8(ptr %a) sanitize_hwaddress {
; CHECK-LABEL: define i8 @test_load8
; CHECK-SAME: (ptr [[A:%.*]]) #[[ATTR0:[0-9]+]] {
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; CHECK-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; CHECK-NEXT: call void @__hwasan_load1(i64 [[TMP0]])
; CHECK-NEXT: [[B:%.*]] = load i8, ptr [[A]], align 4
@@ -27,7 +27,7 @@ define i8 @test_load8(ptr %a) sanitize_hwaddress {
; NOFASTPATH-LABEL: define i8 @test_load8
; NOFASTPATH-SAME: (ptr [[A:%.*]]) #[[ATTR0:[0-9]+]] {
; NOFASTPATH-NEXT: entry:
-; NOFASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; NOFASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; NOFASTPATH-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; NOFASTPATH-NEXT: call void @__hwasan_load1(i64 [[TMP0]])
; NOFASTPATH-NEXT: [[B:%.*]] = load i8, ptr [[A]], align 4
@@ -36,7 +36,7 @@ define i8 @test_load8(ptr %a) sanitize_hwaddress {
; FASTPATH-LABEL: define i8 @test_load8
; FASTPATH-SAME: (ptr [[A:%.*]]) #[[ATTR0:[0-9]+]] {
; FASTPATH-NEXT: entry:
-; FASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; FASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; FASTPATH-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; FASTPATH-NEXT: call void @__hwasan_load1(i64 [[TMP0]])
; FASTPATH-NEXT: [[B:%.*]] = load i8, ptr [[A]], align 4
@@ -45,7 +45,7 @@ define i8 @test_load8(ptr %a) sanitize_hwaddress {
; ABORT-LABEL: define i8 @test_load8
; ABORT-SAME: (ptr [[A:%.*]]) #[[ATTR0:[0-9]+]] {
; ABORT-NEXT: entry:
-; ABORT-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-NEXT: call void @__hwasan_load1(i64 [[TMP0]])
; ABORT-NEXT: [[B:%.*]] = load i8, ptr [[A]], align 4
@@ -54,7 +54,7 @@ define i8 @test_load8(ptr %a) sanitize_hwaddress {
; RECOVER-LABEL: define i8 @test_load8
; RECOVER-SAME: (ptr [[A:%.*]]) #[[ATTR0:[0-9]+]] {
; RECOVER-NEXT: entry:
-; RECOVER-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-NEXT: call void @__hwasan_load1_noabort(i64 [[TMP0]])
; RECOVER-NEXT: [[B:%.*]] = load i8, ptr [[A]], align 4
@@ -76,10 +76,10 @@ define i8 @test_load8(ptr %a) sanitize_hwaddress {
; ABORT-INLINE-NEXT: [[TMP9:%.*]] = getelementptr i8, ptr [[TMP3]], i64 [[TMP8]]
; ABORT-INLINE-NEXT: [[TMP10:%.*]] = load i8, ptr [[TMP9]], align 1
; ABORT-INLINE-NEXT: [[TMP11:%.*]] = icmp ne i8 [[TMP6]], [[TMP10]]
-; ABORT-INLINE-NEXT: br i1 [[TMP11]], label [[TMP12:%.*]], label [[TMP26:%.*]], !prof [[PROF1:![0-9]+]]
+; ABORT-INLINE-NEXT: br i1 [[TMP11]], label [[TMP12:%.*]], label [[TMP26:%.*]], !prof [[PROF2:![0-9]+]]
; ABORT-INLINE: 12:
; ABORT-INLINE-NEXT: [[TMP13:%.*]] = icmp ugt i8 [[TMP10]], 15
-; ABORT-INLINE-NEXT: br i1 [[TMP13]], label [[TMP14:%.*]], label [[TMP15:%.*]], !prof [[PROF1]]
+; ABORT-INLINE-NEXT: br i1 [[TMP13]], label [[TMP14:%.*]], label [[TMP15:%.*]], !prof [[PROF2]]
; ABORT-INLINE: 14:
; ABORT-INLINE-NEXT: call void asm sideeffect "int3\0Anopl 64([[RAX:%.*]])", "{rdi}"(i64 [[TMP4]])
; ABORT-INLINE-NEXT: unreachable
@@ -88,13 +88,13 @@ define i8 @test_load8(ptr %a) sanitize_hwaddress {
; ABORT-INLINE-NEXT: [[TMP17:%.*]] = trunc i64 [[TMP16]] to i8
; ABORT-INLINE-NEXT: [[TMP18:%.*]] = add i8 [[TMP17]], 0
; ABORT-INLINE-NEXT: [[TMP19:%.*]] = icmp uge i8 [[TMP18]], [[TMP10]]
-; ABORT-INLINE-NEXT: br i1 [[TMP19]], label [[TMP14]], label [[TMP20:%.*]], !prof [[PROF1]]
+; ABORT-INLINE-NEXT: br i1 [[TMP19]], label [[TMP14]], label [[TMP20:%.*]], !prof [[PROF2]]
; ABORT-INLINE: 20:
; ABORT-INLINE-NEXT: [[TMP21:%.*]] = or i64 [[TMP7]], 15
; ABORT-INLINE-NEXT: [[TMP22:%.*]] = inttoptr i64 [[TMP21]] to ptr
; ABORT-INLINE-NEXT: [[TMP23:%.*]] = load i8, ptr [[TMP22]], align 1
; ABORT-INLINE-NEXT: [[TMP24:%.*]] = icmp ne i8 [[TMP6]], [[TMP23]]
-; ABORT-INLINE-NEXT: br i1 [[TMP24]], label [[TMP14]], label [[TMP25:%.*]], !prof [[PROF1]]
+; ABORT-INLINE-NEXT: br i1 [[TMP24]], label [[TMP14]], label [[TMP25:%.*]], !prof [[PROF2]]
; ABORT-INLINE: 25:
; ABORT-INLINE-NEXT: br label [[TMP26]]
; ABORT-INLINE: 26:
@@ -117,10 +117,10 @@ define i8 @test_load8(ptr %a) sanitize_hwaddress {
; RECOVER-INLINE-NEXT: [[TMP9:%.*]] = getelementptr i8, ptr [[TMP3]], i64 [[TMP8]]
; RECOVER-INLINE-NEXT: [[TMP10:%.*]] = load i8, ptr [[TMP9]], align 1
; RECOVER-INLINE-NEXT: [[TMP11:%.*]] = icmp ne i8 [[TMP6]], [[TMP10]]
-; RECOVER-INLINE-NEXT: br i1 [[TMP11]], label [[TMP12:%.*]], label [[TMP26:%.*]], !prof [[PROF1:![0-9]+]]
+; RECOVER-INLINE-NEXT: br i1 [[TMP11]], label [[TMP12:%.*]], label [[TMP26:%.*]], !prof [[PROF2:![0-9]+]]
; RECOVER-INLINE: 12:
; RECOVER-INLINE-NEXT: [[TMP13:%.*]] = icmp ugt i8 [[TMP10]], 15
-; RECOVER-INLINE-NEXT: br i1 [[TMP13]], label [[TMP14:%.*]], label [[TMP15:%.*]], !prof [[PROF1]]
+; RECOVER-INLINE-NEXT: br i1 [[TMP13]], label [[TMP14:%.*]], label [[TMP15:%.*]], !prof [[PROF2]]
; RECOVER-INLINE: 14:
; RECOVER-INLINE-NEXT: call void asm sideeffect "int3\0Anopl 96([[RAX:%.*]])", "{rdi}"(i64 [[TMP4]])
; RECOVER-INLINE-NEXT: br label [[TMP25:%.*]]
@@ -129,13 +129,13 @@ define i8 @test_load8(ptr %a) sanitize_hwaddress {
; RECOVER-INLINE-NEXT: [[TMP17:%.*]] = trunc i64 [[TMP16]] to i8
; RECOVER-INLINE-NEXT: [[TMP18:%.*]] = add i8 [[TMP17]], 0
; RECOVER-INLINE-NEXT: [[TMP19:%.*]] = icmp uge i8 [[TMP18]], [[TMP10]]
-; RECOVER-INLINE-NEXT: br i1 [[TMP19]], label [[TMP14]], label [[TMP20:%.*]], !prof [[PROF1]]
+; RECOVER-INLINE-NEXT: br i1 [[TMP19]], label [[TMP14]], label [[TMP20:%.*]], !prof [[PROF2]]
; RECOVER-INLINE: 20:
; RECOVER-INLINE-NEXT: [[TMP21:%.*]] = or i64 [[TMP7]], 15
; RECOVER-INLINE-NEXT: [[TMP22:%.*]] = inttoptr i64 [[TMP21]] to ptr
; RECOVER-INLINE-NEXT: [[TMP23:%.*]] = load i8, ptr [[TMP22]], align 1
; RECOVER-INLINE-NEXT: [[TMP24:%.*]] = icmp ne i8 [[TMP6]], [[TMP23]]
-; RECOVER-INLINE-NEXT: br i1 [[TMP24]], label [[TMP14]], label [[TMP25]], !prof [[PROF1]]
+; RECOVER-INLINE-NEXT: br i1 [[TMP24]], label [[TMP14]], label [[TMP25]], !prof [[PROF2]]
; RECOVER-INLINE: 25:
; RECOVER-INLINE-NEXT: br label [[TMP26]]
; RECOVER-INLINE: 26:
@@ -151,7 +151,7 @@ define i40 @test_load40(ptr %a) sanitize_hwaddress {
; CHECK-LABEL: define i40 @test_load40
; CHECK-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; CHECK-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; CHECK-NEXT: call void @__hwasan_loadN(i64 [[TMP0]], i64 5)
; CHECK-NEXT: [[B:%.*]] = load i40, ptr [[A]], align 4
@@ -160,7 +160,7 @@ define i40 @test_load40(ptr %a) sanitize_hwaddress {
; NOFASTPATH-LABEL: define i40 @test_load40
; NOFASTPATH-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; NOFASTPATH-NEXT: entry:
-; NOFASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; NOFASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; NOFASTPATH-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; NOFASTPATH-NEXT: call void @__hwasan_loadN(i64 [[TMP0]], i64 5)
; NOFASTPATH-NEXT: [[B:%.*]] = load i40, ptr [[A]], align 4
@@ -169,7 +169,7 @@ define i40 @test_load40(ptr %a) sanitize_hwaddress {
; FASTPATH-LABEL: define i40 @test_load40
; FASTPATH-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; FASTPATH-NEXT: entry:
-; FASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; FASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; FASTPATH-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; FASTPATH-NEXT: call void @__hwasan_loadN(i64 [[TMP0]], i64 5)
; FASTPATH-NEXT: [[B:%.*]] = load i40, ptr [[A]], align 4
@@ -178,7 +178,7 @@ define i40 @test_load40(ptr %a) sanitize_hwaddress {
; ABORT-LABEL: define i40 @test_load40
; ABORT-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; ABORT-NEXT: entry:
-; ABORT-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-NEXT: call void @__hwasan_loadN(i64 [[TMP0]], i64 5)
; ABORT-NEXT: [[B:%.*]] = load i40, ptr [[A]], align 4
@@ -187,7 +187,7 @@ define i40 @test_load40(ptr %a) sanitize_hwaddress {
; RECOVER-LABEL: define i40 @test_load40
; RECOVER-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; RECOVER-NEXT: entry:
-; RECOVER-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-NEXT: call void @__hwasan_loadN_noabort(i64 [[TMP0]], i64 5)
; RECOVER-NEXT: [[B:%.*]] = load i40, ptr [[A]], align 4
@@ -228,7 +228,7 @@ define void @test_store8(ptr %a, i8 %b) sanitize_hwaddress {
; CHECK-LABEL: define void @test_store8
; CHECK-SAME: (ptr [[A:%.*]], i8 [[B:%.*]]) #[[ATTR0]] {
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; CHECK-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; CHECK-NEXT: call void @__hwasan_store1(i64 [[TMP0]])
; CHECK-NEXT: store i8 [[B]], ptr [[A]], align 4
@@ -237,7 +237,7 @@ define void @test_store8(ptr %a, i8 %b) sanitize_hwaddress {
; NOFASTPATH-LABEL: define void @test_store8
; NOFASTPATH-SAME: (ptr [[A:%.*]], i8 [[B:%.*]]) #[[ATTR0]] {
; NOFASTPATH-NEXT: entry:
-; NOFASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; NOFASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; NOFASTPATH-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; NOFASTPATH-NEXT: call void @__hwasan_store1(i64 [[TMP0]])
; NOFASTPATH-NEXT: store i8 [[B]], ptr [[A]], align 4
@@ -246,7 +246,7 @@ define void @test_store8(ptr %a, i8 %b) sanitize_hwaddress {
; FASTPATH-LABEL: define void @test_store8
; FASTPATH-SAME: (ptr [[A:%.*]], i8 [[B:%.*]]) #[[ATTR0]] {
; FASTPATH-NEXT: entry:
-; FASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; FASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; FASTPATH-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; FASTPATH-NEXT: call void @__hwasan_store1(i64 [[TMP0]])
; FASTPATH-NEXT: store i8 [[B]], ptr [[A]], align 4
@@ -255,7 +255,7 @@ define void @test_store8(ptr %a, i8 %b) sanitize_hwaddress {
; ABORT-LABEL: define void @test_store8
; ABORT-SAME: (ptr [[A:%.*]], i8 [[B:%.*]]) #[[ATTR0]] {
; ABORT-NEXT: entry:
-; ABORT-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-NEXT: call void @__hwasan_store1(i64 [[TMP0]])
; ABORT-NEXT: store i8 [[B]], ptr [[A]], align 4
@@ -264,7 +264,7 @@ define void @test_store8(ptr %a, i8 %b) sanitize_hwaddress {
; RECOVER-LABEL: define void @test_store8
; RECOVER-SAME: (ptr [[A:%.*]], i8 [[B:%.*]]) #[[ATTR0]] {
; RECOVER-NEXT: entry:
-; RECOVER-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-NEXT: call void @__hwasan_store1_noabort(i64 [[TMP0]])
; RECOVER-NEXT: store i8 [[B]], ptr [[A]], align 4
@@ -286,10 +286,10 @@ define void @test_store8(ptr %a, i8 %b) sanitize_hwaddress {
; ABORT-INLINE-NEXT: [[TMP9:%.*]] = getelementptr i8, ptr [[TMP3]], i64 [[TMP8]]
; ABORT-INLINE-NEXT: [[TMP10:%.*]] = load i8, ptr [[TMP9]], align 1
; ABORT-INLINE-NEXT: [[TMP11:%.*]] = icmp ne i8 [[TMP6]], [[TMP10]]
-; ABORT-INLINE-NEXT: br i1 [[TMP11]], label [[TMP12:%.*]], label [[TMP26:%.*]], !prof [[PROF1]]
+; ABORT-INLINE-NEXT: br i1 [[TMP11]], label [[TMP12:%.*]], label [[TMP26:%.*]], !prof [[PROF2]]
; ABORT-INLINE: 12:
; ABORT-INLINE-NEXT: [[TMP13:%.*]] = icmp ugt i8 [[TMP10]], 15
-; ABORT-INLINE-NEXT: br i1 [[TMP13]], label [[TMP14:%.*]], label [[TMP15:%.*]], !prof [[PROF1]]
+; ABORT-INLINE-NEXT: br i1 [[TMP13]], label [[TMP14:%.*]], label [[TMP15:%.*]], !prof [[PROF2]]
; ABORT-INLINE: 14:
; ABORT-INLINE-NEXT: call void asm sideeffect "int3\0Anopl 80([[RAX:%.*]])", "{rdi}"(i64 [[TMP4]])
; ABORT-INLINE-NEXT: unreachable
@@ -298,13 +298,13 @@ define void @test_store8(ptr %a, i8 %b) sanitize_hwaddress {
; ABORT-INLINE-NEXT: [[TMP17:%.*]] = trunc i64 [[TMP16]] to i8
; ABORT-INLINE-NEXT: [[TMP18:%.*]] = add i8 [[TMP17]], 0
; ABORT-INLINE-NEXT: [[TMP19:%.*]] = icmp uge i8 [[TMP18]], [[TMP10]]
-; ABORT-INLINE-NEXT: br i1 [[TMP19]], label [[TMP14]], label [[TMP20:%.*]], !prof [[PROF1]]
+; ABORT-INLINE-NEXT: br i1 [[TMP19]], label [[TMP14]], label [[TMP20:%.*]], !prof [[PROF2]]
; ABORT-INLINE: 20:
; ABORT-INLINE-NEXT: [[TMP21:%.*]] = or i64 [[TMP7]], 15
; ABORT-INLINE-NEXT: [[TMP22:%.*]] = inttoptr i64 [[TMP21]] to ptr
; ABORT-INLINE-NEXT: [[TMP23:%.*]] = load i8, ptr [[TMP22]], align 1
; ABORT-INLINE-NEXT: [[TMP24:%.*]] = icmp ne i8 [[TMP6]], [[TMP23]]
-; ABORT-INLINE-NEXT: br i1 [[TMP24]], label [[TMP14]], label [[TMP25:%.*]], !prof [[PROF1]]
+; ABORT-INLINE-NEXT: br i1 [[TMP24]], label [[TMP14]], label [[TMP25:%.*]], !prof [[PROF2]]
; ABORT-INLINE: 25:
; ABORT-INLINE-NEXT: br label [[TMP26]]
; ABORT-INLINE: 26:
@@ -327,10 +327,10 @@ define void @test_store8(ptr %a, i8 %b) sanitize_hwaddress {
; RECOVER-INLINE-NEXT: [[TMP9:%.*]] = getelementptr i8, ptr [[TMP3]], i64 [[TMP8]]
; RECOVER-INLINE-NEXT: [[TMP10:%.*]] = load i8, ptr [[TMP9]], align 1
; RECOVER-INLINE-NEXT: [[TMP11:%.*]] = icmp ne i8 [[TMP6]], [[TMP10]]
-; RECOVER-INLINE-NEXT: br i1 [[TMP11]], label [[TMP12:%.*]], label [[TMP26:%.*]], !prof [[PROF1]]
+; RECOVER-INLINE-NEXT: br i1 [[TMP11]], label [[TMP12:%.*]], label [[TMP26:%.*]], !prof [[PROF2]]
; RECOVER-INLINE: 12:
; RECOVER-INLINE-NEXT: [[TMP13:%.*]] = icmp ugt i8 [[TMP10]], 15
-; RECOVER-INLINE-NEXT: br i1 [[TMP13]], label [[TMP14:%.*]], label [[TMP15:%.*]], !prof [[PROF1]]
+; RECOVER-INLINE-NEXT: br i1 [[TMP13]], label [[TMP14:%.*]], label [[TMP15:%.*]], !prof [[PROF2]]
; RECOVER-INLINE: 14:
; RECOVER-INLINE-NEXT: call void asm sideeffect "int3\0Anopl 112([[RAX:%.*]])", "{rdi}"(i64 [[TMP4]])
; RECOVER-INLINE-NEXT: br label [[TMP25:%.*]]
@@ -339,13 +339,13 @@ define void @test_store8(ptr %a, i8 %b) sanitize_hwaddress {
; RECOVER-INLINE-NEXT: [[TMP17:%.*]] = trunc i64 [[TMP16]] to i8
; RECOVER-INLINE-NEXT: [[TMP18:%.*]] = add i8 [[TMP17]], 0
; RECOVER-INLINE-NEXT: [[TMP19:%.*]] = icmp uge i8 [[TMP18]], [[TMP10]]
-; RECOVER-INLINE-NEXT: br i1 [[TMP19]], label [[TMP14]], label [[TMP20:%.*]], !prof [[PROF1]]
+; RECOVER-INLINE-NEXT: br i1 [[TMP19]], label [[TMP14]], label [[TMP20:%.*]], !prof [[PROF2]]
; RECOVER-INLINE: 20:
; RECOVER-INLINE-NEXT: [[TMP21:%.*]] = or i64 [[TMP7]], 15
; RECOVER-INLINE-NEXT: [[TMP22:%.*]] = inttoptr i64 [[TMP21]] to ptr
; RECOVER-INLINE-NEXT: [[TMP23:%.*]] = load i8, ptr [[TMP22]], align 1
; RECOVER-INLINE-NEXT: [[TMP24:%.*]] = icmp ne i8 [[TMP6]], [[TMP23]]
-; RECOVER-INLINE-NEXT: br i1 [[TMP24]], label [[TMP14]], label [[TMP25]], !prof [[PROF1]]
+; RECOVER-INLINE-NEXT: br i1 [[TMP24]], label [[TMP14]], label [[TMP25]], !prof [[PROF2]]
; RECOVER-INLINE: 25:
; RECOVER-INLINE-NEXT: br label [[TMP26]]
; RECOVER-INLINE: 26:
@@ -361,7 +361,7 @@ define void @test_store40(ptr %a, i40 %b) sanitize_hwaddress {
; CHECK-LABEL: define void @test_store40
; CHECK-SAME: (ptr [[A:%.*]], i40 [[B:%.*]]) #[[ATTR0]] {
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; CHECK-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; CHECK-NEXT: call void @__hwasan_storeN(i64 [[TMP0]], i64 5)
; CHECK-NEXT: store i40 [[B]], ptr [[A]], align 4
@@ -370,7 +370,7 @@ define void @test_store40(ptr %a, i40 %b) sanitize_hwaddress {
; NOFASTPATH-LABEL: define void @test_store40
; NOFASTPATH-SAME: (ptr [[A:%.*]], i40 [[B:%.*]]) #[[ATTR0]] {
; NOFASTPATH-NEXT: entry:
-; NOFASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; NOFASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; NOFASTPATH-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; NOFASTPATH-NEXT: call void @__hwasan_storeN(i64 [[TMP0]], i64 5)
; NOFASTPATH-NEXT: store i40 [[B]], ptr [[A]], align 4
@@ -379,7 +379,7 @@ define void @test_store40(ptr %a, i40 %b) sanitize_hwaddress {
; FASTPATH-LABEL: define void @test_store40
; FASTPATH-SAME: (ptr [[A:%.*]], i40 [[B:%.*]]) #[[ATTR0]] {
; FASTPATH-NEXT: entry:
-; FASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; FASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; FASTPATH-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; FASTPATH-NEXT: call void @__hwasan_storeN(i64 [[TMP0]], i64 5)
; FASTPATH-NEXT: store i40 [[B]], ptr [[A]], align 4
@@ -388,7 +388,7 @@ define void @test_store40(ptr %a, i40 %b) sanitize_hwaddress {
; ABORT-LABEL: define void @test_store40
; ABORT-SAME: (ptr [[A:%.*]], i40 [[B:%.*]]) #[[ATTR0]] {
; ABORT-NEXT: entry:
-; ABORT-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-NEXT: call void @__hwasan_storeN(i64 [[TMP0]], i64 5)
; ABORT-NEXT: store i40 [[B]], ptr [[A]], align 4
@@ -397,7 +397,7 @@ define void @test_store40(ptr %a, i40 %b) sanitize_hwaddress {
; RECOVER-LABEL: define void @test_store40
; RECOVER-SAME: (ptr [[A:%.*]], i40 [[B:%.*]]) #[[ATTR0]] {
; RECOVER-NEXT: entry:
-; RECOVER-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-NEXT: call void @__hwasan_storeN_noabort(i64 [[TMP0]], i64 5)
; RECOVER-NEXT: store i40 [[B]], ptr [[A]], align 4
@@ -438,7 +438,7 @@ define void @test_store_unaligned(ptr %a, i64 %b) sanitize_hwaddress {
; CHECK-LABEL: define void @test_store_unaligned
; CHECK-SAME: (ptr [[A:%.*]], i64 [[B:%.*]]) #[[ATTR0]] {
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; CHECK-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; CHECK-NEXT: call void @__hwasan_storeN(i64 [[TMP0]], i64 8)
; CHECK-NEXT: store i64 [[B]], ptr [[A]], align 4
@@ -447,7 +447,7 @@ define void @test_store_unaligned(ptr %a, i64 %b) sanitize_hwaddress {
; NOFASTPATH-LABEL: define void @test_store_unaligned
; NOFASTPATH-SAME: (ptr [[A:%.*]], i64 [[B:%.*]]) #[[ATTR0]] {
; NOFASTPATH-NEXT: entry:
-; NOFASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; NOFASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; NOFASTPATH-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; NOFASTPATH-NEXT: call void @__hwasan_storeN(i64 [[TMP0]], i64 8)
; NOFASTPATH-NEXT: store i64 [[B]], ptr [[A]], align 4
@@ -456,7 +456,7 @@ define void @test_store_unaligned(ptr %a, i64 %b) sanitize_hwaddress {
; FASTPATH-LABEL: define void @test_store_unaligned
; FASTPATH-SAME: (ptr [[A:%.*]], i64 [[B:%.*]]) #[[ATTR0]] {
; FASTPATH-NEXT: entry:
-; FASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; FASTPATH-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; FASTPATH-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; FASTPATH-NEXT: call void @__hwasan_storeN(i64 [[TMP0]], i64 8)
; FASTPATH-NEXT: store i64 [[B]], ptr [[A]], align 4
@@ -465,7 +465,7 @@ define void @test_store_unaligned(ptr %a, i64 %b) sanitize_hwaddress {
; ABORT-LABEL: define void @test_store_unaligned
; ABORT-SAME: (ptr [[A:%.*]], i64 [[B:%.*]]) #[[ATTR0]] {
; ABORT-NEXT: entry:
-; ABORT-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-NEXT: call void @__hwasan_storeN(i64 [[TMP0]], i64 8)
; ABORT-NEXT: store i64 [[B]], ptr [[A]], align 4
@@ -474,7 +474,7 @@ define void @test_store_unaligned(ptr %a, i64 %b) sanitize_hwaddress {
; RECOVER-LABEL: define void @test_store_unaligned
; RECOVER-SAME: (ptr [[A:%.*]], i64 [[B:%.*]]) #[[ATTR0]] {
; RECOVER-NEXT: entry:
-; RECOVER-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-NEXT: call void @__hwasan_storeN_noabort(i64 [[TMP0]], i64 8)
; RECOVER-NEXT: store i64 [[B]], ptr [[A]], align 4
diff --git a/llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll b/llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
index f4f5e66549fe1..018da45634710 100644
--- a/llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
+++ b/llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
@@ -69,7 +69,7 @@ define void @test_alloca() sanitize_hwaddress !dbg !15 {
; ZERO-BASED-SHADOW-LABEL: define void @test_alloca(
; ZERO-BASED-SHADOW-SAME: ) #[[ATTR0:[0-9]+]] personality ptr @__hwasan_personality_thunk !dbg [[DBG8:![0-9]+]] {
; ZERO-BASED-SHADOW-NEXT: entry:
-; ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = call ptr @llvm.frameaddress.p0(i32 0)
; ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = ptrtoint ptr [[TMP0]] to i64
; ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = lshr i64 [[TMP1]], 20
@@ -160,7 +160,7 @@ declare void @llvm.dbg.value(metadata, metadata, metadata)
;.
; DYNAMIC-SHADOW: [[META0]] = !{ptr @hwasan.note}
; DYNAMIC-SHADOW: [[META1:![0-9]+]] = distinct !DICompileUnit(language: DW_LANG_C_plus_plus_14, file: [[META2:![0-9]+]], producer: "{{.*}}clang version {{.*}}", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: [[META3:![0-9]+]], splitDebugInlining: false, nameTableKind: None)
-; DYNAMIC-SHADOW: [[META2]] = !DIFile(filename: "alloca.cpp", directory: {{.*}})
+; DYNAMIC-SHADOW: [[META2]] = !DIFile(filename: "{{.*}}alloca.cpp", directory: {{.*}})
; DYNAMIC-SHADOW: [[META3]] = !{}
; DYNAMIC-SHADOW: [[META4:![0-9]+]] = !{i32 7, !"Dwarf Version", i32 4}
; DYNAMIC-SHADOW: [[META5:![0-9]+]] = !{i32 2, !"Debug Info Version", i32 3}
@@ -177,7 +177,7 @@ declare void @llvm.dbg.value(metadata, metadata, metadata)
;.
; ZERO-BASED-SHADOW: [[META0]] = !{ptr @hwasan.note}
; ZERO-BASED-SHADOW: [[META1:![0-9]+]] = distinct !DICompileUnit(language: DW_LANG_C_plus_plus_14, file: [[META2:![0-9]+]], producer: "{{.*}}clang version {{.*}}", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: [[META3:![0-9]+]], splitDebugInlining: false, nameTableKind: None)
-; ZERO-BASED-SHADOW: [[META2]] = !DIFile(filename: "alloca.cpp", directory: {{.*}})
+; ZERO-BASED-SHADOW: [[META2]] = !DIFile(filename: "{{.*}}alloca.cpp", directory: {{.*}})
; ZERO-BASED-SHADOW: [[META3]] = !{}
; ZERO-BASED-SHADOW: [[META4:![0-9]+]] = !{i32 7, !"Dwarf Version", i32 4}
; ZERO-BASED-SHADOW: [[META5:![0-9]+]] = !{i32 2, !"Debug Info Version", i32 3}
diff --git a/llvm/test/Instrumentation/HWAddressSanitizer/basic.ll b/llvm/test/Instrumentation/HWAddressSanitizer/basic.ll
index 355e3b94978b3..b8bc6a9e0cd3c 100644
--- a/llvm/test/Instrumentation/HWAddressSanitizer/basic.ll
+++ b/llvm/test/Instrumentation/HWAddressSanitizer/basic.ll
@@ -98,7 +98,7 @@ define i8 @test_load8(ptr %a) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define i8 @test_load8
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0:[0-9]+]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: call void @llvm.hwasan.check.memaccess.shortgranules.fixedshadow(ptr [[A]], i32 0, i64 0)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[B:%.*]] = load i8, ptr [[A]], align 4
; ABORT-ZERO-BASED-SHADOW-NEXT: ret i8 [[B]]
@@ -106,7 +106,7 @@ define i8 @test_load8(ptr %a) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define i8 @test_load8
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0:[0-9]+]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -230,7 +230,7 @@ define i16 @test_load16(ptr %a) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define i16 @test_load16
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: call void @llvm.hwasan.check.memaccess.shortgranules.fixedshadow(ptr [[A]], i32 1, i64 0)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[B:%.*]] = load i16, ptr [[A]], align 4
; ABORT-ZERO-BASED-SHADOW-NEXT: ret i16 [[B]]
@@ -238,7 +238,7 @@ define i16 @test_load16(ptr %a) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define i16 @test_load16
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -362,7 +362,7 @@ define i32 @test_load32(ptr %a) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define i32 @test_load32
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: call void @llvm.hwasan.check.memaccess.shortgranules.fixedshadow(ptr [[A]], i32 2, i64 0)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[B:%.*]] = load i32, ptr [[A]], align 4
; ABORT-ZERO-BASED-SHADOW-NEXT: ret i32 [[B]]
@@ -370,7 +370,7 @@ define i32 @test_load32(ptr %a) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define i32 @test_load32
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -494,7 +494,7 @@ define i64 @test_load64(ptr %a) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define i64 @test_load64
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: call void @llvm.hwasan.check.memaccess.shortgranules.fixedshadow(ptr [[A]], i32 3, i64 0)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[B:%.*]] = load i64, ptr [[A]], align 8
; ABORT-ZERO-BASED-SHADOW-NEXT: ret i64 [[B]]
@@ -502,7 +502,7 @@ define i64 @test_load64(ptr %a) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define i64 @test_load64
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -626,7 +626,7 @@ define i128 @test_load128(ptr %a) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define i128 @test_load128
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: call void @llvm.hwasan.check.memaccess.shortgranules.fixedshadow(ptr [[A]], i32 4, i64 0)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[B:%.*]] = load i128, ptr [[A]], align 16
; ABORT-ZERO-BASED-SHADOW-NEXT: ret i128 [[B]]
@@ -634,7 +634,7 @@ define i128 @test_load128(ptr %a) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define i128 @test_load128
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -722,7 +722,7 @@ define i40 @test_load40(ptr %a) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define i40 @test_load40
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-ZERO-BASED-SHADOW-NEXT: call void @__hwasan_loadN(i64 [[TMP0]], i64 5)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[B:%.*]] = load i40, ptr [[A]], align 4
@@ -731,7 +731,7 @@ define i40 @test_load40(ptr %a) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define i40 @test_load40
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: call void @__hwasan_loadN_noabort(i64 [[TMP0]], i64 5)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[B:%.*]] = load i40, ptr [[A]], align 4
@@ -827,7 +827,7 @@ define void @test_store8(ptr %a, i8 %b) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define void @test_store8
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i8 [[B:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: call void @llvm.hwasan.check.memaccess.shortgranules.fixedshadow(ptr [[A]], i32 16, i64 0)
; ABORT-ZERO-BASED-SHADOW-NEXT: store i8 [[B]], ptr [[A]], align 4
; ABORT-ZERO-BASED-SHADOW-NEXT: ret void
@@ -835,7 +835,7 @@ define void @test_store8(ptr %a, i8 %b) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define void @test_store8
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i8 [[B:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -959,7 +959,7 @@ define void @test_store16(ptr %a, i16 %b) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define void @test_store16
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i16 [[B:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: call void @llvm.hwasan.check.memaccess.shortgranules.fixedshadow(ptr [[A]], i32 17, i64 0)
; ABORT-ZERO-BASED-SHADOW-NEXT: store i16 [[B]], ptr [[A]], align 4
; ABORT-ZERO-BASED-SHADOW-NEXT: ret void
@@ -967,7 +967,7 @@ define void @test_store16(ptr %a, i16 %b) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define void @test_store16
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i16 [[B:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -1091,7 +1091,7 @@ define void @test_store32(ptr %a, i32 %b) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define void @test_store32
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i32 [[B:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: call void @llvm.hwasan.check.memaccess.shortgranules.fixedshadow(ptr [[A]], i32 18, i64 0)
; ABORT-ZERO-BASED-SHADOW-NEXT: store i32 [[B]], ptr [[A]], align 4
; ABORT-ZERO-BASED-SHADOW-NEXT: ret void
@@ -1099,7 +1099,7 @@ define void @test_store32(ptr %a, i32 %b) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define void @test_store32
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i32 [[B:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -1223,7 +1223,7 @@ define void @test_store64(ptr %a, i64 %b) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define void @test_store64
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i64 [[B:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: call void @llvm.hwasan.check.memaccess.shortgranules.fixedshadow(ptr [[A]], i32 19, i64 0)
; ABORT-ZERO-BASED-SHADOW-NEXT: store i64 [[B]], ptr [[A]], align 8
; ABORT-ZERO-BASED-SHADOW-NEXT: ret void
@@ -1231,7 +1231,7 @@ define void @test_store64(ptr %a, i64 %b) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define void @test_store64
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i64 [[B:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -1355,7 +1355,7 @@ define void @test_store128(ptr %a, i128 %b) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define void @test_store128
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i128 [[B:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: call void @llvm.hwasan.check.memaccess.shortgranules.fixedshadow(ptr [[A]], i32 20, i64 0)
; ABORT-ZERO-BASED-SHADOW-NEXT: store i128 [[B]], ptr [[A]], align 16
; ABORT-ZERO-BASED-SHADOW-NEXT: ret void
@@ -1363,7 +1363,7 @@ define void @test_store128(ptr %a, i128 %b) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define void @test_store128
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i128 [[B:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP1:%.*]] = lshr i64 [[TMP0]], 56
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP2:%.*]] = trunc i64 [[TMP1]] to i8
@@ -1451,7 +1451,7 @@ define void @test_store40(ptr %a, i40 %b) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define void @test_store40
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i40 [[B:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-ZERO-BASED-SHADOW-NEXT: call void @__hwasan_storeN(i64 [[TMP0]], i64 5)
; ABORT-ZERO-BASED-SHADOW-NEXT: store i40 [[B]], ptr [[A]], align 4
@@ -1460,7 +1460,7 @@ define void @test_store40(ptr %a, i40 %b) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define void @test_store40
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i40 [[B:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: call void @__hwasan_storeN_noabort(i64 [[TMP0]], i64 5)
; RECOVER-ZERO-BASED-SHADOW-NEXT: store i40 [[B]], ptr [[A]], align 4
@@ -1520,7 +1520,7 @@ define void @test_store_unaligned(ptr %a, i64 %b) sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define void @test_store_unaligned
; ABORT-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i64 [[B:%.*]]) #[[ATTR0]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; ABORT-ZERO-BASED-SHADOW-NEXT: call void @__hwasan_storeN(i64 [[TMP0]], i64 8)
; ABORT-ZERO-BASED-SHADOW-NEXT: store i64 [[B]], ptr [[A]], align 4
@@ -1529,7 +1529,7 @@ define void @test_store_unaligned(ptr %a, i64 %b) sanitize_hwaddress {
; RECOVER-ZERO-BASED-SHADOW-LABEL: define void @test_store_unaligned
; RECOVER-ZERO-BASED-SHADOW-SAME: (ptr [[A:%.*]], i64 [[B:%.*]]) #[[ATTR0]] {
; RECOVER-ZERO-BASED-SHADOW-NEXT: entry:
-; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; RECOVER-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; RECOVER-ZERO-BASED-SHADOW-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; RECOVER-ZERO-BASED-SHADOW-NEXT: call void @__hwasan_storeN_noabort(i64 [[TMP0]], i64 8)
; RECOVER-ZERO-BASED-SHADOW-NEXT: store i64 [[B]], ptr [[A]], align 4
diff --git a/llvm/test/Instrumentation/HWAddressSanitizer/hwasan-pass-second-run.ll b/llvm/test/Instrumentation/HWAddressSanitizer/hwasan-pass-second-run.ll
index 00614b603fe79..be28e2478016a 100644
--- a/llvm/test/Instrumentation/HWAddressSanitizer/hwasan-pass-second-run.ll
+++ b/llvm/test/Instrumentation/HWAddressSanitizer/hwasan-pass-second-run.ll
@@ -22,7 +22,7 @@ define i8 @test_load8(ptr %a) sanitize_hwaddress {
; CHECK-LABEL: define i8 @test_load8
; CHECK-SAME: (ptr [[A:%.*]]) #[[ATTR0:[0-9]+]] {
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; CHECK-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[A]] to i64
; CHECK-NEXT: call void @__hwasan_load1(i64 [[TMP0]])
; CHECK-NEXT: [[B:%.*]] = load i8, ptr [[A]], align 4
diff --git a/llvm/test/Instrumentation/HWAddressSanitizer/kernel-alloca.ll b/llvm/test/Instrumentation/HWAddressSanitizer/kernel-alloca.ll
index 7652587ce4ec0..b9fcb86fbf127 100644
--- a/llvm/test/Instrumentation/HWAddressSanitizer/kernel-alloca.ll
+++ b/llvm/test/Instrumentation/HWAddressSanitizer/kernel-alloca.ll
@@ -12,7 +12,7 @@ define void @test_alloca() sanitize_hwaddress {
; CHECK-LABEL: define void @test_alloca
; CHECK-SAME: () #[[ATTR0:[0-9]+]] {
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; CHECK-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; CHECK-NEXT: [[TMP0:%.*]] = call ptr @llvm.frameaddress.p0(i32 0)
; CHECK-NEXT: [[TMP1:%.*]] = ptrtoint ptr [[TMP0]] to i64
; CHECK-NEXT: [[TMP2:%.*]] = lshr i64 [[TMP1]], 20
diff --git a/llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll b/llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
index 4e7c021bd7f97..9fb0ceb593aec 100644
--- a/llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
+++ b/llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
@@ -61,7 +61,7 @@ define i32 @test_load(ptr %a) sanitize_hwaddress {
; FUCHSIA-LABEL: define i32 @test_load
; FUCHSIA-SAME: (ptr [[A:%.*]]) #[[ATTR0:[0-9]+]] {
; FUCHSIA-NEXT: entry:
-; FUCHSIA-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; FUCHSIA-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; FUCHSIA-NEXT: call void @llvm.hwasan.check.memaccess.shortgranules.fixedshadow(ptr [[A]], i32 2, i64 0)
; FUCHSIA-NEXT: [[X:%.*]] = load i32, ptr [[A]], align 4
; FUCHSIA-NEXT: ret i32 [[X]]
@@ -69,7 +69,7 @@ define i32 @test_load(ptr %a) sanitize_hwaddress {
; FUCHSIA-LIBCALL-LABEL: define i32 @test_load
; FUCHSIA-LIBCALL-SAME: (ptr [[A:%.*]]) #[[ATTR0:[0-9]+]] {
; FUCHSIA-LIBCALL-NEXT: entry:
-; FUCHSIA-LIBCALL-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; FUCHSIA-LIBCALL-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; FUCHSIA-LIBCALL-NEXT: call void @llvm.hwasan.check.memaccess.shortgranules.fixedshadow(ptr [[A]], i32 2, i64 0)
; FUCHSIA-LIBCALL-NEXT: [[X:%.*]] = load i32, ptr [[A]], align 4
; FUCHSIA-LIBCALL-NEXT: ret i32 [[X]]
@@ -92,7 +92,7 @@ define void @test_alloca() sanitize_hwaddress {
; CHECK-NEXT: [[TMP1:%.*]] = getelementptr i8, ptr [[TMP0]], i32 48
; CHECK-NEXT: [[TMP2:%.*]] = load i64, ptr [[TMP1]], align 8
; CHECK-NEXT: [[TMP3:%.*]] = ashr i64 [[TMP2]], 3
-; CHECK-NEXT: [[TMP4:%.*]] = call i64 @llvm.read_register.i64(metadata [[META1:![0-9]+]])
+; CHECK-NEXT: [[TMP4:%.*]] = call i64 @llvm.read_register.i64(metadata [[META2:![0-9]+]])
; CHECK-NEXT: [[TMP5:%.*]] = call ptr @llvm.frameaddress.p0(i32 0)
; CHECK-NEXT: [[TMP6:%.*]] = ptrtoint ptr [[TMP5]] to i64
; CHECK-NEXT: [[TMP7:%.*]] = shl i64 [[TMP6]], 44
@@ -138,7 +138,7 @@ define void @test_alloca() sanitize_hwaddress {
; NOIFUNC-TLS-HISTORY-NEXT: [[TMP1:%.*]] = getelementptr i8, ptr [[TMP0]], i32 48
; NOIFUNC-TLS-HISTORY-NEXT: [[TMP2:%.*]] = load i64, ptr [[TMP1]], align 8
; NOIFUNC-TLS-HISTORY-NEXT: [[TMP3:%.*]] = ashr i64 [[TMP2]], 3
-; NOIFUNC-TLS-HISTORY-NEXT: [[TMP4:%.*]] = call i64 @llvm.read_register.i64(metadata [[META1:![0-9]+]])
+; NOIFUNC-TLS-HISTORY-NEXT: [[TMP4:%.*]] = call i64 @llvm.read_register.i64(metadata [[META2:![0-9]+]])
; NOIFUNC-TLS-HISTORY-NEXT: [[TMP5:%.*]] = call ptr @llvm.frameaddress.p0(i32 0)
; NOIFUNC-TLS-HISTORY-NEXT: [[TMP6:%.*]] = ptrtoint ptr [[TMP5]] to i64
; NOIFUNC-TLS-HISTORY-NEXT: [[TMP7:%.*]] = shl i64 [[TMP6]], 44
@@ -273,10 +273,10 @@ define void @test_alloca() sanitize_hwaddress {
; FUCHSIA-LABEL: define void @test_alloca
; FUCHSIA-SAME: () #[[ATTR0]] personality ptr @__hwasan_personality_thunk {
; FUCHSIA-NEXT: entry:
-; FUCHSIA-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; FUCHSIA-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; FUCHSIA-NEXT: [[TMP0:%.*]] = load i64, ptr @__hwasan_tls, align 8
; FUCHSIA-NEXT: [[TMP1:%.*]] = ashr i64 [[TMP0]], 3
-; FUCHSIA-NEXT: [[TMP2:%.*]] = call i64 @llvm.read_register.i64(metadata [[META1:![0-9]+]])
+; FUCHSIA-NEXT: [[TMP2:%.*]] = call i64 @llvm.read_register.i64(metadata [[META2:![0-9]+]])
; FUCHSIA-NEXT: [[TMP3:%.*]] = call ptr @llvm.frameaddress.p0(i32 0)
; FUCHSIA-NEXT: [[TMP4:%.*]] = ptrtoint ptr [[TMP3]] to i64
; FUCHSIA-NEXT: [[TMP5:%.*]] = shl i64 [[TMP4]], 44
@@ -318,8 +318,8 @@ define void @test_alloca() sanitize_hwaddress {
; FUCHSIA-LIBCALL-LABEL: define void @test_alloca
; FUCHSIA-LIBCALL-SAME: () #[[ATTR0]] personality ptr @__hwasan_personality_thunk {
; FUCHSIA-LIBCALL-NEXT: entry:
-; FUCHSIA-LIBCALL-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
-; FUCHSIA-LIBCALL-NEXT: [[TMP0:%.*]] = call i64 @llvm.read_register.i64(metadata [[META1:![0-9]+]])
+; FUCHSIA-LIBCALL-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
+; FUCHSIA-LIBCALL-NEXT: [[TMP0:%.*]] = call i64 @llvm.read_register.i64(metadata [[META2:![0-9]+]])
; FUCHSIA-LIBCALL-NEXT: [[TMP1:%.*]] = call ptr @llvm.frameaddress.p0(i32 0)
; FUCHSIA-LIBCALL-NEXT: [[TMP2:%.*]] = ptrtoint ptr [[TMP1]] to i64
; FUCHSIA-LIBCALL-NEXT: [[TMP3:%.*]] = shl i64 [[TMP2]], 44
diff --git a/llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll b/llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll
index af6411a541e9a..3c480dd590696 100644
--- a/llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll
+++ b/llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll
@@ -3,7 +3,7 @@
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64-unknown-linux-android29"
- at stackbuf = dso_local local_unnamed_addr global ptr null, align 8
+ at stackbuf = dso_local local_unnamed_addr global ptr zeroinitializer, align 8
@jbuf = dso_local global [32 x i64] zeroinitializer, align 8
declare void @may_jump()
diff --git a/llvm/test/Instrumentation/HWAddressSanitizer/zero-ptr.ll b/llvm/test/Instrumentation/HWAddressSanitizer/zero-ptr.ll
index 95cf6f1544df0..0a03adc772425 100644
--- a/llvm/test/Instrumentation/HWAddressSanitizer/zero-ptr.ll
+++ b/llvm/test/Instrumentation/HWAddressSanitizer/zero-ptr.ll
@@ -21,7 +21,7 @@ define void @test_store_to_zeroptr() sanitize_hwaddress {
; ABORT-ZERO-BASED-SHADOW-LABEL: define void @test_store_to_zeroptr
; ABORT-ZERO-BASED-SHADOW-SAME: () #[[ATTR0:[0-9]+]] {
; ABORT-ZERO-BASED-SHADOW-NEXT: entry:
-; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr null)
+; ABORT-ZERO-BASED-SHADOW-NEXT: [[DOTHWASAN_SHADOW:%.*]] = call ptr asm "", "=r,0"(ptr zeroinitializer)
; ABORT-ZERO-BASED-SHADOW-NEXT: [[B:%.*]] = inttoptr i64 0 to ptr
; ABORT-ZERO-BASED-SHADOW-NEXT: store i64 42, ptr [[B]], align 8
; ABORT-ZERO-BASED-SHADOW-NEXT: ret void
diff --git a/llvm/test/Instrumentation/MemorySanitizer/SystemZ/vararg.ll b/llvm/test/Instrumentation/MemorySanitizer/SystemZ/vararg.ll
index 91b21ea9c37ad..da7d37361e9ad 100644
--- a/llvm/test/Instrumentation/MemorySanitizer/SystemZ/vararg.ll
+++ b/llvm/test/Instrumentation/MemorySanitizer/SystemZ/vararg.ll
@@ -203,7 +203,7 @@ define i64 @bar_128() {
; void (*ptr)(int, ...);
; void call_ptr(void) { ptr(0); }
- at ptr = dso_local global ptr null, align 8
+ at ptr = dso_local global ptr zeroinitializer, align 8
define dso_local void @call_ptr() {
%1 = load ptr, ptr @ptr, align 8
diff --git a/llvm/test/Instrumentation/MemorySanitizer/msan_asm_conservative.ll b/llvm/test/Instrumentation/MemorySanitizer/msan_asm_conservative.ll
index 1b9ffaf9e505a..2a572dcda8a5f 100644
--- a/llvm/test/Instrumentation/MemorySanitizer/msan_asm_conservative.ll
+++ b/llvm/test/Instrumentation/MemorySanitizer/msan_asm_conservative.ll
@@ -19,10 +19,10 @@ target triple = "x86_64-unknown-linux-gnu"
@pair1 = common dso_local global %struct.pair zeroinitializer, align 4
@c2 = common dso_local global i8 0, align 1
@c1 = common dso_local global i8 0, align 1
- at memcpy_d1 = common dso_local global ptr null, align 8
- at memcpy_d2 = common dso_local global ptr null, align 8
- at memcpy_s1 = common dso_local global ptr null, align 8
- at memcpy_s2 = common dso_local global ptr null, align 8
+ at memcpy_d1 = common dso_local global ptr zeroinitializer, align 8
+ at memcpy_d2 = common dso_local global ptr zeroinitializer, align 8
+ at memcpy_s1 = common dso_local global ptr zeroinitializer, align 8
+ at memcpy_s2 = common dso_local global ptr zeroinitializer, align 8
@large = common dso_local global %struct.pair zeroinitializer, align 4
; The functions below were generated from a C source that contains declarations like follows:
diff --git a/llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll b/llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll
index 0ad9e4dd32adf..41748ee40c9c5 100644
--- a/llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll
+++ b/llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll
@@ -356,7 +356,7 @@ define void @FuncWithPhi(ptr nocapture %a, ptr %b, ptr nocapture %c) nounwind uw
; CHECK-NEXT: [[TMP0:%.*]] = load i64, ptr getelementptr (i8, ptr @__msan_param_tls, i64 8), align 8
; CHECK-NEXT: call void @llvm.donothing()
; CHECK-NEXT: [[TMP1:%.*]] = ptrtoint ptr [[B]] to i64
-; CHECK-NEXT: [[TMP2:%.*]] = xor i64 [[TMP1]], 0
+; CHECK-NEXT: [[TMP2:%.*]] = xor i64 [[TMP1]], ptrtoint (ptr null to i64)
; CHECK-NEXT: [[TMP3:%.*]] = or i64 [[TMP0]], 0
; CHECK-NEXT: [[TMP4:%.*]] = icmp ne i64 [[TMP3]], 0
; CHECK-NEXT: [[TMP5:%.*]] = xor i64 [[TMP3]], -1
@@ -401,7 +401,7 @@ define void @FuncWithPhi(ptr nocapture %a, ptr %b, ptr nocapture %c) nounwind uw
; ORIGIN-NEXT: [[TMP1:%.*]] = load i32, ptr getelementptr (i8, ptr @__msan_param_origin_tls, i64 8), align 4
; ORIGIN-NEXT: call void @llvm.donothing()
; ORIGIN-NEXT: [[TMP2:%.*]] = ptrtoint ptr [[B]] to i64
-; ORIGIN-NEXT: [[TMP3:%.*]] = xor i64 [[TMP2]], 0
+; ORIGIN-NEXT: [[TMP3:%.*]] = xor i64 [[TMP2]], ptrtoint (ptr null to i64)
; ORIGIN-NEXT: [[TMP4:%.*]] = or i64 [[TMP0]], 0
; ORIGIN-NEXT: [[TMP5:%.*]] = icmp ne i64 [[TMP4]], 0
; ORIGIN-NEXT: [[TMP6:%.*]] = xor i64 [[TMP4]], -1
@@ -465,7 +465,7 @@ define void @FuncWithPhi(ptr nocapture %a, ptr %b, ptr nocapture %c) nounwind uw
; CALLS-NEXT: [[TMP5:%.*]] = load i32, ptr @__msan_param_origin_tls, align 4
; CALLS-NEXT: call void @llvm.donothing()
; CALLS-NEXT: [[TMP6:%.*]] = ptrtoint ptr [[B]] to i64
-; CALLS-NEXT: [[TMP7:%.*]] = xor i64 [[TMP6]], 0
+; CALLS-NEXT: [[TMP7:%.*]] = xor i64 [[TMP6]], ptrtoint (ptr null to i64)
; CALLS-NEXT: [[TMP8:%.*]] = or i64 [[TMP0]], 0
; CALLS-NEXT: [[TMP9:%.*]] = icmp ne i64 [[TMP8]], 0
; CALLS-NEXT: [[TMP10:%.*]] = xor i64 [[TMP8]], -1
@@ -2090,8 +2090,8 @@ define <2 x i1> @ICmpSLT_vector_Zero(<2 x ptr> %x) nounwind uwtable readnone san
; CHECK-NEXT: [[TMP4:%.*]] = xor <2 x i64> [[TMP1]], splat (i64 -1)
; CHECK-NEXT: [[TMP5:%.*]] = and <2 x i64> [[TMP3]], [[TMP4]]
; CHECK-NEXT: [[TMP6:%.*]] = or <2 x i64> [[TMP3]], [[TMP1]]
-; CHECK-NEXT: [[TMP9:%.*]] = icmp ult <2 x i64> [[TMP5]], splat (i64 -9223372036854775808)
-; CHECK-NEXT: [[TMP16:%.*]] = icmp ult <2 x i64> [[TMP6]], splat (i64 -9223372036854775808)
+; CHECK-NEXT: [[TMP9:%.*]] = icmp ult <2 x i64> [[TMP5]], <i64 xor (i64 extractelement (<2 x i64> ptrtoint (<2 x ptr> zeroinitializer to <2 x i64>), i32 0), i64 -9223372036854775808), i64 xor (i64 extractelement (<2 x i64> ptrtoint (<2 x ptr> zeroinitializer to <2 x i64>), i32 1), i64 -9223372036854775808)>
+; CHECK-NEXT: [[TMP16:%.*]] = icmp ult <2 x i64> [[TMP6]], <i64 xor (i64 extractelement (<2 x i64> ptrtoint (<2 x ptr> zeroinitializer to <2 x i64>), i32 0), i64 -9223372036854775808), i64 xor (i64 extractelement (<2 x i64> ptrtoint (<2 x ptr> zeroinitializer to <2 x i64>), i32 1), i64 -9223372036854775808)>
; CHECK-NEXT: [[TMP17:%.*]] = xor <2 x i1> [[TMP9]], [[TMP16]]
; CHECK-NEXT: [[TMP18:%.*]] = icmp slt <2 x ptr> [[X]], zeroinitializer
; CHECK-NEXT: store <2 x i1> [[TMP17]], ptr @__msan_retval_tls, align 8
@@ -2107,8 +2107,8 @@ define <2 x i1> @ICmpSLT_vector_Zero(<2 x ptr> %x) nounwind uwtable readnone san
; ORIGIN-NEXT: [[TMP5:%.*]] = xor <2 x i64> [[TMP1]], splat (i64 -1)
; ORIGIN-NEXT: [[TMP6:%.*]] = and <2 x i64> [[TMP4]], [[TMP5]]
; ORIGIN-NEXT: [[TMP7:%.*]] = or <2 x i64> [[TMP4]], [[TMP1]]
-; ORIGIN-NEXT: [[TMP10:%.*]] = icmp ult <2 x i64> [[TMP6]], splat (i64 -9223372036854775808)
-; ORIGIN-NEXT: [[TMP17:%.*]] = icmp ult <2 x i64> [[TMP7]], splat (i64 -9223372036854775808)
+; ORIGIN-NEXT: [[TMP10:%.*]] = icmp ult <2 x i64> [[TMP6]], <i64 xor (i64 extractelement (<2 x i64> ptrtoint (<2 x ptr> zeroinitializer to <2 x i64>), i32 0), i64 -9223372036854775808), i64 xor (i64 extractelement (<2 x i64> ptrtoint (<2 x ptr> zeroinitializer to <2 x i64>), i32 1), i64 -9223372036854775808)>
+; ORIGIN-NEXT: [[TMP17:%.*]] = icmp ult <2 x i64> [[TMP7]], <i64 xor (i64 extractelement (<2 x i64> ptrtoint (<2 x ptr> zeroinitializer to <2 x i64>), i32 0), i64 -9223372036854775808), i64 xor (i64 extractelement (<2 x i64> ptrtoint (<2 x ptr> zeroinitializer to <2 x i64>), i32 1), i64 -9223372036854775808)>
; ORIGIN-NEXT: [[TMP18:%.*]] = xor <2 x i1> [[TMP10]], [[TMP17]]
; ORIGIN-NEXT: [[TMP19:%.*]] = icmp slt <2 x ptr> [[X]], zeroinitializer
; ORIGIN-NEXT: store <2 x i1> [[TMP18]], ptr @__msan_retval_tls, align 8
@@ -2125,8 +2125,8 @@ define <2 x i1> @ICmpSLT_vector_Zero(<2 x ptr> %x) nounwind uwtable readnone san
; CALLS-NEXT: [[TMP5:%.*]] = xor <2 x i64> [[TMP1]], splat (i64 -1)
; CALLS-NEXT: [[TMP6:%.*]] = and <2 x i64> [[TMP4]], [[TMP5]]
; CALLS-NEXT: [[TMP7:%.*]] = or <2 x i64> [[TMP4]], [[TMP1]]
-; CALLS-NEXT: [[TMP10:%.*]] = icmp ult <2 x i64> [[TMP6]], splat (i64 -9223372036854775808)
-; CALLS-NEXT: [[TMP17:%.*]] = icmp ult <2 x i64> [[TMP7]], splat (i64 -9223372036854775808)
+; CALLS-NEXT: [[TMP10:%.*]] = icmp ult <2 x i64> [[TMP6]], <i64 xor (i64 extractelement (<2 x i64> ptrtoint (<2 x ptr> zeroinitializer to <2 x i64>), i32 0), i64 -9223372036854775808), i64 xor (i64 extractelement (<2 x i64> ptrtoint (<2 x ptr> zeroinitializer to <2 x i64>), i32 1), i64 -9223372036854775808)>
+; CALLS-NEXT: [[TMP17:%.*]] = icmp ult <2 x i64> [[TMP7]], <i64 xor (i64 extractelement (<2 x i64> ptrtoint (<2 x ptr> zeroinitializer to <2 x i64>), i32 0), i64 -9223372036854775808), i64 xor (i64 extractelement (<2 x i64> ptrtoint (<2 x ptr> zeroinitializer to <2 x i64>), i32 1), i64 -9223372036854775808)>
; CALLS-NEXT: [[TMP18:%.*]] = xor <2 x i1> [[TMP10]], [[TMP17]]
; CALLS-NEXT: [[TMP19:%.*]] = icmp slt <2 x ptr> [[X]], zeroinitializer
; CALLS-NEXT: store <2 x i1> [[TMP18]], ptr @__msan_retval_tls, align 8
@@ -2746,7 +2746,7 @@ define void @VAStart(i32 %x, ...) sanitize_memory {
; CHECK-NEXT: [[TMP6:%.*]] = xor i64 [[TMP5]], 87960930222080
; CHECK-NEXT: [[TMP7:%.*]] = inttoptr i64 [[TMP6]] to ptr
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 4 [[TMP7]], i8 -1, i64 4, i1 false)
-; CHECK-NEXT: [[VA:%.*]] = alloca [1 x %struct.__va_list_tag], align 16
+; CHECK-NEXT: [[VA:%.*]] = alloca [1 x [[STRUCT___VA_LIST_TAG:%.*]]], align 16
; CHECK-NEXT: [[TMP8:%.*]] = ptrtoint ptr [[VA]] to i64
; CHECK-NEXT: [[TMP9:%.*]] = xor i64 [[TMP8]], 87960930222080
; CHECK-NEXT: [[TMP10:%.*]] = inttoptr i64 [[TMP9]] to ptr
@@ -2799,7 +2799,7 @@ define void @VAStart(i32 %x, ...) sanitize_memory {
; ORIGIN-NEXT: [[TMP12:%.*]] = inttoptr i64 [[TMP11]] to ptr
; ORIGIN-NEXT: call void @llvm.memset.p0.i64(ptr align 4 [[TMP9]], i8 -1, i64 4, i1 false)
; ORIGIN-NEXT: call void @__msan_set_alloca_origin_with_descr(ptr [[X_ADDR]], i64 4, ptr @[[GLOB4:[0-9]+]], ptr @[[GLOB5:[0-9]+]])
-; ORIGIN-NEXT: [[VA:%.*]] = alloca [1 x %struct.__va_list_tag], align 16
+; ORIGIN-NEXT: [[VA:%.*]] = alloca [1 x [[STRUCT___VA_LIST_TAG:%.*]]], align 16
; ORIGIN-NEXT: [[TMP13:%.*]] = ptrtoint ptr [[VA]] to i64
; ORIGIN-NEXT: [[TMP14:%.*]] = xor i64 [[TMP13]], 87960930222080
; ORIGIN-NEXT: [[TMP15:%.*]] = inttoptr i64 [[TMP14]] to ptr
@@ -2873,7 +2873,7 @@ define void @VAStart(i32 %x, ...) sanitize_memory {
; CALLS-NEXT: [[TMP12:%.*]] = inttoptr i64 [[TMP11]] to ptr
; CALLS-NEXT: call void @llvm.memset.p0.i64(ptr align 4 [[TMP9]], i8 -1, i64 4, i1 false)
; CALLS-NEXT: call void @__msan_set_alloca_origin_with_descr(ptr [[X_ADDR]], i64 4, ptr @[[GLOB4:[0-9]+]], ptr @[[GLOB5:[0-9]+]])
-; CALLS-NEXT: [[VA:%.*]] = alloca [1 x %struct.__va_list_tag], align 16
+; CALLS-NEXT: [[VA:%.*]] = alloca [1 x [[STRUCT___VA_LIST_TAG:%.*]]], align 16
; CALLS-NEXT: [[TMP13:%.*]] = ptrtoint ptr [[VA]] to i64
; CALLS-NEXT: [[TMP14:%.*]] = xor i64 [[TMP13]], 87960930222080
; CALLS-NEXT: [[TMP15:%.*]] = inttoptr i64 [[TMP14]] to ptr
diff --git a/llvm/test/Instrumentation/MemorySanitizer/mul_by_constant.ll b/llvm/test/Instrumentation/MemorySanitizer/mul_by_constant.ll
index 89522a603b238..009e7e2c058e6 100644
--- a/llvm/test/Instrumentation/MemorySanitizer/mul_by_constant.ll
+++ b/llvm/test/Instrumentation/MemorySanitizer/mul_by_constant.ll
@@ -95,7 +95,7 @@ entry:
; The constant in multiplication does not have to be a literal integer constant.
- at X = linkonce_odr global ptr null
+ at X = linkonce_odr global ptr zeroinitializer
define i64 @MulNonIntegerConst(i64 %a) sanitize_memory {
%mul = mul i64 %a, ptrtoint (ptr @X to i64)
ret i64 %mul
diff --git a/llvm/test/Instrumentation/SanitizerBinaryMetadata/shared-mutable.ll b/llvm/test/Instrumentation/SanitizerBinaryMetadata/shared-mutable.ll
index b47b2e1055bfb..d899adf5aa7e6 100644
--- a/llvm/test/Instrumentation/SanitizerBinaryMetadata/shared-mutable.ll
+++ b/llvm/test/Instrumentation/SanitizerBinaryMetadata/shared-mutable.ll
@@ -6,7 +6,7 @@ target triple = "x86_64-unknown-linux-gnu"
declare void @escape(ptr)
- at sink = global ptr null, align 4
+ at sink = global ptr zeroinitializer, align 4
@const_global = external constant i32
@non_const_global = global i32 0, align 4
@const_global_array = external constant [10 x i32]
diff --git a/llvm/test/Instrumentation/ThreadSanitizer/capture-no-omit.ll b/llvm/test/Instrumentation/ThreadSanitizer/capture-no-omit.ll
index cae04936002cd..577fb44f28001 100644
--- a/llvm/test/Instrumentation/ThreadSanitizer/capture-no-omit.ll
+++ b/llvm/test/Instrumentation/ThreadSanitizer/capture-no-omit.ll
@@ -4,7 +4,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
declare void @escape(ptr)
- at sink = global ptr null, align 4
+ at sink = global ptr zeroinitializer, align 4
define void @captured2() nounwind uwtable sanitize_thread {
diff --git a/llvm/test/Instrumentation/ThreadSanitizer/capture.ll b/llvm/test/Instrumentation/ThreadSanitizer/capture.ll
index 5083c790011c6..1fdccc78216a2 100644
--- a/llvm/test/Instrumentation/ThreadSanitizer/capture.ll
+++ b/llvm/test/Instrumentation/ThreadSanitizer/capture.ll
@@ -4,7 +4,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
declare void @escape(ptr)
- at sink = global ptr null, align 4
+ at sink = global ptr zeroinitializer, align 4
define void @captured0() nounwind uwtable sanitize_thread {
entry:
diff --git a/llvm/test/Instrumentation/TypeSanitizer/access-with-offset.ll b/llvm/test/Instrumentation/TypeSanitizer/access-with-offset.ll
index ecfdf77ab4813..12cdf3ab2db6c 100644
--- a/llvm/test/Instrumentation/TypeSanitizer/access-with-offset.ll
+++ b/llvm/test/Instrumentation/TypeSanitizer/access-with-offset.ll
@@ -36,7 +36,7 @@ define ptr @test_load_offset(ptr %argv) {
; CHECK-NEXT: [[ENTRY:.*:]]
; CHECK-NEXT: [[APP_MEM_MASK:%.*]] = load i64, ptr @__tysan_app_memory_mask, align 4
; CHECK-NEXT: [[SHADOW_BASE:%.*]] = load i64, ptr @__tysan_shadow_memory_address, align 4
-; CHECK-NEXT: [[APP_PTR_MASKED:%.*]] = and i64 0, [[APP_MEM_MASK]]
+; CHECK-NEXT: [[APP_PTR_MASKED:%.*]] = and i64 ptrtoint (ptr null to i64), [[APP_MEM_MASK]]
; CHECK-NEXT: [[APP_PTR_SHIFTED:%.*]] = shl i64 [[APP_PTR_MASKED]], 3
; CHECK-NEXT: [[SHADOW_PTR_INT:%.*]] = add i64 [[APP_PTR_SHIFTED]], [[SHADOW_BASE]]
; CHECK-NEXT: [[SHADOW_PTR:%.*]] = inttoptr i64 [[SHADOW_PTR_INT]] to ptr
diff --git a/llvm/test/Instrumentation/cgprofile.ll b/llvm/test/Instrumentation/cgprofile.ll
index 72d10f6754c48..4bfd901a3809d 100644
--- a/llvm/test/Instrumentation/cgprofile.ll
+++ b/llvm/test/Instrumentation/cgprofile.ll
@@ -12,7 +12,7 @@ define void @func3.llvm.12345() !PGOFuncName !4 {
ret void
}
- at foo = common global ptr null, align 8
+ at foo = common global ptr zeroinitializer, align 8
declare i32 @func1()
declare i32 @func2()
diff --git a/llvm/test/LTO/X86/Inputs/type-mapping-src.ll b/llvm/test/LTO/X86/Inputs/type-mapping-src.ll
index ab862308b1cbe..b3799113fde98 100644
--- a/llvm/test/LTO/X86/Inputs/type-mapping-src.ll
+++ b/llvm/test/LTO/X86/Inputs/type-mapping-src.ll
@@ -5,7 +5,7 @@ target triple = "x86_64-pc-windows-msvc18.0.0"
%CommonStruct = type opaque
@x = external global %SrcType
- at bar = internal global ptr null, !dbg !0
+ at bar = internal global ptr zeroinitializer, !dbg !0
!llvm.dbg.cu = !{!2}
!llvm.module.flags = !{!8}
diff --git a/llvm/test/LTO/X86/alloc-token-hot-cold-new.ll b/llvm/test/LTO/X86/alloc-token-hot-cold-new.ll
index 7f7a8e45b7da0..df4da79dafcb0 100644
--- a/llvm/test/LTO/X86/alloc-token-hot-cold-new.ll
+++ b/llvm/test/LTO/X86/alloc-token-hot-cold-new.ll
@@ -11,7 +11,7 @@ target triple = "x86_64-unknown-linux-gnu"
declare ptr @_Znwm(i64)
- at sink = global ptr null
+ at sink = global ptr zeroinitializer
; CHECK-LABEL: <main>:
; CHECK: callq
diff --git a/llvm/test/LTO/X86/alloc-token.ll b/llvm/test/LTO/X86/alloc-token.ll
index f9c921992c52e..66367e2c2b3ad 100644
--- a/llvm/test/LTO/X86/alloc-token.ll
+++ b/llvm/test/LTO/X86/alloc-token.ll
@@ -15,7 +15,7 @@ target triple = "x86_64-unknown-linux-gnu"
declare ptr @_Znwm(i64)
- at sink = global ptr null
+ at sink = global ptr zeroinitializer
; CHECK-LABEL: <main>:
; CHECK: callq
diff --git a/llvm/test/LTO/X86/type-mapping-bug.ll b/llvm/test/LTO/X86/type-mapping-bug.ll
index 426565e4583f7..d23010073421f 100644
--- a/llvm/test/LTO/X86/type-mapping-bug.ll
+++ b/llvm/test/LTO/X86/type-mapping-bug.ll
@@ -24,7 +24,7 @@ target triple = "x86_64-pc-windows-msvc18.0.0"
; a destination type. Since these types are not in the source module,
; there should be no attempt to create a mapping involving them;
; both types should be left as they are.
- at use = global ptr null
+ at use = global ptr zeroinitializer
; Mark %Tricky used.
!llvm.dbg.cu = !{!2}
diff --git a/llvm/test/Linker/2004-02-17-WeakStrongLinkage.ll b/llvm/test/Linker/2004-02-17-WeakStrongLinkage.ll
index 6fe8abc12b0dc..87f0589f320ee 100644
--- a/llvm/test/Linker/2004-02-17-WeakStrongLinkage.ll
+++ b/llvm/test/Linker/2004-02-17-WeakStrongLinkage.ll
@@ -1,7 +1,7 @@
; RUN: llvm-as < %s > %t.out2.bc
-; RUN: echo "@me = global ptr null" | llvm-as > %t.out1.bc
+; RUN: echo "@me = global ptr zeroinitializer" | llvm-as > %t.out1.bc
; RUN: llvm-link %t.out1.bc %t.out2.bc -o /dev/null
- at me = weak global ptr null ; <ptr> [#uses=0]
+ at me = weak global ptr zeroinitializer ; <ptr> [#uses=0]
diff --git a/llvm/test/Linker/Inputs/testlink.ll b/llvm/test/Linker/Inputs/testlink.ll
index ad72334e3fe04..acb1e2f922e96 100644
--- a/llvm/test/Linker/Inputs/testlink.ll
+++ b/llvm/test/Linker/Inputs/testlink.ll
@@ -28,7 +28,7 @@
; Provides definition of Struct1 and of S1GV.
%Struct1 = type { i32 }
- at S1GV = global ptr null
+ at S1GV = global ptr zeroinitializer
define i32 @foo(i32 %blah) {
store i32 %blah, ptr @MyVar
diff --git a/llvm/test/Linker/funcimport.ll b/llvm/test/Linker/funcimport.ll
index 3ca09c26cdab4..1416c8630be42 100644
--- a/llvm/test/Linker/funcimport.ll
+++ b/llvm/test/Linker/funcimport.ll
@@ -16,7 +16,7 @@
; EXPORTSTATIC-DAG: @staticvar.llvm.{{.*}} = hidden global
; Eventually @staticconstvar can be exported as a copy and not promoted
; EXPORTSTATIC-DAG: @staticconstvar.llvm.0 = hidden unnamed_addr constant
-; EXPORTSTATIC-DAG: @P.llvm.{{.*}} = hidden global ptr null
+; EXPORTSTATIC-DAG: @P.llvm.{{.*}} = hidden global ptr zeroinitializer
; EXPORTSTATIC-DAG: define hidden i32 @staticfunc.llvm.
; EXPORTSTATIC-DAG: define hidden void @staticfunc2.llvm.
@@ -107,7 +107,7 @@
@staticvar = internal global i32 1, align 4
@staticconstvar = internal unnamed_addr constant [2 x i32] [i32 10, i32 20], align 4
@commonvar = common global i32 0, align 4
- at P = internal global ptr null, align 8
+ at P = internal global ptr zeroinitializer, align 8
@weakalias = weak alias void (...), ptr @globalfunc1
@analias = alias void (...), ptr @globalfunc2
diff --git a/llvm/test/Linker/lto-attributes.ll b/llvm/test/Linker/lto-attributes.ll
index 8c2f994d3fb19..7ea902a8c84c4 100644
--- a/llvm/test/Linker/lto-attributes.ll
+++ b/llvm/test/Linker/lto-attributes.ll
@@ -1,7 +1,7 @@
; RUN: llvm-link -S %s -o - | FileCheck %s
-; CHECK-DAG: @foo = private externally_initialized global ptr null
- at foo = private externally_initialized global ptr null
+; CHECK-DAG: @foo = private externally_initialized global ptr zeroinitializer
+ at foo = private externally_initialized global ptr zeroinitializer
@useFoo = global ptr @foo
diff --git a/llvm/test/MC/AArch64/elf-globaladdress.ll b/llvm/test/MC/AArch64/elf-globaladdress.ll
index 7aa0e564abb88..2f84df26e9325 100644
--- a/llvm/test/MC/AArch64/elf-globaladdress.ll
+++ b/llvm/test/MC/AArch64/elf-globaladdress.ll
@@ -27,7 +27,7 @@ define dso_local void @loadstore() {
ret void
}
- at globaddr = dso_local global ptr null
+ at globaddr = dso_local global ptr zeroinitializer
define dso_local void @address() {
store ptr @var64, ptr @globaddr
diff --git a/llvm/test/MC/ELF/bss.ll b/llvm/test/MC/ELF/bss.ll
index 24a5673de2be4..17c30dbed37e6 100644
--- a/llvm/test/MC/ELF/bss.ll
+++ b/llvm/test/MC/ELF/bss.ll
@@ -4,5 +4,5 @@
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32"
target triple = "i386-pc-linux-gnu"
- at g0 = global ptr null, align 4 ; <ptr> [#uses=0]
+ at g0 = global ptr zeroinitializer, align 4 ; <ptr> [#uses=0]
diff --git a/llvm/test/MC/MachO/tlv-bss.ll b/llvm/test/MC/MachO/tlv-bss.ll
index 85a66607e71b2..820b37ba521bd 100644
--- a/llvm/test/MC/MachO/tlv-bss.ll
+++ b/llvm/test/MC/MachO/tlv-bss.ll
@@ -24,7 +24,7 @@
; return Tls<long>::val;
; }
- at _ZN3TlsIlE3valE = weak_odr thread_local global ptr null, align 8
+ at _ZN3TlsIlE3valE = weak_odr thread_local global ptr zeroinitializer, align 8
; Function Attrs: nounwind ssp uwtable
define ptr @_Z1fi(i32 %x) #0 {
diff --git a/llvm/test/MC/WebAssembly/bss.ll b/llvm/test/MC/WebAssembly/bss.ll
index 4f0c7c8525562..db39523f2f564 100644
--- a/llvm/test/MC/WebAssembly/bss.ll
+++ b/llvm/test/MC/WebAssembly/bss.ll
@@ -2,7 +2,7 @@
target triple = "wasm32-unknown-unknown"
- at g0 = global ptr null, align 4
+ at g0 = global ptr zeroinitializer, align 4
@g1 = global i32 0, align 4
%union.u1 = type {}
diff --git a/llvm/test/MC/X86/intel-syntax-var-offset.ll b/llvm/test/MC/X86/intel-syntax-var-offset.ll
index 1fd131c636d3a..dd1bfdaf58d84 100644
--- a/llvm/test/MC/X86/intel-syntax-var-offset.ll
+++ b/llvm/test/MC/X86/intel-syntax-var-offset.ll
@@ -30,12 +30,12 @@
; CHECK: mov rdx, offset X
; CHECK: mov qword ptr [PX], rdx
- at PZ = common dso_local global ptr null, align 8
+ at PZ = common dso_local global ptr zeroinitializer, align 8
@Z = common dso_local global [4 x i8] zeroinitializer, align 1
@X = common dso_local global [4 x i8] zeroinitializer, align 1
- at PX = common dso_local global ptr null, align 8
+ at PX = common dso_local global ptr zeroinitializer, align 8
@Y = common dso_local global [4 x i8] zeroinitializer, align 1
- at PY = common dso_local global ptr null, align 8
+ at PY = common dso_local global ptr zeroinitializer, align 8
define dso_local ptr @test057(i64 %x) {
entry:
diff --git a/llvm/test/Other/constant-fold-gep.ll b/llvm/test/Other/constant-fold-gep.ll
index 46bf49d8d5a4a..67f130e1a0be0 100644
--- a/llvm/test/Other/constant-fold-gep.ll
+++ b/llvm/test/Other/constant-fold-gep.ll
@@ -24,14 +24,14 @@
; PLAIN: @F1 = global ptr getelementptr (i1, ptr inttoptr (i32 1 to ptr), i32 -2)
; PLAIN: @H8 = global ptr getelementptr (i8, ptr null, i32 -1)
; PLAIN: @H1 = global ptr getelementptr (i1, ptr null, i32 -1)
-; OPT: @G8 = local_unnamed_addr global ptr null
-; OPT: @G1 = local_unnamed_addr global ptr null
+; OPT: @G8 = local_unnamed_addr global ptr zeroinitializer
+; OPT: @G1 = local_unnamed_addr global ptr zeroinitializer
; OPT: @F8 = local_unnamed_addr global ptr inttoptr (i64 -1 to ptr)
; OPT: @F1 = local_unnamed_addr global ptr inttoptr (i64 -1 to ptr)
; OPT: @H8 = local_unnamed_addr global ptr inttoptr (i64 -1 to ptr)
; OPT: @H1 = local_unnamed_addr global ptr inttoptr (i64 -1 to ptr)
-; TO: @G8 = local_unnamed_addr global ptr null
-; TO: @G1 = local_unnamed_addr global ptr null
+; TO: @G8 = local_unnamed_addr global ptr zeroinitializer
+; TO: @G1 = local_unnamed_addr global ptr zeroinitializer
; TO: @F8 = local_unnamed_addr global ptr inttoptr (i64 -1 to ptr)
; TO: @F1 = local_unnamed_addr global ptr inttoptr (i64 -1 to ptr)
; TO: @H8 = local_unnamed_addr global ptr inttoptr (i64 -1 to ptr)
diff --git a/llvm/test/ThinLTO/X86/Inputs/referenced_by_constant.ll b/llvm/test/ThinLTO/X86/Inputs/referenced_by_constant.ll
index 212de765e6127..8b05e2c0aa936 100644
--- a/llvm/test/ThinLTO/X86/Inputs/referenced_by_constant.ll
+++ b/llvm/test/ThinLTO/X86/Inputs/referenced_by_constant.ll
@@ -12,8 +12,8 @@ define internal void @localreferencedbyglobal() {
@someglobal = internal unnamed_addr constant ptr @referencedbyglobal
@someglobal2 = internal unnamed_addr constant ptr @localreferencedbyglobal
- at ptr = global ptr null
- at ptr2 = global ptr null
+ at ptr = global ptr zeroinitializer
+ at ptr2 = global ptr zeroinitializer
define void @bar() #0 align 2 {
store ptr @someglobal , ptr @ptr, align 8
diff --git a/llvm/test/ThinLTO/X86/funcimport.ll b/llvm/test/ThinLTO/X86/funcimport.ll
index 3f7941bb76488..2f8d21f09a226 100644
--- a/llvm/test/ThinLTO/X86/funcimport.ll
+++ b/llvm/test/ThinLTO/X86/funcimport.ll
@@ -12,7 +12,7 @@
; EXPORTSTATIC-DAG: @staticvar.llvm.0 = hidden global
; Eventually @staticconstvar can be exported as a copy and not promoted
; EXPORTSTATIC-DAG: @staticconstvar.llvm.0 = hidden unnamed_addr constant
-; EXPORTSTATIC-DAG: @P.llvm.0 = hidden global ptr null
+; EXPORTSTATIC-DAG: @P.llvm.0 = hidden global ptr zeroinitializer
; EXPORTSTATIC-DAG: define hidden i32 @staticfunc.llvm.0
; EXPORTSTATIC-DAG: define hidden void @staticfunc2.llvm.0
@@ -55,7 +55,7 @@ target triple = "x86_64-apple-macosx10.11.0"
@staticvar2 = internal global i32 1, align 4
@staticconstvar = internal unnamed_addr constant [2 x i32] [i32 10, i32 20], align 4
@commonvar = common global i32 0, align 4
- at P = internal global ptr null, align 8
+ at P = internal global ptr zeroinitializer, align 8
@weakalias = weak alias void (...), ptr @globalfunc1
@analias = alias void (...), ptr @globalfunc2
diff --git a/llvm/test/ThinLTO/X86/memprof_direct_recursion.ll b/llvm/test/ThinLTO/X86/memprof_direct_recursion.ll
index fc7d04fcf4d58..877ce738f741c 100644
--- a/llvm/test/ThinLTO/X86/memprof_direct_recursion.ll
+++ b/llvm/test/ThinLTO/X86/memprof_direct_recursion.ll
@@ -58,8 +58,8 @@
; IR: _Z3fooi
; IR: _Z3fooi.memprof.1
-; IR: "memprof"="notcold"
-; IR: "memprof"="cold"
+; IR: "memprof"="notcold"
+; IR: "memprof"="cold"
;--- b.ll
; ModuleID = 'b.cpp'
@@ -187,7 +187,7 @@ target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:
target triple = "x86_64-unknown-linux-gnu"
@b = dso_local local_unnamed_addr global i32 10, align 4
- at a = dso_local local_unnamed_addr global ptr null, align 8
+ at a = dso_local local_unnamed_addr global ptr zeroinitializer, align 8
; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main() local_unnamed_addr #0 !dbg !9 {
diff --git a/llvm/test/ThinLTO/X86/weak_externals.ll b/llvm/test/ThinLTO/X86/weak_externals.ll
index f206bd83fbee4..6179f3d206064 100644
--- a/llvm/test/ThinLTO/X86/weak_externals.ll
+++ b/llvm/test/ThinLTO/X86/weak_externals.ll
@@ -10,7 +10,7 @@
; RUN: llvm-dis %t.out.1.2.internalize.bc -o - | FileCheck %s --check-prefix=INTERNALIZE
; CHECK: @_ZZN9SingletonI1SE11getInstanceEvE8instance = available_externally dso_local global %struct.S zeroinitializer
-; CHECK: @_ZZN9SingletonI1SE11getInstanceEvE13instance_weak = available_externally dso_local global ptr null, align 8
+; CHECK: @_ZZN9SingletonI1SE11getInstanceEvE13instance_weak = available_externally dso_local global ptr zeroinitializer, align 8
;; We should not internalize a linkonce_odr function when the IR definition(s)
;; are not prevailing (prevailing def in native object). This can break function
@@ -32,7 +32,7 @@ $_ZZN9SingletonI1SE11getInstanceEvE13instance_weak = comdat any
@_ZZN9SingletonI1SE11getInstanceEvE8instance = linkonce_odr dso_local global %struct.S zeroinitializer, comdat, align 8
- at _ZZN9SingletonI1SE11getInstanceEvE13instance_weak = weak_odr dso_local global ptr null, comdat, align 8
+ at _ZZN9SingletonI1SE11getInstanceEvE13instance_weak = weak_odr dso_local global ptr zeroinitializer, comdat, align 8
define dso_local void @_ZL5initSv() {
%1 = call dereferenceable(16) ptr @_ZN9SingletonI1SE11getInstanceEv()
diff --git a/llvm/test/ThinLTO/X86/weak_resolution.ll b/llvm/test/ThinLTO/X86/weak_resolution.ll
index 15db40a65fcb8..ca6b205d6a6c1 100644
--- a/llvm/test/ThinLTO/X86/weak_resolution.ll
+++ b/llvm/test/ThinLTO/X86/weak_resolution.ll
@@ -58,9 +58,9 @@ target triple = "x86_64-apple-macosx10.11.0"
; MOD1-INT: @linkonceodrvarInSingleModule = internal global
; MOD1-INT: @weakodrvarInSingleModule = internal global
; MOD1-INT: @weakvarInSingleModule = internal global
- at linkonceodrvarInSingleModule = linkonce_odr dso_local global ptr null, align 8
- at weakodrvarInSingleModule = weak_odr dso_local global ptr null, align 8
- at weakvarInSingleModule = weak dso_local global ptr null, align 8
+ at linkonceodrvarInSingleModule = linkonce_odr dso_local global ptr zeroinitializer, align 8
+ at weakodrvarInSingleModule = weak_odr dso_local global ptr zeroinitializer, align 8
+ at weakvarInSingleModule = weak dso_local global ptr zeroinitializer, align 8
;; Function with an alias are resolved to weak_odr in prevailing module, but
;; not optimized in non-prevailing module (illegal to have an
diff --git a/llvm/test/Transforms/ArgumentPromotion/reserve-tbaa.ll b/llvm/test/Transforms/ArgumentPromotion/reserve-tbaa.ll
index a18c3bad12fcf..f8ddd8f282502 100644
--- a/llvm/test/Transforms/ArgumentPromotion/reserve-tbaa.ll
+++ b/llvm/test/Transforms/ArgumentPromotion/reserve-tbaa.ll
@@ -7,7 +7,7 @@
; This testing case makes sure that we correctly transfer the tbaa tags from the
; original loads to the newly-created loads when promoting pointer arguments.
- at a = global ptr null, align 8
+ at a = global ptr zeroinitializer, align 8
@e = global ptr @a, align 8
@g = global i32 0, align 4
@c = global i64 0, align 8
diff --git a/llvm/test/Transforms/Attributor/AMDGPU/do-not-replace-addrspacecast-with-constantpointernull.ll b/llvm/test/Transforms/Attributor/AMDGPU/do-not-replace-addrspacecast-with-constantpointernull.ll
index fb4153bac808e..735384fc5a10c 100644
--- a/llvm/test/Transforms/Attributor/AMDGPU/do-not-replace-addrspacecast-with-constantpointernull.ll
+++ b/llvm/test/Transforms/Attributor/AMDGPU/do-not-replace-addrspacecast-with-constantpointernull.ll
@@ -4,7 +4,7 @@
define i32 @addrspacecast_ptr(ptr %p0, ptr addrspace(5) %p5) {
; CHECK-LABEL: define i32 @addrspacecast_ptr(
; CHECK-SAME: ptr nofree readonly captures(none) [[P0:%.*]], ptr addrspace(5) nofree readonly [[P5:%.*]]) #[[ATTR0:[0-9]+]] {
-; CHECK-NEXT: [[ICMP:%.*]] = icmp eq ptr addrspace(5) [[P5]], addrspacecast (ptr null to ptr addrspace(5))
+; CHECK-NEXT: [[ICMP:%.*]] = icmp eq ptr addrspace(5) [[P5]], null
; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[ICMP]], ptr [[P0]], ptr null
; CHECK-NEXT: [[LOAD:%.*]] = load i32, ptr [[SELECT]], align 4
; CHECK-NEXT: ret i32 [[LOAD]]
@@ -19,7 +19,7 @@ define i32 @vec_addrspacecast_ptr(ptr %p0, ptr %p1, <2 x ptr addrspace(5)> %ptrv
; CHECK-LABEL: define i32 @vec_addrspacecast_ptr(
; CHECK-SAME: ptr nofree readonly captures(none) [[P0:%.*]], ptr nofree noundef nonnull readonly align 16 captures(none) dereferenceable(8) [[P1:%.*]], <2 x ptr addrspace(5)> [[PTRVEC:%.*]]) #[[ATTR0]] {
; CHECK-NEXT: [[LOADVEC:%.*]] = load <2 x ptr addrspace(5)>, ptr [[P1]], align 16
-; CHECK-NEXT: [[ICMPVEC:%.*]] = icmp eq <2 x ptr addrspace(5)> [[LOADVEC]], <ptr addrspace(5) addrspacecast (ptr null to ptr addrspace(5)), ptr addrspace(5) addrspacecast (ptr null to ptr addrspace(5))>
+; CHECK-NEXT: [[ICMPVEC:%.*]] = icmp eq <2 x ptr addrspace(5)> [[LOADVEC]], zeroinitializer
; CHECK-NEXT: [[ICMP:%.*]] = extractelement <2 x i1> [[ICMPVEC]], i32 1
; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[ICMP]], ptr [[P0]], ptr null
; CHECK-NEXT: [[LOAD:%.*]] = load i32, ptr [[SELECT]], align 4
@@ -37,7 +37,7 @@ define i32 @addrspacecast_vec_as1_ptr(ptr %p0, ptr %p1, <2 x ptr addrspace(5)> %
; CHECK-LABEL: define i32 @addrspacecast_vec_as1_ptr(
; CHECK-SAME: ptr nofree readonly captures(none) [[P0:%.*]], ptr nofree noundef nonnull readonly align 16 captures(none) dereferenceable(8) [[P1:%.*]], <2 x ptr addrspace(5)> [[PTRVEC:%.*]]) #[[ATTR0]] {
; CHECK-NEXT: [[LOADVEC:%.*]] = load <2 x ptr addrspace(5)>, ptr [[P1]], align 16
-; CHECK-NEXT: [[ICMPVEC:%.*]] = icmp eq <2 x ptr addrspace(5)> [[LOADVEC]], <ptr addrspace(5) addrspacecast (ptr addrspace(1) null to ptr addrspace(5)), ptr addrspace(5) addrspacecast (ptr addrspace(1) null to ptr addrspace(5))>
+; CHECK-NEXT: [[ICMPVEC:%.*]] = icmp eq <2 x ptr addrspace(5)> [[LOADVEC]], zeroinitializer
; CHECK-NEXT: [[ICMP:%.*]] = extractelement <2 x i1> [[ICMPVEC]], i32 1
; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[ICMP]], ptr [[P0]], ptr null
; CHECK-NEXT: [[LOAD:%.*]] = load i32, ptr [[SELECT]], align 4
@@ -55,7 +55,7 @@ define i32 @addrspacecast_vec_ptr(ptr %p0, ptr %p1, <2 x ptr addrspace(5)> %ptrv
; CHECK-LABEL: define i32 @addrspacecast_vec_ptr(
; CHECK-SAME: ptr nofree readonly captures(none) [[P0:%.*]], ptr nofree noundef nonnull readonly align 16 captures(none) dereferenceable(8) [[P1:%.*]], <2 x ptr addrspace(5)> [[PTRVEC:%.*]]) #[[ATTR0]] {
; CHECK-NEXT: [[LOADVEC:%.*]] = load <2 x ptr addrspace(5)>, ptr [[P1]], align 16
-; CHECK-NEXT: [[ICMPVEC:%.*]] = icmp eq <2 x ptr addrspace(5)> [[LOADVEC]], <ptr addrspace(5) addrspacecast (ptr null to ptr addrspace(5)), ptr addrspace(5) addrspacecast (ptr null to ptr addrspace(5))>
+; CHECK-NEXT: [[ICMPVEC:%.*]] = icmp eq <2 x ptr addrspace(5)> [[LOADVEC]], zeroinitializer
; CHECK-NEXT: [[ICMP:%.*]] = extractelement <2 x i1> [[ICMPVEC]], i32 1
; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[ICMP]], ptr [[P0]], ptr null
; CHECK-NEXT: [[LOAD:%.*]] = load i32, ptr [[SELECT]], align 4
diff --git a/llvm/test/Transforms/Attributor/ArgumentPromotion/reserve-tbaa.ll b/llvm/test/Transforms/Attributor/ArgumentPromotion/reserve-tbaa.ll
index c27f827fc941e..6b2892c45420e 100644
--- a/llvm/test/Transforms/Attributor/ArgumentPromotion/reserve-tbaa.ll
+++ b/llvm/test/Transforms/Attributor/ArgumentPromotion/reserve-tbaa.ll
@@ -8,14 +8,14 @@
; This testing case makes sure that we correctly transfer the tbaa tags from the
; original loads to the newly-created loads when promoting pointer arguments.
- at a = global ptr null, align 8
+ at a = global ptr zeroinitializer, align 8
@e = global ptr @a, align 8
@g = global i32 0, align 4
@c = global i64 0, align 8
@d = global i8 0, align 1
;.
-; CHECK: @a = global ptr null, align 8
+; CHECK: @a = global ptr zeroinitializer, align 8
; CHECK: @e = global ptr @a, align 8
; CHECK: @g = global i32 0, align 4
; CHECK: @c = global i64 0, align 8
diff --git a/llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll b/llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
index 502751147f884..436a5c921fd4d 100644
--- a/llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
+++ b/llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
@@ -23,13 +23,13 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
%union.pthread_attr_t = type { i64, [48 x i8] }
- at GlobalVPtr = common dso_local global ptr null, align 8
+ at GlobalVPtr = common dso_local global ptr zeroinitializer, align 8
; FIXME: nocapture & noalias for @GlobalVPtr in %call1
; FIXME: nocapture & noalias for %alloc2 in %call3
;.
-; CHECK: @GlobalVPtr = common dso_local global ptr null, align 8
+; CHECK: @GlobalVPtr = common dso_local global ptr zeroinitializer, align 8
;.
define dso_local i32 @main() {
; TUNIT-LABEL: define {{[^@]+}}@main() {
diff --git a/llvm/test/Transforms/Attributor/address_space_info.ll b/llvm/test/Transforms/Attributor/address_space_info.ll
index 2768aad960081..4c400c188c209 100644
--- a/llvm/test/Transforms/Attributor/address_space_info.ll
+++ b/llvm/test/Transforms/Attributor/address_space_info.ll
@@ -4,14 +4,14 @@
; REQUIRES: amdgpu-registered-target
@dst = dso_local addrspace(1) externally_initialized global i32 0, align 4
- at g1 = dso_local addrspace(1) externally_initialized global ptr null, align 4
+ at g1 = dso_local addrspace(1) externally_initialized global ptr zeroinitializer, align 4
@g2 = dso_local addrspace(1) externally_initialized global i32 0, align 4
@s1 = dso_local addrspace(3) global i32 undef, align 4
@s2 = dso_local addrspace(3) global i32 undef, align 4
;.
; CHECK: @dst = dso_local addrspace(1) externally_initialized global i32 0, align 4
-; CHECK: @g1 = dso_local addrspace(1) externally_initialized global ptr null, align 4
+; CHECK: @g1 = dso_local addrspace(1) externally_initialized global ptr zeroinitializer, align 4
; CHECK: @g2 = dso_local addrspace(1) externally_initialized global i32 0, align 4
; CHECK: @s1 = dso_local addrspace(3) global i32 undef, align 4
; CHECK: @s2 = dso_local addrspace(3) global i32 undef, align 4
diff --git a/llvm/test/Transforms/Attributor/liveness.ll b/llvm/test/Transforms/Attributor/liveness.ll
index c112d995148d5..6ae6b4ede6b8a 100644
--- a/llvm/test/Transforms/Attributor/liveness.ll
+++ b/llvm/test/Transforms/Attributor/liveness.ll
@@ -27,13 +27,13 @@ declare i32 @bar() nosync readnone
; TUNIT: @dead_with_blockaddress_users.l = constant [2 x ptr] [ptr inttoptr (i32 1 to ptr), ptr inttoptr (i32 1 to ptr)]
; TUNIT: @a1 = common global i8 0, align 8
; TUNIT: @a2 = common global i8 0, align 16
-; TUNIT: @e = global ptr null
+; TUNIT: @e = global ptr zeroinitializer
; TUNIT: @p = global i8 0
;.
; CGSCC: @dead_with_blockaddress_users.l = constant [2 x ptr] [ptr blockaddress(@dead_with_blockaddress_users, %lab0), ptr blockaddress(@dead_with_blockaddress_users, %end)]
; CGSCC: @a1 = common global i8 0, align 8
; CGSCC: @a2 = common global i8 0, align 16
-; CGSCC: @e = global ptr null
+; CGSCC: @e = global ptr zeroinitializer
; CGSCC: @p = global i8 0
;.
define internal i32 @dead_internal_func(i32 %0) {
@@ -2500,7 +2500,7 @@ indirectgoto: ; preds = %lab0, %entry
%struct.a = type { ptr }
- at e = global ptr null
+ at e = global ptr zeroinitializer
define i32 @main() {
; CHECK-LABEL: define {{[^@]+}}@main() {
diff --git a/llvm/test/Transforms/Attributor/nocapture-1.ll b/llvm/test/Transforms/Attributor/nocapture-1.ll
index 034b5ef397f0a..a5b5a6131b3da 100644
--- a/llvm/test/Transforms/Attributor/nocapture-1.ll
+++ b/llvm/test/Transforms/Attributor/nocapture-1.ll
@@ -2,13 +2,13 @@
; RUN: opt -aa-pipeline=basic-aa -passes=attributor -attributor-manifest-internal -attributor-annotate-decl-cs -S < %s | FileCheck %s --check-prefixes=CHECK,TUNIT
; RUN: opt -aa-pipeline=basic-aa -passes=attributor-cgscc -attributor-manifest-internal -attributor-annotate-decl-cs -S < %s | FileCheck %s --check-prefixes=CHECK,CGSCC
- at g = global ptr null ; <ptr> [#uses=1]
+ at g = global ptr zeroinitializer ; <ptr> [#uses=1]
;.
-; CHECK: @g = global ptr null
+; CHECK: @g = global ptr zeroinitializer
; CHECK: @lookup_table = global [2 x i1] [i1 false, i1 true]
-; CHECK: @g2 = global ptr null
-; CHECK: @g3 = global ptr null
+; CHECK: @g2 = global ptr zeroinitializer
+; CHECK: @g3 = global ptr zeroinitializer
;.
define ptr @c1(ptr %q) {
; CHECK: Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none)
@@ -629,7 +629,7 @@ entry:
ret void
}
- at g2 = global ptr null
+ at g2 = global ptr zeroinitializer
define void @captureLaunder(ptr %p) {
; TUNIT: Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn
; TUNIT-LABEL: define {{[^@]+}}@captureLaunder
@@ -673,7 +673,7 @@ entry:
ret void
}
- at g3 = global ptr null
+ at g3 = global ptr zeroinitializer
define void @captureStrip(ptr %p) {
; TUNIT: Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(write)
; TUNIT-LABEL: define {{[^@]+}}@captureStrip
diff --git a/llvm/test/Transforms/CalledValuePropagation/simple-memory.ll b/llvm/test/Transforms/CalledValuePropagation/simple-memory.ll
index 106ed849385c8..2de0194153297 100644
--- a/llvm/test/Transforms/CalledValuePropagation/simple-memory.ll
+++ b/llvm/test/Transforms/CalledValuePropagation/simple-memory.ll
@@ -2,8 +2,8 @@
target triple = "aarch64"
- at global_function = internal unnamed_addr global ptr null, align 8
- at global_array = common unnamed_addr global ptr null, align 8
+ at global_function = internal unnamed_addr global ptr zeroinitializer, align 8
+ at global_array = common unnamed_addr global ptr zeroinitializer, align 8
; This test checks that we propagate the functions through an internal global
; variable, and attach !callees metadata to the call. Such metadata can enable
diff --git a/llvm/test/Transforms/CalledValuePropagation/simple-select.ll b/llvm/test/Transforms/CalledValuePropagation/simple-select.ll
index b2ea20a9449ea..6817838b55ebe 100644
--- a/llvm/test/Transforms/CalledValuePropagation/simple-select.ll
+++ b/llvm/test/Transforms/CalledValuePropagation/simple-select.ll
@@ -2,7 +2,7 @@
target triple = "aarch64"
- at global_function = internal unnamed_addr global ptr null, align 8
+ at global_function = internal unnamed_addr global ptr zeroinitializer, align 8
@global_scalar = internal unnamed_addr global i64 zeroinitializer
; This test checks that we propagate the functions through a select
diff --git a/llvm/test/Transforms/CanonicalizeFreezeInLoops/func_from_mcf_r.ll b/llvm/test/Transforms/CanonicalizeFreezeInLoops/func_from_mcf_r.ll
index a7b72b5a33593..6d229cf1a7bf4 100644
--- a/llvm/test/Transforms/CanonicalizeFreezeInLoops/func_from_mcf_r.ll
+++ b/llvm/test/Transforms/CanonicalizeFreezeInLoops/func_from_mcf_r.ll
@@ -7,7 +7,7 @@ target triple = "aarch64-unknown-linux-gnu"
%struct.g = type { i64, %struct.arc, i64, i64, i64 }
@m = global i64 0
- at h = global ptr null
+ at h = global ptr zeroinitializer
@j = global %struct.g zeroinitializer
define dso_local i32 @main() {
diff --git a/llvm/test/Transforms/CodeExtractor/BlockAddressReference.ll b/llvm/test/Transforms/CodeExtractor/BlockAddressReference.ll
index fc7875cda7898..b3ee614ed70bf 100644
--- a/llvm/test/Transforms/CodeExtractor/BlockAddressReference.ll
+++ b/llvm/test/Transforms/CodeExtractor/BlockAddressReference.ll
@@ -1,6 +1,6 @@
; RUN: opt < %s -passes='function(loop-simplify),loop-extract' -S | FileCheck %s
- at label = common local_unnamed_addr global ptr null
+ at label = common local_unnamed_addr global ptr zeroinitializer
; CHECK: define
; no outlined function
diff --git a/llvm/test/Transforms/CodeGenPrepare/Mips/pr35209.ll b/llvm/test/Transforms/CodeGenPrepare/Mips/pr35209.ll
index 9f2555e22b620..c92b81157ce80 100644
--- a/llvm/test/Transforms/CodeGenPrepare/Mips/pr35209.ll
+++ b/llvm/test/Transforms/CodeGenPrepare/Mips/pr35209.ll
@@ -15,7 +15,7 @@
%struct.ap = type { i32, i32 }
@ch = common global %struct.f zeroinitializer, align 8
- at j = common global ptr null, align 8
+ at j = common global ptr zeroinitializer, align 8
@ck = common global i32 0, align 4
@h = common global i32 0, align 4
@.str = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
diff --git a/llvm/test/Transforms/CodeGenPrepare/skip-merging-case-block.ll b/llvm/test/Transforms/CodeGenPrepare/skip-merging-case-block.ll
index d25b9c91aff60..5400aab53de6e 100644
--- a/llvm/test/Transforms/CodeGenPrepare/skip-merging-case-block.ll
+++ b/llvm/test/Transforms/CodeGenPrepare/skip-merging-case-block.ll
@@ -145,7 +145,7 @@ declare void @calldefault(...) local_unnamed_addr
; This test that BFI/BPI is created without any assertion in isMergingEmptyBlockProfitable()
; in the case where empty blocks are removed before creating BFI/BPI.
@b = common global i32 0, align 4
- at a = common global ptr null, align 8
+ at a = common global ptr zeroinitializer, align 8
define i32 @should_not_assert(i32 %i) local_unnamed_addr {
entry:
%0 = load i32, ptr @b, align 4
diff --git a/llvm/test/Transforms/DeadArgElim/returned.ll b/llvm/test/Transforms/DeadArgElim/returned.ll
index 73f23ffa725ef..1902bc438a294 100644
--- a/llvm/test/Transforms/DeadArgElim/returned.ll
+++ b/llvm/test/Transforms/DeadArgElim/returned.ll
@@ -17,7 +17,7 @@ define internal ptr @test2(ptr returned %this) {
}
; dummy to keep 'this' alive
- at dummy = global ptr null
+ at dummy = global ptr zeroinitializer
; Validate that return value is dead
; CHECK-LABEL: define internal void @test3(ptr %this)
diff --git a/llvm/test/Transforms/FunctionAttrs/nocapture.ll b/llvm/test/Transforms/FunctionAttrs/nocapture.ll
index b5b14f571d47d..24c1b11670ed5 100644
--- a/llvm/test/Transforms/FunctionAttrs/nocapture.ll
+++ b/llvm/test/Transforms/FunctionAttrs/nocapture.ll
@@ -2,7 +2,7 @@
; RUN: opt -passes=function-attrs -S < %s | FileCheck --check-prefixes=COMMON,FNATTRS %s
; RUN: opt -passes=attributor-light -S < %s | FileCheck --check-prefixes=COMMON,ATTRIBUTOR %s
- at g = global ptr null ; <ptr> [#uses=1]
+ at g = global ptr zeroinitializer ; <ptr> [#uses=1]
define ptr @c1(ptr %q) {
; FNATTRS: Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none)
@@ -742,7 +742,7 @@ entry:
ret void
}
- at g2 = global ptr null
+ at g2 = global ptr zeroinitializer
define void @captureLaunder(ptr %p) {
; FNATTRS: Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(write, argmem: none, inaccessiblemem: readwrite, target_mem0: none, target_mem1: none)
; FNATTRS-LABEL: define void @captureLaunder
@@ -786,7 +786,7 @@ entry:
ret void
}
- at g3 = global ptr null
+ at g3 = global ptr zeroinitializer
define void @captureStrip(ptr %p) {
; FNATTRS: Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(write, argmem: none, inaccessiblemem: none, target_mem0: none, target_mem1: none)
; FNATTRS-LABEL: define void @captureStrip
diff --git a/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll b/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll
index 07a7f99e4626a..2951f107714ba 100644
--- a/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll
+++ b/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll
@@ -5,7 +5,7 @@ target triple = "x86_64-apple-macosx10.11.0"
@staticvar = internal global i32 1, align 4
@staticconstvar = internal unnamed_addr constant [2 x i32] [i32 10, i32 20], align 4
@commonvar = common global i32 0, align 4
- at P = internal global ptr null, align 8
+ at P = internal global ptr zeroinitializer, align 8
@weakalias = weak alias void (...), ptr @globalfunc1
@analias = alias void (...), ptr @globalfunc2
diff --git a/llvm/test/Transforms/FunctionImport/funcimport.ll b/llvm/test/Transforms/FunctionImport/funcimport.ll
index 8f7e8340d4909..d199a12cec311 100644
--- a/llvm/test/Transforms/FunctionImport/funcimport.ll
+++ b/llvm/test/Transforms/FunctionImport/funcimport.ll
@@ -91,7 +91,7 @@ declare void @callfuncptr(...) #1
; Ensure that all uses of local variable @P which has used in setfuncptr
; and callfuncptr are to the same promoted/renamed global.
-; CHECK-DAG: @P.llvm.{{.*}} = available_externally hidden global ptr null
+; CHECK-DAG: @P.llvm.{{.*}} = available_externally hidden global ptr zeroinitializer
; CHECK-DAG: %0 = load ptr, ptr @P.llvm.
; CHECK-DAG: store ptr @staticfunc2.llvm.{{.*}}, ptr @P.llvm.
diff --git a/llvm/test/Transforms/FunctionSpecialization/dead-gv-load.ll b/llvm/test/Transforms/FunctionSpecialization/dead-gv-load.ll
index 134a79d349035..6d09918773556 100644
--- a/llvm/test/Transforms/FunctionSpecialization/dead-gv-load.ll
+++ b/llvm/test/Transforms/FunctionSpecialization/dead-gv-load.ll
@@ -1,7 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
; RUN: opt -passes=ipsccp --funcspec-min-function-size=1 -S < %s | FileCheck %s
- at gv = internal global ptr null
+ at gv = internal global ptr zeroinitializer
define i8 @caller() {
; CHECK-LABEL: define i8 @caller() {
diff --git a/llvm/test/Transforms/GVN/PRE/load-pre-nonlocal.ll b/llvm/test/Transforms/GVN/PRE/load-pre-nonlocal.ll
index 7348df38d4de8..f76026ebd5421 100644
--- a/llvm/test/Transforms/GVN/PRE/load-pre-nonlocal.ll
+++ b/llvm/test/Transforms/GVN/PRE/load-pre-nonlocal.ll
@@ -6,8 +6,8 @@ target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
%struct.S1 = type { i32, i32 }
- at a2 = common global ptr null, align 8
- at a = common global ptr null, align 8
+ at a2 = common global ptr zeroinitializer, align 8
+ at a = common global ptr zeroinitializer, align 8
@s1 = common global %struct.S1 zeroinitializer, align 8
; Check that GVN doesn't determine %2 is partially redundant.
diff --git a/llvm/test/Transforms/GVN/PRE/pre-load-dbg.ll b/llvm/test/Transforms/GVN/PRE/pre-load-dbg.ll
index f961f23d6b10e..a6ce6693d2eef 100644
--- a/llvm/test/Transforms/GVN/PRE/pre-load-dbg.ll
+++ b/llvm/test/Transforms/GVN/PRE/pre-load-dbg.ll
@@ -9,7 +9,7 @@
%struct.a = type { i16 }
@f = local_unnamed_addr global i16 0, align 1
- at m = local_unnamed_addr global ptr null, align 1
+ at m = local_unnamed_addr global ptr zeroinitializer, align 1
@h = global %struct.a zeroinitializer, align 1
define void @withdbg() {
diff --git a/llvm/test/Transforms/GVNHoist/hoist-pr46874.ll b/llvm/test/Transforms/GVNHoist/hoist-pr46874.ll
index 39d418cc02aff..51700bef5f9c4 100644
--- a/llvm/test/Transforms/GVNHoist/hoist-pr46874.ll
+++ b/llvm/test/Transforms/GVNHoist/hoist-pr46874.ll
@@ -2,7 +2,7 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at input = local_unnamed_addr global ptr null, align 8
+ at input = local_unnamed_addr global ptr zeroinitializer, align 8
; Check that the load instruction is **not** hoisted
; CHECK-LABEL: @_Z3fooPii
diff --git a/llvm/test/Transforms/GVNHoist/infinite-loop-indirect.ll b/llvm/test/Transforms/GVNHoist/infinite-loop-indirect.ll
index 8aa9003f3d809..30d4154bd4e42 100644
--- a/llvm/test/Transforms/GVNHoist/infinite-loop-indirect.ll
+++ b/llvm/test/Transforms/GVNHoist/infinite-loop-indirect.ll
@@ -6,8 +6,8 @@
%class.bar = type { ptr, ptr }
%class.base = type { ptr }
- at bar = local_unnamed_addr global ptr null, align 8
- at bar1 = local_unnamed_addr global ptr null, align 8
+ at bar = local_unnamed_addr global ptr zeroinitializer, align 8
+ at bar1 = local_unnamed_addr global ptr zeroinitializer, align 8
; Check that the bitcast is not hoisted because it is after an indirect call
define i32 @foo(ptr nocapture readonly %i) {
diff --git a/llvm/test/Transforms/GlobalOpt/2004-10-10-CastStoreOnce.ll b/llvm/test/Transforms/GlobalOpt/2004-10-10-CastStoreOnce.ll
index c756adea05f21..85b50d3d255b5 100644
--- a/llvm/test/Transforms/GlobalOpt/2004-10-10-CastStoreOnce.ll
+++ b/llvm/test/Transforms/GlobalOpt/2004-10-10-CastStoreOnce.ll
@@ -1,7 +1,7 @@
; RUN: opt < %s -passes=globalopt
@V = global float 1.200000e+01 ; <ptr> [#uses=1]
- at G = internal global ptr null ; <ptr> [#uses=2]
+ at G = internal global ptr zeroinitializer ; <ptr> [#uses=2]
define i32 @user() {
%P = load ptr, ptr @G ; <ptr> [#uses=1]
diff --git a/llvm/test/Transforms/GlobalOpt/2007-05-13-Crash.ll b/llvm/test/Transforms/GlobalOpt/2007-05-13-Crash.ll
index 298f5c68de0be..8776a06d48a1d 100644
--- a/llvm/test/Transforms/GlobalOpt/2007-05-13-Crash.ll
+++ b/llvm/test/Transforms/GlobalOpt/2007-05-13-Crash.ll
@@ -6,8 +6,8 @@ target triple = "i686-apple-darwin8"
%struct.__CFDictionary = type opaque
%struct.__CFString = type opaque
%struct.__builtin_CFString = type { ptr, i32, ptr, i32 }
- at _ZZ19SFLGetVisibilityKeyvE19_kSFLLVisibilityKey = internal global ptr null ; <ptr> [#uses=2]
- at _ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey = internal global ptr null ; <ptr> [#uses=7]
+ at _ZZ19SFLGetVisibilityKeyvE19_kSFLLVisibilityKey = internal global ptr zeroinitializer ; <ptr> [#uses=2]
+ at _ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey = internal global ptr zeroinitializer ; <ptr> [#uses=7]
@0 = internal constant %struct.__builtin_CFString {
ptr @__CFConstantStringClassReference,
i32 1992,
@@ -15,7 +15,7 @@ target triple = "i686-apple-darwin8"
i32 13 }, section "__DATA,__cfstring" ; <ptr>:0 [#uses=1]
@__CFConstantStringClassReference = external global [0 x i32] ; <ptr> [#uses=1]
@.str = internal constant [14 x i8] c"AlwaysVisible\00" ; <ptr> [#uses=1]
- at _ZZ21SFLGetNeverVisibleKeyvE21_kSFLLNeverVisibleKey = internal global ptr null ; <ptr> [#uses=2]
+ at _ZZ21SFLGetNeverVisibleKeyvE21_kSFLLNeverVisibleKey = internal global ptr zeroinitializer ; <ptr> [#uses=2]
define ptr @_Z19SFLGetVisibilityKeyv() {
entry:
diff --git a/llvm/test/Transforms/GlobalOpt/2008-01-03-Crash.ll b/llvm/test/Transforms/GlobalOpt/2008-01-03-Crash.ll
index 37f58ae5908e4..a9a1176a08a15 100644
--- a/llvm/test/Transforms/GlobalOpt/2008-01-03-Crash.ll
+++ b/llvm/test/Transforms/GlobalOpt/2008-01-03-Crash.ll
@@ -1,7 +1,7 @@
; RUN: opt < %s -passes=globalopt | llvm-dis
; PR1896
- at indirect1 = internal global ptr null ; <ptr> [#uses=2]
+ at indirect1 = internal global ptr zeroinitializer ; <ptr> [#uses=2]
declare void @indirectmarked(i32)
diff --git a/llvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash-2.ll b/llvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash-2.ll
index 84f9f81aa585f..d09150568285d 100644
--- a/llvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash-2.ll
+++ b/llvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash-2.ll
@@ -2,7 +2,7 @@
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
target triple = "i386-apple-darwin7"
%struct.foo = type { i32, i32 }
- at X = internal global ptr null ; <ptr> [#uses=2]
+ at X = internal global ptr zeroinitializer ; <ptr> [#uses=2]
define void @bar(i32 %Size) nounwind noinline {
entry:
diff --git a/llvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash.ll b/llvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash.ll
index e2a6fcc940f45..86e0d79e6db0f 100644
--- a/llvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash.ll
+++ b/llvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash.ll
@@ -2,7 +2,7 @@
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
target triple = "i386-apple-darwin7"
%struct.foo = type { i32, i32 }
- at X = internal global ptr null ; <ptr> [#uses=2]
+ at X = internal global ptr zeroinitializer ; <ptr> [#uses=2]
define void @bar(i32 %Size) nounwind noinline {
entry:
diff --git a/llvm/test/Transforms/GlobalOpt/2009-01-13-phi-user.ll b/llvm/test/Transforms/GlobalOpt/2009-01-13-phi-user.ll
index b434fc10f87e6..ad51419e115f8 100644
--- a/llvm/test/Transforms/GlobalOpt/2009-01-13-phi-user.ll
+++ b/llvm/test/Transforms/GlobalOpt/2009-01-13-phi-user.ll
@@ -4,7 +4,7 @@
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
target triple = "x86_64-unknown-linux-gnu"
%struct.node = type { ptr, i32 }
- at head = internal global ptr null ; <ptr> [#uses=2]
+ at head = internal global ptr zeroinitializer ; <ptr> [#uses=2]
@node = internal global %struct.node { ptr null, i32 42 }, align 16 ; <ptr> [#uses=1]
define i32 @f() nounwind {
diff --git a/llvm/test/Transforms/GlobalOpt/2009-03-07-PromotePtrToBool.ll b/llvm/test/Transforms/GlobalOpt/2009-03-07-PromotePtrToBool.ll
index acff34c1ae357..f76c84a590b4f 100644
--- a/llvm/test/Transforms/GlobalOpt/2009-03-07-PromotePtrToBool.ll
+++ b/llvm/test/Transforms/GlobalOpt/2009-03-07-PromotePtrToBool.ll
@@ -2,8 +2,8 @@
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
target triple = "i386-apple-darwin7"
-; CHECK: @X = internal unnamed_addr global ptr null
- at X = internal global ptr null ; <ptr> [#uses=2]
+; CHECK: @X = internal unnamed_addr global ptr zeroinitializer
+ at X = internal global ptr zeroinitializer ; <ptr> [#uses=2]
@Y = internal global i32 0 ; <ptr> [#uses=1]
define void @foo() nounwind {
diff --git a/llvm/test/Transforms/GlobalOpt/2009-06-01-RecursivePHI.ll b/llvm/test/Transforms/GlobalOpt/2009-06-01-RecursivePHI.ll
index 911ae91f4d136..8104f168d6061 100644
--- a/llvm/test/Transforms/GlobalOpt/2009-06-01-RecursivePHI.ll
+++ b/llvm/test/Transforms/GlobalOpt/2009-06-01-RecursivePHI.ll
@@ -5,7 +5,7 @@ target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:1
%struct.s_bb = type { i32, i32, i32, i32 }
%struct.s_net = type { ptr, i32, ptr, float, float }
%struct.s_placer_opts = type { i32, float, i32, i32, ptr, i32, i32 }
- at net = internal global ptr null ; <ptr> [#uses=4]
+ at net = internal global ptr zeroinitializer ; <ptr> [#uses=4]
define fastcc void @alloc_and_load_placement_structs(i32 %place_cost_type, i32 %num_regions, float %place_cost_exp, ptr nocapture %old_region_occ_x, ptr nocapture %old_region_occ_y, i1 %c1, i1 %c2, i1 %c3, i1 %c4, i1 %c5, i1 %c6, i1 %c7, i1 %c8, i1 %c9, i1 %c10, i1 %c11, i1 %c12) nounwind ssp {
entry:
diff --git a/llvm/test/Transforms/GlobalOpt/2009-11-16-BrokenPerformHeapAllocSRoA.ll b/llvm/test/Transforms/GlobalOpt/2009-11-16-BrokenPerformHeapAllocSRoA.ll
index d8b096e25374c..e9d404b1b706c 100644
--- a/llvm/test/Transforms/GlobalOpt/2009-11-16-BrokenPerformHeapAllocSRoA.ll
+++ b/llvm/test/Transforms/GlobalOpt/2009-11-16-BrokenPerformHeapAllocSRoA.ll
@@ -7,7 +7,7 @@ target triple = "x86_64-apple-darwin10.0"
%struct.strchartype = type { ptr, ptr, ptr }
@hashheader = internal global %struct.hashheader zeroinitializer, align 32 ; <ptr> [#uses=1]
- at chartypes = internal global ptr null ; <ptr> [#uses=1]
+ at chartypes = internal global ptr zeroinitializer ; <ptr> [#uses=1]
; CHECK-NOT: @hashheader
; CHECK-NOT: @chartypes
diff --git a/llvm/test/Transforms/GlobalOpt/2009-11-16-MallocSingleStoreToGlobalVar.ll b/llvm/test/Transforms/GlobalOpt/2009-11-16-MallocSingleStoreToGlobalVar.ll
index 00ca2692441a1..84213dd5b011e 100644
--- a/llvm/test/Transforms/GlobalOpt/2009-11-16-MallocSingleStoreToGlobalVar.ll
+++ b/llvm/test/Transforms/GlobalOpt/2009-11-16-MallocSingleStoreToGlobalVar.ll
@@ -7,8 +7,8 @@
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
target triple = "x86_64-apple-darwin10.0"
- at TOP = internal global ptr null ; <ptr> [#uses=2]
-; CHECK: @TOP = internal unnamed_addr global ptr null
+ at TOP = internal global ptr zeroinitializer ; <ptr> [#uses=2]
+; CHECK: @TOP = internal unnamed_addr global ptr zeroinitializer
@channelColumns = internal global i64 0 ; <ptr> [#uses=2]
; Derived from @DescribeChannel() in yacr2
diff --git a/llvm/test/Transforms/GlobalOpt/2010-02-25-MallocPromote.ll b/llvm/test/Transforms/GlobalOpt/2010-02-25-MallocPromote.ll
index e0ff0eeebc193..8efdfda1fc536 100644
--- a/llvm/test/Transforms/GlobalOpt/2010-02-25-MallocPromote.ll
+++ b/llvm/test/Transforms/GlobalOpt/2010-02-25-MallocPromote.ll
@@ -3,7 +3,7 @@
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
target triple = "x86_64-unknown-linux-gnu"
- at fixLRBT = internal global ptr null ; <ptr> [#uses=2]
+ at fixLRBT = internal global ptr zeroinitializer ; <ptr> [#uses=2]
declare noalias ptr @malloc(i32)
diff --git a/llvm/test/Transforms/GlobalOpt/2010-02-26-MallocSROA.ll b/llvm/test/Transforms/GlobalOpt/2010-02-26-MallocSROA.ll
index e9ff2a94d1709..108f506e63b73 100644
--- a/llvm/test/Transforms/GlobalOpt/2010-02-26-MallocSROA.ll
+++ b/llvm/test/Transforms/GlobalOpt/2010-02-26-MallocSROA.ll
@@ -5,7 +5,7 @@ target triple = "x86_64-unknown-linux-gnu"
%struct.xyz = type { double, i32 }
- at Y = internal global ptr null ; <ptr> [#uses=2]
+ at Y = internal global ptr zeroinitializer ; <ptr> [#uses=2]
@numf2s = external global i32 ; <ptr> [#uses=1]
define fastcc void @init_net() nounwind {
diff --git a/llvm/test/Transforms/GlobalOpt/2021-08-02-CastStoreOnceP2I.ll b/llvm/test/Transforms/GlobalOpt/2021-08-02-CastStoreOnceP2I.ll
index 0e3a9c6783632..469cea462f8f3 100644
--- a/llvm/test/Transforms/GlobalOpt/2021-08-02-CastStoreOnceP2I.ll
+++ b/llvm/test/Transforms/GlobalOpt/2021-08-02-CastStoreOnceP2I.ll
@@ -3,7 +3,7 @@
; This tests the assignemnt of non-pointer to global address
; (assert due to D106589).
- at a162 = internal global ptr null, align 1
+ at a162 = internal global ptr zeroinitializer, align 1
define void @f363() {
; CHECK-LABEL: @f363(
diff --git a/llvm/test/Transforms/GlobalOpt/2021-08-03-StoreOnceLoadMultiCasts.ll b/llvm/test/Transforms/GlobalOpt/2021-08-03-StoreOnceLoadMultiCasts.ll
index 6ab867db57511..84056ae4c7624 100644
--- a/llvm/test/Transforms/GlobalOpt/2021-08-03-StoreOnceLoadMultiCasts.ll
+++ b/llvm/test/Transforms/GlobalOpt/2021-08-03-StoreOnceLoadMultiCasts.ll
@@ -1,7 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt -passes=globalopt -S < %s | FileCheck %s
- at g = internal global ptr null, align 8
+ at g = internal global ptr zeroinitializer, align 8
define signext i32 @f() local_unnamed_addr {
; CHECK-LABEL: @f(
diff --git a/llvm/test/Transforms/GlobalOpt/MallocSROA-section-no-null-opt.ll b/llvm/test/Transforms/GlobalOpt/MallocSROA-section-no-null-opt.ll
index 037441dbc9373..7dfca68baa681 100644
--- a/llvm/test/Transforms/GlobalOpt/MallocSROA-section-no-null-opt.ll
+++ b/llvm/test/Transforms/GlobalOpt/MallocSROA-section-no-null-opt.ll
@@ -4,7 +4,7 @@
%struct.xyz = type { double, i32 }
- at Y = internal global ptr null ,section ".foo" ; <ptr> [#uses=2]
+ at Y = internal global ptr zeroinitializer ,section ".foo" ; <ptr> [#uses=2]
@numf2s = external global i32 ; <ptr> [#uses=1]
define void @init_net() #0 {
diff --git a/llvm/test/Transforms/GlobalOpt/MallocSROA-section.ll b/llvm/test/Transforms/GlobalOpt/MallocSROA-section.ll
index 75a83619e95aa..980bd497f0e7f 100644
--- a/llvm/test/Transforms/GlobalOpt/MallocSROA-section.ll
+++ b/llvm/test/Transforms/GlobalOpt/MallocSROA-section.ll
@@ -3,7 +3,7 @@
%struct.xyz = type { double, i32 }
- at Y = internal global ptr null ,section ".foo" ; <ptr> [#uses=2]
+ at Y = internal global ptr zeroinitializer ,section ".foo" ; <ptr> [#uses=2]
@numf2s = external global i32 ; <ptr> [#uses=1]
define void @init_net() {
diff --git a/llvm/test/Transforms/GlobalOpt/X86/preserve-dbgloc-of-load-store-to-bool.ll b/llvm/test/Transforms/GlobalOpt/X86/preserve-dbgloc-of-load-store-to-bool.ll
index 6d2fb50eb3378..ae22875133d11 100644
--- a/llvm/test/Transforms/GlobalOpt/X86/preserve-dbgloc-of-load-store-to-bool.ll
+++ b/llvm/test/Transforms/GlobalOpt/X86/preserve-dbgloc-of-load-store-to-bool.ll
@@ -8,7 +8,7 @@ target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:
target triple = "x86_64-unknown-linux-gnu"
@global = internal global i32 0
- at global.1 = internal unnamed_addr global ptr null, align 8
+ at global.1 = internal unnamed_addr global ptr zeroinitializer, align 8
define void @ham() !dbg !7 {
; CHECK-LABEL: define void @ham(
diff --git a/llvm/test/Transforms/GlobalOpt/addrspacecast.ll b/llvm/test/Transforms/GlobalOpt/addrspacecast.ll
index 7920629664d54..62111f4ab6bf8 100644
--- a/llvm/test/Transforms/GlobalOpt/addrspacecast.ll
+++ b/llvm/test/Transforms/GlobalOpt/addrspacecast.ll
@@ -4,11 +4,11 @@
; Test behavior of trying to fold access of global variables
; initialized one time through addrspacecast.
- at as0_ptr = internal global ptr null
+ at as0_ptr = internal global ptr zeroinitializer
@as1_ptr = internal global ptr addrspace(1) null
@as2_ptr = internal global ptr addrspace(2) null
@as1_null_valid_ptr = internal global ptr addrspace(1) null
- at as0_null_valid_ptr = internal global ptr null
+ at as0_null_valid_ptr = internal global ptr zeroinitializer
@Actual.as0 = internal global i32 1234
@Actual.as1 = internal addrspace(1) global i32 5678
diff --git a/llvm/test/Transforms/GlobalOpt/available_externally_global_ctors.ll b/llvm/test/Transforms/GlobalOpt/available_externally_global_ctors.ll
index f1f0075e7779b..d96ecfe38c496 100644
--- a/llvm/test/Transforms/GlobalOpt/available_externally_global_ctors.ll
+++ b/llvm/test/Transforms/GlobalOpt/available_externally_global_ctors.ll
@@ -7,7 +7,7 @@ target triple = "x86_64-apple-macosx10.11.0"
; CHECK: @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @foo_static_init, ptr null }]
@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @foo_static_init, ptr null }]
- at foo_external = available_externally global ptr null
+ at foo_external = available_externally global ptr zeroinitializer
define internal void @foo_static_init() {
entry:
diff --git a/llvm/test/Transforms/GlobalOpt/calloc-promote.ll b/llvm/test/Transforms/GlobalOpt/calloc-promote.ll
index c369ed9b9fc11..6e063284e370c 100644
--- a/llvm/test/Transforms/GlobalOpt/calloc-promote.ll
+++ b/llvm/test/Transforms/GlobalOpt/calloc-promote.ll
@@ -1,7 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt -passes=globalopt -S < %s | FileCheck %s
- at g = internal global ptr null, align 8
+ at g = internal global ptr zeroinitializer, align 8
define signext i32 @f() local_unnamed_addr {
; CHECK-LABEL: @f(
diff --git a/llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users.ll b/llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users.ll
index aa040297204dc..c063d04b9b6c5 100644
--- a/llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users.ll
+++ b/llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users.ll
@@ -1,6 +1,6 @@
; RUN: opt -passes=globalopt -S -o - < %s | FileCheck %s
- at glbl = internal global ptr null
+ at glbl = internal global ptr zeroinitializer
define void @test1a() {
; CHECK-LABEL: @test1a(
diff --git a/llvm/test/Transforms/GlobalOpt/constantfold-initializers.ll b/llvm/test/Transforms/GlobalOpt/constantfold-initializers.ll
index dea854746c29e..82f6e8acd83a4 100644
--- a/llvm/test/Transforms/GlobalOpt/constantfold-initializers.ll
+++ b/llvm/test/Transforms/GlobalOpt/constantfold-initializers.ll
@@ -51,8 +51,8 @@ entry:
; PR19955
- at dllimportptr = global ptr null, align 4
-; CHECK: @dllimportptr = local_unnamed_addr global ptr null, align 4
+ at dllimportptr = global ptr zeroinitializer, align 4
+; CHECK: @dllimportptr = local_unnamed_addr global ptr zeroinitializer, align 4
@dllimportvar = external dllimport global i32
define internal void @test3() {
entry:
@@ -60,7 +60,7 @@ entry:
ret void
}
- at dllexportptr = global ptr null, align 4
+ at dllexportptr = global ptr zeroinitializer, align 4
; CHECK: @dllexportptr = local_unnamed_addr global ptr @dllexportvar, align 4
@dllexportvar = dllexport global i32 0, align 4
; CHECK: @dllexportvar = dllexport global i32 20, align 4
@@ -71,8 +71,8 @@ entry:
ret void
}
- at threadlocalptr = global ptr null, align 4
-; CHECK: @threadlocalptr = local_unnamed_addr global ptr null, align 4
+ at threadlocalptr = global ptr zeroinitializer, align 4
+; CHECK: @threadlocalptr = local_unnamed_addr global ptr zeroinitializer, align 4
@threadlocalvar = external thread_local global i32
define internal void @test5() {
entry:
diff --git a/llvm/test/Transforms/GlobalOpt/crash.ll b/llvm/test/Transforms/GlobalOpt/crash.ll
index 980a4ec9db1f3..ccbc4b7f7e507 100644
--- a/llvm/test/Transforms/GlobalOpt/crash.ll
+++ b/llvm/test/Transforms/GlobalOpt/crash.ll
@@ -19,7 +19,7 @@ entry:
; PR6760
%T = type { [5 x i32] }
- at switch_inf = internal global ptr null
+ at switch_inf = internal global ptr zeroinitializer
define void @test(ptr %arch_file, i32 %route_type) {
entry:
@@ -29,12 +29,12 @@ entry:
store ptr %C, ptr @switch_inf, align 8
unreachable
-bb.nph.i:
+bb.nph.i:
%scevgep.i539 = getelementptr i8, ptr %C, i64 4
unreachable
xx:
- %E = load ptr, ptr @switch_inf, align 8
+ %E = load ptr, ptr @switch_inf, align 8
unreachable
}
@@ -42,7 +42,7 @@ declare noalias ptr @malloc(i64) nounwind
; PR8063
- at permute_bitrev.bitrev = internal global ptr null, align 8
+ at permute_bitrev.bitrev = internal global ptr zeroinitializer, align 8
define void @permute_bitrev() nounwind {
entry:
%tmp = load ptr, ptr @permute_bitrev.bitrev, align 8
@@ -65,7 +65,7 @@ declare void @llvm.memset.p0.i64(ptr nocapture, i8, i64, i1) nounwind
; PR9856
- at g_52 = internal global ptr null, align 8
+ at g_52 = internal global ptr zeroinitializer, align 8
@g_90 = external global ptr, align 8
define void @icmp_user_of_stored_once() nounwind ssp {
diff --git a/llvm/test/Transforms/GlobalOpt/dead-store-status.ll b/llvm/test/Transforms/GlobalOpt/dead-store-status.ll
index 7cb3a9626ec05..504e6834bbfa0 100644
--- a/llvm/test/Transforms/GlobalOpt/dead-store-status.ll
+++ b/llvm/test/Transforms/GlobalOpt/dead-store-status.ll
@@ -4,13 +4,13 @@
; false. This was caught by the pass return status check that is hidden under
; EXPENSIVE_CHECKS.
-; CHECK: @global = internal unnamed_addr global ptr null, align 1
+; CHECK: @global = internal unnamed_addr global ptr zeroinitializer, align 1
; CHECK-LABEL: @foo
; CHECK-NEXT: entry:
; CHECK-NEXT: ret i16 undef
- at global = internal unnamed_addr global ptr null, align 1
+ at global = internal unnamed_addr global ptr zeroinitializer, align 1
; Function Attrs: nofree noinline norecurse nounwind writeonly
define i16 @foo(i16 %c) local_unnamed_addr #0 {
diff --git a/llvm/test/Transforms/GlobalOpt/evaluate-load-uniform.ll b/llvm/test/Transforms/GlobalOpt/evaluate-load-uniform.ll
index 568a28aa8aa9c..8299bf7de0965 100644
--- a/llvm/test/Transforms/GlobalOpt/evaluate-load-uniform.ll
+++ b/llvm/test/Transforms/GlobalOpt/evaluate-load-uniform.ll
@@ -10,7 +10,7 @@
;.
; CHECK: @[[G1:[a-zA-Z0-9_$"\\.-]+]] = local_unnamed_addr global [2 x ptr] zeroinitializer
-; CHECK: @[[G2:[a-zA-Z0-9_$"\\.-]+]] = local_unnamed_addr global ptr null
+; CHECK: @[[G2:[a-zA-Z0-9_$"\\.-]+]] = local_unnamed_addr global ptr zeroinitializer
; CHECK: @[[LLVM_GLOBAL_CTORS:[a-zA-Z0-9_$"\\.-]+]] = appending global [0 x { i32, ptr, ptr }] zeroinitializer
;.
define internal void @ctor() {
diff --git a/llvm/test/Transforms/GlobalOpt/externally-initialized-global-ctr.ll b/llvm/test/Transforms/GlobalOpt/externally-initialized-global-ctr.ll
index ad26a1a9bbfff..4a4d8e3ec6882 100644
--- a/llvm/test/Transforms/GlobalOpt/externally-initialized-global-ctr.ll
+++ b/llvm/test/Transforms/GlobalOpt/externally-initialized-global-ctr.ll
@@ -5,7 +5,7 @@
; Make it easier to verify that alignment is correct/optimal:
; 16-bit pointers with 32-bit ABI alignment and 128-bit preferred alignment
-target datalayout = "p:16:32:128"
+target datalayout = "p:16:32:128"
%struct.ButtonInitData = type { ptr }
@@ -19,7 +19,7 @@ target datalayout = "p:16:32:128"
; Choose the preferred alignment.
-; CHECK: @[[_ZL14BUTTONINITDATA_0_0:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr global ptr null, align 16
+; CHECK: @[[_ZL14BUTTONINITDATA_0_0:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr global ptr zeroinitializer, align 16
;.
define internal void @__cxx_global_var_init() section "__TEXT,__StaticInit,regular,pure_instructions" {
%1 = load ptr, ptr @"\01L_OBJC_SELECTOR_REFERENCES_41", !invariant.load !2009
diff --git a/llvm/test/Transforms/GlobalOpt/global-constructor-complex-constants.ll b/llvm/test/Transforms/GlobalOpt/global-constructor-complex-constants.ll
index 6d9bdc41a0041..bde2d91a191c0 100644
--- a/llvm/test/Transforms/GlobalOpt/global-constructor-complex-constants.ll
+++ b/llvm/test/Transforms/GlobalOpt/global-constructor-complex-constants.ll
@@ -3,13 +3,13 @@
@llvm.global_ctors = appending global [3 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @ctor, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @ctor_nocfi, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @ctor_dso_local_equivalent, ptr null }]
- at foo = internal global ptr null
+ at foo = internal global ptr zeroinitializer
declare void @user(ptr)
;.
; CHECK: @llvm.global_ctors = appending global [3 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @ctor, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @ctor_nocfi, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @ctor_dso_local_equivalent, ptr null }]
-; CHECK: @foo = internal global ptr null
+; CHECK: @foo = internal global ptr zeroinitializer
;.
define void @ctor() {
; CHECK-LABEL: define void @ctor() {
diff --git a/llvm/test/Transforms/GlobalOpt/globalsra-align.ll b/llvm/test/Transforms/GlobalOpt/globalsra-align.ll
index 74ccb3f279ed0..3cd5010bda09e 100644
--- a/llvm/test/Transforms/GlobalOpt/globalsra-align.ll
+++ b/llvm/test/Transforms/GlobalOpt/globalsra-align.ll
@@ -14,10 +14,10 @@ target datalayout = "p:16:32:64" ; 16-bit pointers with 32-bit ABI alignment and
; preferred alignment from the datalayout.
;.
-; CHECK: @[[A_4:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr externally_initialized global ptr null, align 8
-; CHECK: @[[A_5:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr externally_initialized global ptr null, align 8
-; CHECK: @[[A_6:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr externally_initialized global ptr null, align 16
-; CHECK: @[[A_7:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr externally_initialized global ptr null, align 8
+; CHECK: @[[A_4:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr externally_initialized global ptr zeroinitializer, align 8
+; CHECK: @[[A_5:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr externally_initialized global ptr zeroinitializer, align 8
+; CHECK: @[[A_6:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr externally_initialized global ptr zeroinitializer, align 16
+; CHECK: @[[A_7:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr externally_initialized global ptr zeroinitializer, align 8
;.
define ptr @reduce_align_0() {
; CHECK-LABEL: @reduce_align_0(
diff --git a/llvm/test/Transforms/GlobalOpt/heap-sra-1-no-null-opt.ll b/llvm/test/Transforms/GlobalOpt/heap-sra-1-no-null-opt.ll
index fd613cf12a135..322958144ef30 100644
--- a/llvm/test/Transforms/GlobalOpt/heap-sra-1-no-null-opt.ll
+++ b/llvm/test/Transforms/GlobalOpt/heap-sra-1-no-null-opt.ll
@@ -2,7 +2,7 @@
target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128"
%struct.foo = type { i32, i32 }
- at X = internal global ptr null
+ at X = internal global ptr zeroinitializer
; CHECK: @X
; CHECK-NOT: @X.f0
diff --git a/llvm/test/Transforms/GlobalOpt/heap-sra-1.ll b/llvm/test/Transforms/GlobalOpt/heap-sra-1.ll
index e3318af328d64..cc77f1a1ed2bf 100644
--- a/llvm/test/Transforms/GlobalOpt/heap-sra-1.ll
+++ b/llvm/test/Transforms/GlobalOpt/heap-sra-1.ll
@@ -4,7 +4,7 @@ target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:1
;; Heap SROA has been removed. This tests we don't perform heap SROA.
; CHECK: @X =
%struct.foo = type { i32, i32 }
- at X = internal global ptr null
+ at X = internal global ptr zeroinitializer
define void @bar(i64 %Size) nounwind noinline {
entry:
@@ -18,7 +18,7 @@ declare noalias ptr @malloc(i64)
define i32 @baz() nounwind readonly noinline {
bb1.thread:
- %0 = load ptr, ptr @X, align 4
+ %0 = load ptr, ptr @X, align 4
br label %bb1
bb1: ; preds = %bb1, %bb1.thread
@@ -26,9 +26,9 @@ bb1: ; preds = %bb1, %bb1.thread
%sum.0.reg2mem.0 = phi i32 [ 0, %bb1.thread ], [ %3, %bb1 ]
%1 = getelementptr %struct.foo, ptr %0, i32 %i.0.reg2mem.0, i32 0
%2 = load i32, ptr %1, align 4
- %3 = add i32 %2, %sum.0.reg2mem.0
- %indvar.next = add i32 %i.0.reg2mem.0, 1
- %exitcond = icmp eq i32 %indvar.next, 1200
+ %3 = add i32 %2, %sum.0.reg2mem.0
+ %indvar.next = add i32 %i.0.reg2mem.0, 1
+ %exitcond = icmp eq i32 %indvar.next, 1200
br i1 %exitcond, label %bb2, label %bb1
bb2: ; preds = %bb1
diff --git a/llvm/test/Transforms/GlobalOpt/heap-sra-2-no-null-opt.ll b/llvm/test/Transforms/GlobalOpt/heap-sra-2-no-null-opt.ll
index 360ae5efc9d21..8751f33e8fd73 100644
--- a/llvm/test/Transforms/GlobalOpt/heap-sra-2-no-null-opt.ll
+++ b/llvm/test/Transforms/GlobalOpt/heap-sra-2-no-null-opt.ll
@@ -2,7 +2,7 @@
target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128"
%struct.foo = type { i32, i32 }
- at X = internal global ptr null ; <ptr> [#uses=2]
+ at X = internal global ptr zeroinitializer ; <ptr> [#uses=2]
; CHECK: @X
; CHECK-NOT: @X.f0
diff --git a/llvm/test/Transforms/GlobalOpt/heap-sra-2.ll b/llvm/test/Transforms/GlobalOpt/heap-sra-2.ll
index 094e5a92447ec..89cb352d293b4 100644
--- a/llvm/test/Transforms/GlobalOpt/heap-sra-2.ll
+++ b/llvm/test/Transforms/GlobalOpt/heap-sra-2.ll
@@ -4,7 +4,7 @@ target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:1
;; Heap SROA has been removed. This tests we don't perform heap SROA.
; CHECK: @X =
%struct.foo = type { i32, i32 }
- at X = internal global ptr null ; <ptr> [#uses=2]
+ at X = internal global ptr zeroinitializer ; <ptr> [#uses=2]
define void @bar(i32 %Size) nounwind noinline {
entry:
diff --git a/llvm/test/Transforms/GlobalOpt/heap-sra-phi-no-null-opt.ll b/llvm/test/Transforms/GlobalOpt/heap-sra-phi-no-null-opt.ll
index 20d0e855fc46f..ea270796cfe02 100644
--- a/llvm/test/Transforms/GlobalOpt/heap-sra-phi-no-null-opt.ll
+++ b/llvm/test/Transforms/GlobalOpt/heap-sra-phi-no-null-opt.ll
@@ -3,7 +3,7 @@ target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:1
%struct.foo = type { i32, i32 }
- at X = internal global ptr null ; <ptr> [#uses=2]
+ at X = internal global ptr zeroinitializer ; <ptr> [#uses=2]
; CHECK: @X
; CHECK-NOT: @X.f0
diff --git a/llvm/test/Transforms/GlobalOpt/heap-sra-phi.ll b/llvm/test/Transforms/GlobalOpt/heap-sra-phi.ll
index 9698078b75a7e..648ca4e32f2de 100644
--- a/llvm/test/Transforms/GlobalOpt/heap-sra-phi.ll
+++ b/llvm/test/Transforms/GlobalOpt/heap-sra-phi.ll
@@ -5,7 +5,7 @@ target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:1
;; Heap SROA has been removed. This tests we don't perform heap SROA.
; CHECK: @X =
%struct.foo = type { i32, i32 }
- at X = internal global ptr null ; <ptr> [#uses=2]
+ at X = internal global ptr zeroinitializer ; <ptr> [#uses=2]
define void @bar(i32 %Size) nounwind noinline {
entry:
@@ -33,7 +33,7 @@ bb1: ; preds = %bb1, %bb1.thread
%tmp5 = load i32 , ptr %tmp4
%tmp3 = add i32 %tmp5, %tmp6
%indvar.next = add i32 %i.0.reg2mem.0, 1 ; <i32> [#uses=2]
-
+
%tmpLD2 = load ptr, ptr @X, align 4 ; <ptr> [#uses=1]
%exitcond = icmp eq i32 %indvar.next, 1200 ; <i1> [#uses=1]
diff --git a/llvm/test/Transforms/GlobalOpt/invariant.group.ll b/llvm/test/Transforms/GlobalOpt/invariant.group.ll
index f91bc954a3777..7f63d887ace5e 100644
--- a/llvm/test/Transforms/GlobalOpt/invariant.group.ll
+++ b/llvm/test/Transforms/GlobalOpt/invariant.group.ll
@@ -9,7 +9,7 @@
@tmp = global i32 0
@tmp2 = global i32 0
@tmp3 = global i32 0
- at ptrToTmp3 = global ptr null
+ at ptrToTmp3 = global ptr zeroinitializer
define i32 @TheAnswerToLifeTheUniverseAndEverything() {
ret i32 42
@@ -78,8 +78,8 @@ enter:
}
@tmp5 = global i32 0
- at tmp6 = global ptr null
-; CHECK: @tmp6 = local_unnamed_addr global ptr null
+ at tmp6 = global ptr zeroinitializer
+; CHECK: @tmp6 = local_unnamed_addr global ptr zeroinitializer
define ptr @_dont_return_param(ptr %p) {
%p2 = call ptr @llvm.launder.invariant.group(ptr %p)
diff --git a/llvm/test/Transforms/GlobalOpt/issue62384.ll b/llvm/test/Transforms/GlobalOpt/issue62384.ll
index cc2bc8940b891..3095b2e90432d 100644
--- a/llvm/test/Transforms/GlobalOpt/issue62384.ll
+++ b/llvm/test/Transforms/GlobalOpt/issue62384.ll
@@ -3,17 +3,17 @@
@llvm.used = appending global [1 x ptr] [ptr @ctor]
- at gv0 = internal addrspace(1) global ptr null
+ at gv0 = internal addrspace(1) global ptr zeroinitializer
@gv1 = internal addrspace(1) global ptr addrspace(3) null
@gv2 = internal addrspace(1) global ptr addrspace(1) null
@gv3 = internal addrspace(1) global ptr addrspace(1) null
define internal void @ctor() {
; CHECK-LABEL: define internal void @ctor() {
-; CHECK-NEXT: tail call fastcc void @init0(ptr addrspacecast (ptr addrspace(1) null to ptr))
-; CHECK-NEXT: tail call fastcc void @init1(ptr addrspacecast (ptr addrspace(3) null to ptr))
-; CHECK-NEXT: tail call fastcc void @init2(ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)))
-; CHECK-NEXT: tail call fastcc void @init3(ptr addrspace(1) addrspacecast (ptr addrspace(2) null to ptr addrspace(1)))
+; CHECK-NEXT: tail call fastcc void @init0(ptr null)
+; CHECK-NEXT: tail call fastcc void @init1(ptr null)
+; CHECK-NEXT: tail call fastcc void @init2(ptr addrspace(1) null)
+; CHECK-NEXT: tail call fastcc void @init3(ptr addrspace(1) null)
; CHECK-NEXT: ret void
;
tail call void @init0(ptr addrspacecast (ptr addrspace(1) null to ptr))
@@ -26,9 +26,7 @@ define internal void @ctor() {
define internal void @init0(ptr %T) {
; CHECK-LABEL: define internal fastcc void @init0
; CHECK-SAME: (ptr [[T:%.*]]) unnamed_addr {
-; CHECK-NEXT: [[LD:%.*]] = load ptr, ptr addrspace(1) @gv0, align 8
-; CHECK-NEXT: [[CMP:%.*]] = icmp eq ptr [[LD]], null
-; CHECK-NEXT: store ptr addrspacecast (ptr addrspace(1) null to ptr), ptr addrspace(1) @gv0, align 8
+; CHECK-NEXT: [[CMP:%.*]] = icmp eq ptr null, null
; CHECK-NEXT: ret void
;
%ld = load ptr, ptr addrspace(1) @gv0, align 8
@@ -42,7 +40,7 @@ define internal void @init1(ptr %T) {
; CHECK-SAME: (ptr [[T:%.*]]) unnamed_addr {
; CHECK-NEXT: [[LD:%.*]] = load ptr addrspace(3), ptr addrspace(1) @gv1, align 4
; CHECK-NEXT: [[CMP:%.*]] = icmp eq ptr addrspace(3) [[LD]], null
-; CHECK-NEXT: store ptr addrspacecast (ptr addrspace(3) null to ptr), ptr addrspace(1) @gv1, align 8
+; CHECK-NEXT: store ptr null, ptr addrspace(1) @gv1, align 8
; CHECK-NEXT: ret void
;
%ld = load ptr addrspace(3), ptr addrspace(1) @gv1, align 4
@@ -54,9 +52,7 @@ define internal void @init1(ptr %T) {
define internal void @init2(ptr addrspace(1) %T) {
; CHECK-LABEL: define internal fastcc void @init2
; CHECK-SAME: (ptr addrspace(1) [[T:%.*]]) unnamed_addr {
-; CHECK-NEXT: [[LD:%.*]] = load ptr addrspace(1), ptr addrspace(1) @gv2, align 4
-; CHECK-NEXT: [[CMP:%.*]] = icmp eq ptr addrspace(1) [[LD]], null
-; CHECK-NEXT: store ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)), ptr addrspace(1) @gv2, align 8
+; CHECK-NEXT: [[CMP:%.*]] = icmp eq ptr addrspace(1) null, null
; CHECK-NEXT: ret void
;
%ld = load ptr addrspace(1), ptr addrspace(1) @gv2, align 4
@@ -68,9 +64,7 @@ define internal void @init2(ptr addrspace(1) %T) {
define internal void @init3(ptr addrspace(1) %T) {
; CHECK-LABEL: define internal fastcc void @init3
; CHECK-SAME: (ptr addrspace(1) [[T:%.*]]) unnamed_addr {
-; CHECK-NEXT: [[LD:%.*]] = load ptr addrspace(1), ptr addrspace(1) @gv3, align 4
-; CHECK-NEXT: [[CMP:%.*]] = icmp eq ptr addrspace(1) [[LD]], null
-; CHECK-NEXT: store ptr addrspace(1) addrspacecast (ptr addrspace(2) null to ptr addrspace(1)), ptr addrspace(1) @gv3, align 8
+; CHECK-NEXT: [[CMP:%.*]] = icmp eq ptr addrspace(1) null, null
; CHECK-NEXT: ret void
;
%ld = load ptr addrspace(1), ptr addrspace(1) @gv3, align 4
diff --git a/llvm/test/Transforms/GlobalOpt/load-store-global-no-null-opt.ll b/llvm/test/Transforms/GlobalOpt/load-store-global-no-null-opt.ll
index 4e8b0c4da68e9..6840d284de2d7 100644
--- a/llvm/test/Transforms/GlobalOpt/load-store-global-no-null-opt.ll
+++ b/llvm/test/Transforms/GlobalOpt/load-store-global-no-null-opt.ll
@@ -1,6 +1,6 @@
; RUN: opt < %s -passes=globalopt -S | FileCheck %s
- at a = internal global ptr null, align 8
+ at a = internal global ptr zeroinitializer, align 8
; CHECK: @a
; PR13968
diff --git a/llvm/test/Transforms/GlobalOpt/load-store-global.ll b/llvm/test/Transforms/GlobalOpt/load-store-global.ll
index 5001bef6a8497..42cd40e163444 100644
--- a/llvm/test/Transforms/GlobalOpt/load-store-global.ll
+++ b/llvm/test/Transforms/GlobalOpt/load-store-global.ll
@@ -18,7 +18,7 @@ define i32 @bar() {
; CHECK-NEXT: ret i32 17
}
- at a = internal global ptr null, align 8
+ at a = internal global ptr zeroinitializer, align 8
; CHECK-NOT: @a
; PR13968
@@ -35,7 +35,7 @@ define void @qux() nounwind {
; CHECK-NOT: load
}
- at addrspacecast_a = internal global ptr null
+ at addrspacecast_a = internal global ptr zeroinitializer
define void @addrspacecast_user() {
; CHECK-LABEL: @addrspacecast_user
diff --git a/llvm/test/Transforms/GlobalOpt/localize-constexpr-debuginfo.ll b/llvm/test/Transforms/GlobalOpt/localize-constexpr-debuginfo.ll
index 9bae10081c48d..33ca16d4f286b 100644
--- a/llvm/test/Transforms/GlobalOpt/localize-constexpr-debuginfo.ll
+++ b/llvm/test/Transforms/GlobalOpt/localize-constexpr-debuginfo.ll
@@ -3,7 +3,7 @@
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at _ZL1x = internal global ptr null, align 8, !dbg !0
+ at _ZL1x = internal global ptr zeroinitializer, align 8, !dbg !0
define i32 @main(i32 %argc, ptr %argv) norecurse !dbg !18 {
; CHECK: define i32 @main
diff --git a/llvm/test/Transforms/GlobalOpt/malloc-promote-1-no-null-opt.ll b/llvm/test/Transforms/GlobalOpt/malloc-promote-1-no-null-opt.ll
index c5fb37033bb3c..c22fb85771751 100644
--- a/llvm/test/Transforms/GlobalOpt/malloc-promote-1-no-null-opt.ll
+++ b/llvm/test/Transforms/GlobalOpt/malloc-promote-1-no-null-opt.ll
@@ -2,10 +2,10 @@
; RUN: opt < %s -passes=globalopt -S | FileCheck %s
target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128"
- at G = internal global ptr null ; <ptr> [#uses=3]
+ at G = internal global ptr zeroinitializer ; <ptr> [#uses=3]
;.
-; CHECK: @[[G:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr global ptr null
+; CHECK: @[[G:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr global ptr zeroinitializer
;.
define void @init() #0 {
; CHECK-LABEL: @init(
diff --git a/llvm/test/Transforms/GlobalOpt/malloc-promote-1.ll b/llvm/test/Transforms/GlobalOpt/malloc-promote-1.ll
index e1fa45f3ceecf..9d30c7312a4f6 100644
--- a/llvm/test/Transforms/GlobalOpt/malloc-promote-1.ll
+++ b/llvm/test/Transforms/GlobalOpt/malloc-promote-1.ll
@@ -2,7 +2,7 @@
; RUN: opt < %s -passes=globalopt -S | FileCheck %s
target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128"
- at G = internal global ptr null
+ at G = internal global ptr zeroinitializer
define void @init() {
; CHECK-LABEL: @init(
diff --git a/llvm/test/Transforms/GlobalOpt/malloc-promote-2-no-null-opt.ll b/llvm/test/Transforms/GlobalOpt/malloc-promote-2-no-null-opt.ll
index f99afe4a878d4..8fe9607b564e3 100644
--- a/llvm/test/Transforms/GlobalOpt/malloc-promote-2-no-null-opt.ll
+++ b/llvm/test/Transforms/GlobalOpt/malloc-promote-2-no-null-opt.ll
@@ -2,10 +2,10 @@
; RUN: opt < %s -passes=globalopt -S | FileCheck %s
target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128"
- at G = internal global ptr null
+ at G = internal global ptr zeroinitializer
;.
-; CHECK: @G = internal unnamed_addr global ptr null
+; CHECK: @G = internal unnamed_addr global ptr zeroinitializer
;.
define void @t() #0 {
; CHECK-LABEL: @t(
diff --git a/llvm/test/Transforms/GlobalOpt/malloc-promote-2.ll b/llvm/test/Transforms/GlobalOpt/malloc-promote-2.ll
index 378050ba934f6..3e14128c90f15 100644
--- a/llvm/test/Transforms/GlobalOpt/malloc-promote-2.ll
+++ b/llvm/test/Transforms/GlobalOpt/malloc-promote-2.ll
@@ -2,7 +2,7 @@
; RUN: opt < %s -passes=globalopt -S | FileCheck %s
target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128"
- at G = internal global ptr null
+ at G = internal global ptr zeroinitializer
define void @t() {
; CHECK-LABEL: @t(
diff --git a/llvm/test/Transforms/GlobalOpt/malloc-promote-3.ll b/llvm/test/Transforms/GlobalOpt/malloc-promote-3.ll
index 082a5095692d4..8345edb49c2c3 100644
--- a/llvm/test/Transforms/GlobalOpt/malloc-promote-3.ll
+++ b/llvm/test/Transforms/GlobalOpt/malloc-promote-3.ll
@@ -2,10 +2,10 @@
; RUN: opt < %s -passes=globalopt -S | FileCheck %s
target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128"
- at G = internal global ptr null
+ at G = internal global ptr zeroinitializer
;.
-; CHECK: @[[G:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr global ptr null
+; CHECK: @[[G:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr global ptr zeroinitializer
;.
define void @t() {
; CHECK-LABEL: @t(
diff --git a/llvm/test/Transforms/GlobalOpt/malloc-promote-4.ll b/llvm/test/Transforms/GlobalOpt/malloc-promote-4.ll
index 9091806e657a6..574ec34ea3a6b 100644
--- a/llvm/test/Transforms/GlobalOpt/malloc-promote-4.ll
+++ b/llvm/test/Transforms/GlobalOpt/malloc-promote-4.ll
@@ -1,7 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --check-globals
; RUN: opt -S -passes=globalopt -o - < %s | FileCheck %s
- at g = internal global ptr null, align 8
+ at g = internal global ptr zeroinitializer, align 8
;.
; CHECK: @[[G_INIT:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr global i1 false
diff --git a/llvm/test/Transforms/GlobalOpt/malloc-promote-5.ll b/llvm/test/Transforms/GlobalOpt/malloc-promote-5.ll
index 92b1c946923cb..f28bdaa6a450b 100644
--- a/llvm/test/Transforms/GlobalOpt/malloc-promote-5.ll
+++ b/llvm/test/Transforms/GlobalOpt/malloc-promote-5.ll
@@ -1,7 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt -passes=globalopt -S < %s | FileCheck %s
- at g = internal global ptr null, align 8
+ at g = internal global ptr zeroinitializer, align 8
define signext i32 @f() local_unnamed_addr {
; CHECK-LABEL: @f(
diff --git a/llvm/test/Transforms/GlobalOpt/malloc-promote-6.ll b/llvm/test/Transforms/GlobalOpt/malloc-promote-6.ll
index 589bec58a982a..38d6392bd4a2d 100644
--- a/llvm/test/Transforms/GlobalOpt/malloc-promote-6.ll
+++ b/llvm/test/Transforms/GlobalOpt/malloc-promote-6.ll
@@ -2,7 +2,7 @@
; CHECK-NOT: @global
- at global = internal global ptr null
+ at global = internal global ptr zeroinitializer
@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @zot, ptr null }]
declare ptr @_Znwm(i64)
diff --git a/llvm/test/Transforms/GlobalOpt/malloc-promote-addrspace.ll b/llvm/test/Transforms/GlobalOpt/malloc-promote-addrspace.ll
index bd0957150748f..c26ee284823b9 100644
--- a/llvm/test/Transforms/GlobalOpt/malloc-promote-addrspace.ll
+++ b/llvm/test/Transforms/GlobalOpt/malloc-promote-addrspace.ll
@@ -1,7 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --check-globals
; RUN: opt -S -passes=globalopt -o - < %s | FileCheck %s
- at g = internal addrspace(200) global ptr null, align 8
+ at g = internal addrspace(200) global ptr zeroinitializer, align 8
;.
; CHECK: @g.init = internal unnamed_addr addrspace(200) global i1 false
diff --git a/llvm/test/Transforms/GlobalOpt/malloc-promote-addrspacecast.ll b/llvm/test/Transforms/GlobalOpt/malloc-promote-addrspacecast.ll
index 8c2cc7a79a8c0..f95a409308c9d 100644
--- a/llvm/test/Transforms/GlobalOpt/malloc-promote-addrspacecast.ll
+++ b/llvm/test/Transforms/GlobalOpt/malloc-promote-addrspacecast.ll
@@ -4,7 +4,7 @@ target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:1
declare noalias ptr @malloc(i64) allockind("alloc,uninitialized") allocsize(0)
- at G = internal global ptr null
+ at G = internal global ptr zeroinitializer
define void @init() {
; CHECK-LABEL: @init(
diff --git a/llvm/test/Transforms/GlobalOpt/malloc-promote-atomic.ll b/llvm/test/Transforms/GlobalOpt/malloc-promote-atomic.ll
index 0ecdf095efdd8..3eefc6b2ad05a 100644
--- a/llvm/test/Transforms/GlobalOpt/malloc-promote-atomic.ll
+++ b/llvm/test/Transforms/GlobalOpt/malloc-promote-atomic.ll
@@ -1,7 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
; RUN: opt -passes=globalopt -S < %s | FileCheck %s
- at g = internal global ptr null, align 8
+ at g = internal global ptr zeroinitializer, align 8
define void @init() {
; CHECK-LABEL: define void @init() local_unnamed_addr {
diff --git a/llvm/test/Transforms/GlobalOpt/malloc-promote-opaque-ptr.ll b/llvm/test/Transforms/GlobalOpt/malloc-promote-opaque-ptr.ll
index 4916354709878..ce01540f0c89c 100644
--- a/llvm/test/Transforms/GlobalOpt/malloc-promote-opaque-ptr.ll
+++ b/llvm/test/Transforms/GlobalOpt/malloc-promote-opaque-ptr.ll
@@ -1,9 +1,9 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals
; RUN: opt -S -passes=globalopt < %s | FileCheck %s
- at g1 = internal global ptr null
- at g2 = internal global ptr null
- at g3 = internal global ptr null
+ at g1 = internal global ptr zeroinitializer
+ at g2 = internal global ptr zeroinitializer
+ at g3 = internal global ptr zeroinitializer
declare noalias ptr @malloc(i64) allockind("alloc,uninitialized") allocsize(0)
diff --git a/llvm/test/Transforms/GlobalOpt/memset-null.ll b/llvm/test/Transforms/GlobalOpt/memset-null.ll
index 838c987e5d60b..332553cde17c5 100644
--- a/llvm/test/Transforms/GlobalOpt/memset-null.ll
+++ b/llvm/test/Transforms/GlobalOpt/memset-null.ll
@@ -18,7 +18,7 @@ entry:
}
%struct.X = type { i8 }
- at y = global ptr null, align 8
+ at y = global ptr zeroinitializer, align 8
@x = global %struct.X zeroinitializer, align 1
define internal void @_GLOBAL__I_b() nounwind {
diff --git a/llvm/test/Transforms/GlobalOpt/metadata.ll b/llvm/test/Transforms/GlobalOpt/metadata.ll
index 3b6e121d7ce6e..71b8a29b9d39e 100644
--- a/llvm/test/Transforms/GlobalOpt/metadata.ll
+++ b/llvm/test/Transforms/GlobalOpt/metadata.ll
@@ -3,7 +3,7 @@
; PR6112 - When globalopt does RAUW(@G, %G), the metadata reference should drop
; to null. Function local metadata that references @G from a different function
; to that containing %G should likewise drop to null.
- at G = internal global ptr null
+ at G = internal global ptr zeroinitializer
define i32 @main(i32 %argc, ptr %argv) norecurse {
; CHECK-LABEL: @main(
diff --git a/llvm/test/Transforms/GlobalOpt/new-promote.ll b/llvm/test/Transforms/GlobalOpt/new-promote.ll
index bf0b6a91fd76d..944459dcab4de 100644
--- a/llvm/test/Transforms/GlobalOpt/new-promote.ll
+++ b/llvm/test/Transforms/GlobalOpt/new-promote.ll
@@ -1,7 +1,7 @@
; RUN: opt -passes=globalopt -S < %s | FileCheck %s
%s = type { i32 }
- at g = internal global ptr null, align 8
+ at g = internal global ptr zeroinitializer, align 8
; Test code pattern for:
; class s { int a; s() { a = 1;} };
diff --git a/llvm/test/Transforms/GlobalOpt/null-check-global-value.ll b/llvm/test/Transforms/GlobalOpt/null-check-global-value.ll
index bff1a79fd9eeb..ae908925ba848 100644
--- a/llvm/test/Transforms/GlobalOpt/null-check-global-value.ll
+++ b/llvm/test/Transforms/GlobalOpt/null-check-global-value.ll
@@ -2,7 +2,7 @@
%sometype = type { ptr }
- at map = internal unnamed_addr global ptr null, align 8
+ at map = internal unnamed_addr global ptr zeroinitializer, align 8
define void @Init() {
; CHECK-LABEL: @Init(
diff --git a/llvm/test/Transforms/GlobalOpt/null-check-is-use-pr35760.ll b/llvm/test/Transforms/GlobalOpt/null-check-is-use-pr35760.ll
index 70923c547940c..5a2353c005c77 100644
--- a/llvm/test/Transforms/GlobalOpt/null-check-is-use-pr35760.ll
+++ b/llvm/test/Transforms/GlobalOpt/null-check-is-use-pr35760.ll
@@ -4,7 +4,7 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at _ZL3g_i = internal global ptr null, align 8
+ at _ZL3g_i = internal global ptr zeroinitializer, align 8
@.str = private unnamed_addr constant [2 x i8] c"0\00", align 1
@.str.1 = private unnamed_addr constant [2 x i8] c"1\00", align 1
diff --git a/llvm/test/Transforms/GlobalOpt/null-check-not-use-pr35760.ll b/llvm/test/Transforms/GlobalOpt/null-check-not-use-pr35760.ll
index a499fe1e4ad92..89df25c01bebe 100644
--- a/llvm/test/Transforms/GlobalOpt/null-check-not-use-pr35760.ll
+++ b/llvm/test/Transforms/GlobalOpt/null-check-not-use-pr35760.ll
@@ -6,8 +6,8 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at _ZL3g_i = internal global ptr null, align 8
- at _ZL3g_j = global ptr null, align 8
+ at _ZL3g_i = internal global ptr zeroinitializer, align 8
+ at _ZL3g_j = global ptr zeroinitializer, align 8
@.str = private unnamed_addr constant [2 x i8] c"0\00", align 1
@.str.1 = private unnamed_addr constant [2 x i8] c"1\00", align 1
diff --git a/llvm/test/Transforms/GlobalOpt/pr54572.ll b/llvm/test/Transforms/GlobalOpt/pr54572.ll
index 962c75bd83b41..d49da680db51d 100644
--- a/llvm/test/Transforms/GlobalOpt/pr54572.ll
+++ b/llvm/test/Transforms/GlobalOpt/pr54572.ll
@@ -1,13 +1,13 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals
; RUN: opt -S -passes=globalopt < %s | FileCheck %s
- at b = internal global ptr null
+ at b = internal global ptr zeroinitializer
@c = internal global [2 x ptr] zeroinitializer
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg)
;.
-; CHECK: @[[B:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr global ptr null
+; CHECK: @[[B:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr global ptr zeroinitializer
; CHECK: @[[C:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr constant [2 x ptr] zeroinitializer
;.
define void @test() {
diff --git a/llvm/test/Transforms/GlobalOpt/recursively-delete-dead-inst-assertion.ll b/llvm/test/Transforms/GlobalOpt/recursively-delete-dead-inst-assertion.ll
index 52b958693308a..579b04f2786ca 100644
--- a/llvm/test/Transforms/GlobalOpt/recursively-delete-dead-inst-assertion.ll
+++ b/llvm/test/Transforms/GlobalOpt/recursively-delete-dead-inst-assertion.ll
@@ -5,7 +5,7 @@
; a constant in the meantime. Make sure this does not cause an assertion
; failure.
- at a = internal global ptr null
+ at a = internal global ptr zeroinitializer
@b = internal global ptr @a
define void @test() {
diff --git a/llvm/test/Transforms/GlobalOpt/sra-many-stores-initializers.ll b/llvm/test/Transforms/GlobalOpt/sra-many-stores-initializers.ll
index e1fce4ed129b0..7e1ab63627e4e 100644
--- a/llvm/test/Transforms/GlobalOpt/sra-many-stores-initializers.ll
+++ b/llvm/test/Transforms/GlobalOpt/sra-many-stores-initializers.ll
@@ -5,12 +5,12 @@
@global.20ptr = internal global %struct.20ptr zeroinitializer
- at c = global ptr null
+ at c = global ptr zeroinitializer
;.
-; CHECK: @[[C:[a-zA-Z0-9_$"\\.-]+]] = global ptr null
+; CHECK: @[[C:[a-zA-Z0-9_$"\\.-]+]] = global ptr zeroinitializer
; CHECK: @[[GLOBAL_20PTR_3:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr global [[STRUCT_20PTR:%.*]] { ptr @c, ptr @c, ptr @c, ptr @c, ptr @c, ptr @c, ptr @c, ptr @c, ptr @c, ptr @c, ptr @c, ptr @c, ptr @c, ptr @c, ptr @c, ptr @c, ptr null, ptr null, ptr null, ptr @c }
-; CHECK: @[[GLOBAL_20PTR_4_16:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr global ptr null
+; CHECK: @[[GLOBAL_20PTR_4_16:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr global ptr zeroinitializer
;.
define void @store_initializer() {
; CHECK-LABEL: @store_initializer(
diff --git a/llvm/test/Transforms/GlobalOpt/stored-once-addrspacecast.ll b/llvm/test/Transforms/GlobalOpt/stored-once-addrspacecast.ll
index 35678598032dc..edbeed18f7d54 100644
--- a/llvm/test/Transforms/GlobalOpt/stored-once-addrspacecast.ll
+++ b/llvm/test/Transforms/GlobalOpt/stored-once-addrspacecast.ll
@@ -4,11 +4,11 @@
; Test that we do not fold away addresscasts when optimizing once-stored
; globals, as these may be runtime operations.
- at g1 = internal global ptr null
+ at g1 = internal global ptr zeroinitializer
@g2 = addrspace(1) global i32 0
;.
-; CHECK: @g1 = internal unnamed_addr global ptr null
+; CHECK: @g1 = internal unnamed_addr global ptr zeroinitializer
; CHECK: @g2 = addrspace(1) global i32 0
; CHECK: @g4 = local_unnamed_addr addrspace(1) global i32 0
;.
@@ -27,7 +27,7 @@ define i64 @test1() {
ret i64 %l3
}
- at g3 = internal global ptr null
+ at g3 = internal global ptr zeroinitializer
@g4 = addrspace(1) global i32 0
define i64 @test2() {
diff --git a/llvm/test/Transforms/GlobalOpt/stored-once-forward-value.ll b/llvm/test/Transforms/GlobalOpt/stored-once-forward-value.ll
index 2b7ceb4169f35..004f1263dbcb8 100644
--- a/llvm/test/Transforms/GlobalOpt/stored-once-forward-value.ll
+++ b/llvm/test/Transforms/GlobalOpt/stored-once-forward-value.ll
@@ -8,7 +8,7 @@
@g5 = internal unnamed_addr global i32 0
@g6 = internal unnamed_addr global i32 0
@g7 = internal unnamed_addr global i32 0
- at g8 = internal unnamed_addr global ptr null
+ at g8 = internal unnamed_addr global ptr zeroinitializer
@tl = internal thread_local unnamed_addr global i32 0
declare void @b()
diff --git a/llvm/test/Transforms/GlobalOpt/stored-once-value-type.ll b/llvm/test/Transforms/GlobalOpt/stored-once-value-type.ll
index e1ed8836979b3..f842df7b90e23 100644
--- a/llvm/test/Transforms/GlobalOpt/stored-once-value-type.ll
+++ b/llvm/test/Transforms/GlobalOpt/stored-once-value-type.ll
@@ -6,7 +6,7 @@
%T = type { ptr }
- at 0 = internal global ptr null
+ at 0 = internal global ptr zeroinitializer
define void @a() {
; CHECK-LABEL: @a(
diff --git a/llvm/test/Transforms/GlobalOpt/storepointer-compare-no-null-opt.ll b/llvm/test/Transforms/GlobalOpt/storepointer-compare-no-null-opt.ll
index c94921a88618c..a34873b87d75f 100644
--- a/llvm/test/Transforms/GlobalOpt/storepointer-compare-no-null-opt.ll
+++ b/llvm/test/Transforms/GlobalOpt/storepointer-compare-no-null-opt.ll
@@ -1,7 +1,7 @@
; RUN: opt < %s -passes=globalopt -S | FileCheck %s
; CHECK: global
- at G = internal global ptr null ; <ptr> [#uses=2]
+ at G = internal global ptr zeroinitializer ; <ptr> [#uses=2]
define internal void @Actual() {
; CHECK-LABEL: Actual(
diff --git a/llvm/test/Transforms/GlobalOpt/storepointer-compare.ll b/llvm/test/Transforms/GlobalOpt/storepointer-compare.ll
index 89efe26dbdc81..5c3997333ac88 100644
--- a/llvm/test/Transforms/GlobalOpt/storepointer-compare.ll
+++ b/llvm/test/Transforms/GlobalOpt/storepointer-compare.ll
@@ -1,10 +1,10 @@
; RUN: opt < %s -passes=globalopt -S | FileCheck %s
; CHECK: call void @Actual
-; Check that a comparison does not prevent an indirect call from being made
+; Check that a comparison does not prevent an indirect call from being made
; direct. The global will still remain, but indirect call elim is still good.
- at G = internal global ptr null ; <ptr> [#uses=2]
+ at G = internal global ptr zeroinitializer ; <ptr> [#uses=2]
define internal void @Actual() {
ret void
diff --git a/llvm/test/Transforms/GlobalOpt/storepointer-no-null-opt.ll b/llvm/test/Transforms/GlobalOpt/storepointer-no-null-opt.ll
index a759de98f05f3..e5ab23a2d9b98 100644
--- a/llvm/test/Transforms/GlobalOpt/storepointer-no-null-opt.ll
+++ b/llvm/test/Transforms/GlobalOpt/storepointer-no-null-opt.ll
@@ -1,6 +1,6 @@
; RUN: opt < %s -passes=globalopt -S | FileCheck %s
- at G = internal global ptr null ; <ptr> [#uses=2]
+ at G = internal global ptr zeroinitializer ; <ptr> [#uses=2]
; CHECK: global
define internal void @Actual() {
diff --git a/llvm/test/Transforms/GlobalOpt/storepointer.ll b/llvm/test/Transforms/GlobalOpt/storepointer.ll
index 9a88ee0a21763..97e5ba1463d3c 100644
--- a/llvm/test/Transforms/GlobalOpt/storepointer.ll
+++ b/llvm/test/Transforms/GlobalOpt/storepointer.ll
@@ -1,7 +1,7 @@
; RUN: opt < %s -passes=globalopt -S | FileCheck %s
; CHECK-NOT: global
- at G = internal global ptr null ; <ptr> [#uses=2]
+ at G = internal global ptr zeroinitializer ; <ptr> [#uses=2]
define internal void @Actual() {
ret void
diff --git a/llvm/test/Transforms/GlobalOpt/tls.ll b/llvm/test/Transforms/GlobalOpt/tls.ll
index 2cc2ea4e366e3..dfc2869a49686 100644
--- a/llvm/test/Transforms/GlobalOpt/tls.ll
+++ b/llvm/test/Transforms/GlobalOpt/tls.ll
@@ -6,7 +6,7 @@ declare void @signal()
declare void @start_thread(ptr)
@x = internal thread_local global [100 x i32] zeroinitializer, align 16
- at ip = internal global ptr null, align 8
+ at ip = internal global ptr zeroinitializer, align 8
; PR14309: GlobalOpt would think that the value of @ip is always the address of
; x[1]. However, that address is different for different threads so @ip cannot
diff --git a/llvm/test/Transforms/HardwareLoops/ARM/counter.ll b/llvm/test/Transforms/HardwareLoops/ARM/counter.ll
index 35dea0b706048..5a60c59262771 100644
--- a/llvm/test/Transforms/HardwareLoops/ARM/counter.ll
+++ b/llvm/test/Transforms/HardwareLoops/ARM/counter.ll
@@ -1,6 +1,6 @@
; RUN: opt -mtriple=thumbv8.1m.main-none-none-eabi -passes=hardware-loops %s -o - | FileCheck %s
- at g = common local_unnamed_addr global ptr null, align 4
+ at g = common local_unnamed_addr global ptr zeroinitializer, align 4
; CHECK-LABEL: counter_too_large
; CHECK-NOT: call void @llvm.set.loop.iterations
diff --git a/llvm/test/Transforms/HardwareLoops/ARM/do-rem.ll b/llvm/test/Transforms/HardwareLoops/ARM/do-rem.ll
index ed1b0e17469ea..fe51334d6c2c5 100644
--- a/llvm/test/Transforms/HardwareLoops/ARM/do-rem.ll
+++ b/llvm/test/Transforms/HardwareLoops/ARM/do-rem.ll
@@ -1,6 +1,6 @@
; RUN: opt -mtriple=thumbv8.1m.main-none-none-eabi -passes=hardware-loops %s -S -o - | FileCheck %s
- at g = common local_unnamed_addr global ptr null, align 4
+ at g = common local_unnamed_addr global ptr zeroinitializer, align 4
; CHECK-LABEL: do_with_i32_urem
; CHECK: entry:
diff --git a/llvm/test/Transforms/HardwareLoops/ARM/simple-do.ll b/llvm/test/Transforms/HardwareLoops/ARM/simple-do.ll
index 9130d65fb3ed0..1d50e464fc824 100644
--- a/llvm/test/Transforms/HardwareLoops/ARM/simple-do.ll
+++ b/llvm/test/Transforms/HardwareLoops/ARM/simple-do.ll
@@ -5,7 +5,7 @@
; DISABLED-NOT: llvm.{{.*}}.loop.iterations
; DISABLED-NOT: llvm.loop.decrement
- at g = common local_unnamed_addr global ptr null, align 4
+ at g = common local_unnamed_addr global ptr zeroinitializer, align 4
; CHECK-LABEL: do_copy
; CHECK: [[START:%[^ ]+]] = call i32 @llvm.start.loop.iterations.i32(i32 %n)
diff --git a/llvm/test/Transforms/IROutliner/region-end-of-module.ll b/llvm/test/Transforms/IROutliner/region-end-of-module.ll
index 2ad16078eed27..2f8f2ab1837c2 100644
--- a/llvm/test/Transforms/IROutliner/region-end-of-module.ll
+++ b/llvm/test/Transforms/IROutliner/region-end-of-module.ll
@@ -4,7 +4,7 @@
; This test checks that we do not fail when there is a similarity group with
; an ending instruction that is also the end of the module.
- at a = global ptr null
+ at a = global ptr zeroinitializer
define void @foo() {
entry:
diff --git a/llvm/test/Transforms/IndVarSimplify/AArch64/widen-loop-comp.ll b/llvm/test/Transforms/IndVarSimplify/AArch64/widen-loop-comp.ll
index d4498baf0577a..157c8b65df992 100644
--- a/llvm/test/Transforms/IndVarSimplify/AArch64/widen-loop-comp.ll
+++ b/llvm/test/Transforms/IndVarSimplify/AArch64/widen-loop-comp.ll
@@ -12,7 +12,7 @@ target datalayout = "n8:16:32:64"
@idx = common global i32 0, align 4
@e = common global i32 0, align 4
- at ptr = common global ptr null, align 8
+ at ptr = common global ptr zeroinitializer, align 8
define i32 @test1() {
diff --git a/llvm/test/Transforms/IndVarSimplify/X86/pr26973.ll b/llvm/test/Transforms/IndVarSimplify/X86/pr26973.ll
index 858b341fadc2a..081cc8127b225 100644
--- a/llvm/test/Transforms/IndVarSimplify/X86/pr26973.ll
+++ b/llvm/test/Transforms/IndVarSimplify/X86/pr26973.ll
@@ -3,7 +3,7 @@
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.11.0"
- at a = common global ptr null, align 8
+ at a = common global ptr zeroinitializer, align 8
@b = common global double 0.000000e+00, align 8
define void @fn1(i32 %p1) {
diff --git a/llvm/test/Transforms/IndVarSimplify/zext-nuw.ll b/llvm/test/Transforms/IndVarSimplify/zext-nuw.ll
index 17921afc5ff06..00c5122d3e71b 100644
--- a/llvm/test/Transforms/IndVarSimplify/zext-nuw.ll
+++ b/llvm/test/Transforms/IndVarSimplify/zext-nuw.ll
@@ -3,7 +3,7 @@
%struct.A = type { i8 }
- at c = global ptr null
+ at c = global ptr zeroinitializer
@d = global i32 4
define void @_Z3fn1v() {
diff --git a/llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll b/llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll
index 60bb38f863e8e..5ccea73b10aea 100644
--- a/llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll
+++ b/llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll
@@ -225,7 +225,7 @@ define void @local_nullptr(ptr addrspace(1) nocapture %results, ptr addrspace(3)
; CHECK-LABEL: define void @local_nullptr(
; CHECK-SAME: ptr addrspace(1) captures(none) [[RESULTS:%.*]], ptr addrspace(3) [[A:%.*]]) {
; CHECK-NEXT: [[ENTRY:.*:]]
-; CHECK-NEXT: [[TOBOOL:%.*]] = icmp ne ptr addrspace(3) [[A]], addrspacecast (ptr addrspace(5) null to ptr addrspace(3))
+; CHECK-NEXT: [[TOBOOL:%.*]] = icmp ne ptr addrspace(3) [[A]], null
; CHECK-NEXT: [[CONV:%.*]] = zext i1 [[TOBOOL]] to i32
; CHECK-NEXT: store i32 [[CONV]], ptr addrspace(1) [[RESULTS]], align 4
; CHECK-NEXT: ret void
diff --git a/llvm/test/Transforms/InferAddressSpaces/AMDGPU/issue110433.ll b/llvm/test/Transforms/InferAddressSpaces/AMDGPU/issue110433.ll
index 1928bb98cd2a7..edd5febbbb941 100644
--- a/llvm/test/Transforms/InferAddressSpaces/AMDGPU/issue110433.ll
+++ b/llvm/test/Transforms/InferAddressSpaces/AMDGPU/issue110433.ll
@@ -6,7 +6,7 @@ define <8 x i1> @load_vector_of_flat_ptr_from_constant(ptr addrspace(4) %ptr) {
; CHECK-SAME: ptr addrspace(4) [[PTR:%.*]]) {
; CHECK-NEXT: [[LD:%.*]] = load <8 x ptr>, ptr addrspace(4) [[PTR]], align 128
; CHECK-NEXT: [[TMP1:%.*]] = addrspacecast <8 x ptr> [[LD]] to <8 x ptr addrspace(1)>
-; CHECK-NEXT: [[CMP:%.*]] = icmp eq <8 x ptr addrspace(1)> [[TMP1]], <ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)), ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)), ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)), ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)), ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)), ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)), ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)), ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1))>
+; CHECK-NEXT: [[CMP:%.*]] = icmp eq <8 x ptr addrspace(1)> [[TMP1]], zeroinitializer
; CHECK-NEXT: ret <8 x i1> [[CMP]]
;
%ld = load <8 x ptr>, ptr addrspace(4) %ptr, align 128
diff --git a/llvm/test/Transforms/InferAddressSpaces/AMDGPU/phi-poison.ll b/llvm/test/Transforms/InferAddressSpaces/AMDGPU/phi-poison.ll
index 0ccf7e3df8af9..e5880afb55135 100644
--- a/llvm/test/Transforms/InferAddressSpaces/AMDGPU/phi-poison.ll
+++ b/llvm/test/Transforms/InferAddressSpaces/AMDGPU/phi-poison.ll
@@ -11,8 +11,8 @@ define void @phi_poison(ptr addrspace(1) %arg, <2 x ptr addrspace(1)> %arg1) {
; CHECK: merge:
; CHECK-NEXT: [[I:%.*]] = phi ptr addrspace(1) [ [[ARG:%.*]], [[LEADER]] ], [ poison, [[ENTRY:%.*]] ]
; CHECK-NEXT: [[I2:%.*]] = phi <2 x ptr addrspace(1)> [ [[ARG1:%.*]], [[LEADER]] ], [ poison, [[ENTRY]] ]
-; CHECK-NEXT: [[J:%.*]] = icmp eq ptr addrspace(1) [[I]], addrspacecast (ptr null to ptr addrspace(1))
-; CHECK-NEXT: [[J1:%.*]] = icmp eq <2 x ptr addrspace(1)> [[I2]], <ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)), ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1))>
+; CHECK-NEXT: [[J:%.*]] = icmp eq ptr addrspace(1) [[I]], null
+; CHECK-NEXT: [[J1:%.*]] = icmp eq <2 x ptr addrspace(1)> [[I2]], zeroinitializer
; CHECK-NEXT: ret void
;
entry:
diff --git a/llvm/test/Transforms/InferFunctionAttrs/norecurse_debug.ll b/llvm/test/Transforms/InferFunctionAttrs/norecurse_debug.ll
index 89a09406e5f1d..1bc0056e79c24 100644
--- a/llvm/test/Transforms/InferFunctionAttrs/norecurse_debug.ll
+++ b/llvm/test/Transforms/InferFunctionAttrs/norecurse_debug.ll
@@ -3,7 +3,7 @@
target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
target triple = "armv4t-none-unknown-eabi"
- at foo.coefficient1 = internal unnamed_addr global ptr null, align 4, !dbg !0
+ at foo.coefficient1 = internal unnamed_addr global ptr zeroinitializer, align 4, !dbg !0
@iirLow1 = external dso_local local_unnamed_addr global ptr, align 4
; Function Attrs: nounwind
diff --git a/llvm/test/Transforms/Inline/2009-01-08-NoInlineDynamicAlloca.ll b/llvm/test/Transforms/Inline/2009-01-08-NoInlineDynamicAlloca.ll
index 12e1f112573f4..7485fefe23960 100644
--- a/llvm/test/Transforms/Inline/2009-01-08-NoInlineDynamicAlloca.ll
+++ b/llvm/test/Transforms/Inline/2009-01-08-NoInlineDynamicAlloca.ll
@@ -2,7 +2,7 @@
; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
; Do not inline calls with variable-sized alloca.
- at q = common global ptr null
+ at q = common global ptr zeroinitializer
define ptr @a(i32 %i) nounwind {
; CHECK-LABEL: define ptr @a
diff --git a/llvm/test/Transforms/Inline/alloca_test.ll b/llvm/test/Transforms/Inline/alloca_test.ll
index e4a90799fa326..3c502e4523861 100644
--- a/llvm/test/Transforms/Inline/alloca_test.ll
+++ b/llvm/test/Transforms/Inline/alloca_test.ll
@@ -41,7 +41,7 @@ define void @PR27277(i32 %p1) {
; Don't assume that the size is a ConstantInt (a ConstExpr is also a constant).
- at GV = common global ptr null
+ at GV = common global ptr zeroinitializer
define void @PR27277_part2(i32 %p1) {
; CHECK-LABEL: @PR27277_part2(
diff --git a/llvm/test/Transforms/Inline/blockaddress.ll b/llvm/test/Transforms/Inline/blockaddress.ll
index aded280c1ed6c..cf12879a67c62 100644
--- a/llvm/test/Transforms/Inline/blockaddress.ll
+++ b/llvm/test/Transforms/Inline/blockaddress.ll
@@ -7,7 +7,7 @@
; CHECK: store ptr blockaddress(@doit, %here), ptr %pptr, align 8
@i = global i32 1, align 4
- at ptr1 = common global ptr null, align 8
+ at ptr1 = common global ptr zeroinitializer, align 8
define void @doit(ptr nocapture %pptr, i32 %cond) nounwind uwtable {
entry:
diff --git a/llvm/test/Transforms/Inline/inline-retainRV-call.ll b/llvm/test/Transforms/Inline/inline-retainRV-call.ll
index 87b19a70b0a5f..fd18840c96b96 100644
--- a/llvm/test/Transforms/Inline/inline-retainRV-call.ll
+++ b/llvm/test/Transforms/Inline/inline-retainRV-call.ll
@@ -1,6 +1,6 @@
; RUN: opt < %s -passes=inline -S | FileCheck %s
- at g0 = global ptr null, align 8
+ at g0 = global ptr zeroinitializer, align 8
declare ptr @foo0()
define ptr @callee0_autoreleaseRV() {
diff --git a/llvm/test/Transforms/Inline/inline_minisize.ll b/llvm/test/Transforms/Inline/inline_minisize.ll
index fc5f60873c0ed..4eccf20f0180a 100644
--- a/llvm/test/Transforms/Inline/inline_minisize.ll
+++ b/llvm/test/Transforms/Inline/inline_minisize.ll
@@ -1,6 +1,6 @@
; RUN: opt -passes=inline -inline-threshold=225 -inlinehint-threshold=360 -S < %s | FileCheck %s
- at data = common global ptr null, align 8
+ at data = common global ptr zeroinitializer, align 8
define i32 @fct1(i32 %a) nounwind uwtable ssp {
entry:
diff --git a/llvm/test/Transforms/Inline/prof-update-instr.ll b/llvm/test/Transforms/Inline/prof-update-instr.ll
index 38dfa67dcacdc..c92b4c9a2b352 100644
--- a/llvm/test/Transforms/Inline/prof-update-instr.ll
+++ b/llvm/test/Transforms/Inline/prof-update-instr.ll
@@ -2,8 +2,8 @@
; Checks if inliner updates VP metadata for indrect call instructions
; with instrumentation based profile.
- at func = global ptr null
- at func2 = global ptr null
+ at func = global ptr zeroinitializer
+ at func2 = global ptr zeroinitializer
; CHECK: define void @callee(i32 %n) !prof ![[ENTRY_COUNT:[0-9]*]]
define void @callee(i32 %n) !prof !15 {
diff --git a/llvm/test/Transforms/Inline/prof-update-sample-alwaysinline.ll b/llvm/test/Transforms/Inline/prof-update-sample-alwaysinline.ll
index 8af4d89663a4d..ddecca0ca51f0 100644
--- a/llvm/test/Transforms/Inline/prof-update-sample-alwaysinline.ll
+++ b/llvm/test/Transforms/Inline/prof-update-sample-alwaysinline.ll
@@ -3,7 +3,7 @@
declare void @ext();
declare void @ext1();
- at func = global ptr null
+ at func = global ptr zeroinitializer
; CHECK: define void @callee(i32 %n) #0 !prof ![[ENTRY_COUNT:[0-9]*]]
define void @callee(i32 %n) #0 !prof !15 {
@@ -19,7 +19,7 @@ cond_false:
; CHECK: call void @ext(), !prof ![[COUNT_CALLEE:[0-9]*]]
call void @ext(), !prof !16
%f = load ptr, ptr @func
-; CHECK: call void %f(), !prof ![[COUNT_IND_CALLEE:[0-9]*]]
+; CHECK: call void %f(), !prof ![[COUNT_IND_CALLEE:[0-9]*]]
call void %f(), !prof !18
ret void
}
diff --git a/llvm/test/Transforms/Inline/prof-update-sample.ll b/llvm/test/Transforms/Inline/prof-update-sample.ll
index e09b859b69812..dad2bfd0278fa 100644
--- a/llvm/test/Transforms/Inline/prof-update-sample.ll
+++ b/llvm/test/Transforms/Inline/prof-update-sample.ll
@@ -3,7 +3,7 @@
declare void @ext();
declare void @ext1();
- at func = global ptr null
+ at func = global ptr zeroinitializer
; CHECK: define void @callee(i32 %n) !prof ![[ENTRY_COUNT:[0-9]*]]
define void @callee(i32 %n) !prof !15 {
@@ -19,7 +19,7 @@ cond_false:
; CHECK: call void @ext(), !prof ![[COUNT_CALLEE:[0-9]*]]
call void @ext(), !prof !16
%f = load ptr, ptr @func
-; CHECK: call void %f(), !prof ![[COUNT_IND_CALLEE:[0-9]*]]
+; CHECK: call void %f(), !prof ![[COUNT_IND_CALLEE:[0-9]*]]
call void %f(), !prof !18
ret void
}
diff --git a/llvm/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll b/llvm/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll
index 7689fc9f68241..1abfa3a948402 100644
--- a/llvm/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll
+++ b/llvm/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll
@@ -25,7 +25,7 @@ define i1 @lt_signed_to_large_unsigned(i8 %SB) {
; PR28011 - https://llvm.org/bugs/show_bug.cgi?id=28011
; The above transform only applies to scalar integers; it shouldn't be attempted for constant expressions or vectors.
- at a = common global ptr null
+ at a = common global ptr zeroinitializer
@b = common global [1 x i32] zeroinitializer
define i1 @PR28011(i16 %a) {
diff --git a/llvm/test/Transforms/InstCombine/2007-10-28-stacksave.ll b/llvm/test/Transforms/InstCombine/2007-10-28-stacksave.ll
index a407cd2d3d3d1..689a2c0baada0 100644
--- a/llvm/test/Transforms/InstCombine/2007-10-28-stacksave.ll
+++ b/llvm/test/Transforms/InstCombine/2007-10-28-stacksave.ll
@@ -2,7 +2,7 @@
; PR1745
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
target triple = "i686-apple-darwin8"
- at p = weak global ptr null ; <ptr> [#uses=1]
+ at p = weak global ptr zeroinitializer ; <ptr> [#uses=1]
define i32 @main() {
entry:
diff --git a/llvm/test/Transforms/InstCombine/2008-06-24-StackRestore.ll b/llvm/test/Transforms/InstCombine/2008-06-24-StackRestore.ll
index a88570e536254..4e2f822099046 100644
--- a/llvm/test/Transforms/InstCombine/2008-06-24-StackRestore.ll
+++ b/llvm/test/Transforms/InstCombine/2008-06-24-StackRestore.ll
@@ -2,7 +2,7 @@
; PR2488
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"
target triple = "i386-pc-linux-gnu"
- at p = weak global ptr null ; <ptr> [#uses=2]
+ at p = weak global ptr zeroinitializer ; <ptr> [#uses=2]
define i32 @main() nounwind {
entry:
@@ -32,6 +32,6 @@ bb44: ; preds = %bb44, %entry
br i1 %exitcond, label %bb, label %bb44
}
-declare ptr @llvm.stacksave() nounwind
+declare ptr @llvm.stacksave() nounwind
-declare void @llvm.stackrestore(ptr) nounwind
+declare void @llvm.stackrestore(ptr) nounwind
diff --git a/llvm/test/Transforms/InstCombine/2012-09-17-ZeroSizedAlloca.ll b/llvm/test/Transforms/InstCombine/2012-09-17-ZeroSizedAlloca.ll
index 783c177a8257d..94a1579bafc07 100644
--- a/llvm/test/Transforms/InstCombine/2012-09-17-ZeroSizedAlloca.ll
+++ b/llvm/test/Transforms/InstCombine/2012-09-17-ZeroSizedAlloca.ll
@@ -6,8 +6,8 @@
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.8.0"
- at x = global ptr null, align 8
- at y = global ptr null, align 8
+ at x = global ptr zeroinitializer, align 8
+ at y = global ptr zeroinitializer, align 8
; CHECK-LABEL: @f(
; CHECK-NEXT: alloca [0 x i8], align 1024
diff --git a/llvm/test/Transforms/InstCombine/addrspacecast.ll b/llvm/test/Transforms/InstCombine/addrspacecast.ll
index 8f3270cd60609..33f3439cd366f 100644
--- a/llvm/test/Transforms/InstCombine/addrspacecast.ll
+++ b/llvm/test/Transforms/InstCombine/addrspacecast.ll
@@ -173,7 +173,7 @@ end:
define void @constant_fold_null() #0 {
; CHECK-LABEL: @constant_fold_null(
-; CHECK-NEXT: store i32 7, ptr addrspace(4) addrspacecast (ptr addrspace(3) null to ptr addrspace(4)), align 4
+; CHECK-NEXT: store i32 7, ptr addrspace(4) null, align 4
; CHECK-NEXT: ret void
;
%cast = addrspacecast ptr addrspace(3) null to ptr addrspace(4)
@@ -191,7 +191,7 @@ define ptr addrspace(4) @constant_fold_undef() #0 {
define <4 x ptr addrspace(4)> @constant_fold_null_vector() #0 {
; CHECK-LABEL: @constant_fold_null_vector(
-; CHECK-NEXT: ret <4 x ptr addrspace(4)> <ptr addrspace(4) addrspacecast (ptr addrspace(3) null to ptr addrspace(4)), ptr addrspace(4) addrspacecast (ptr addrspace(3) null to ptr addrspace(4)), ptr addrspace(4) addrspacecast (ptr addrspace(3) null to ptr addrspace(4)), ptr addrspace(4) addrspacecast (ptr addrspace(3) null to ptr addrspace(4))>
+; CHECK-NEXT: ret <4 x ptr addrspace(4)> zeroinitializer
;
%cast = addrspacecast <4 x ptr addrspace(3)> zeroinitializer to <4 x ptr addrspace(4)>
ret <4 x ptr addrspace(4)> %cast
diff --git a/llvm/test/Transforms/InstCombine/assume.ll b/llvm/test/Transforms/InstCombine/assume.ll
index cc87d6542fa12..f5144429c5e4d 100644
--- a/llvm/test/Transforms/InstCombine/assume.ll
+++ b/llvm/test/Transforms/InstCombine/assume.ll
@@ -409,9 +409,10 @@ define i1 @nonnull5(ptr %a) {
; CHECK-LABEL: @nonnull5(
; CHECK-NEXT: [[LOAD:%.*]] = load ptr, ptr [[A:%.*]], align 8
; CHECK-NEXT: tail call void @escape(ptr [[LOAD]])
-; CHECK-NEXT: [[CMP:%.*]] = icmp slt ptr [[LOAD]], null
+; CHECK-NEXT: [[CMP:%.*]] = icmp slt ptr [[LOAD]], zeroinitializer
; CHECK-NEXT: tail call void @llvm.assume(i1 [[CMP]])
-; CHECK-NEXT: ret i1 false
+; CHECK-NEXT: [[RVAL:%.*]] = icmp eq ptr [[LOAD]], null
+; CHECK-NEXT: ret i1 [[RVAL]]
;
%load = load ptr, ptr %a
;; This call may throw!
diff --git a/llvm/test/Transforms/InstCombine/compare-alloca.ll b/llvm/test/Transforms/InstCombine/compare-alloca.ll
index 55d92b79a9ed6..c993f62b74ff9 100644
--- a/llvm/test/Transforms/InstCombine/compare-alloca.ll
+++ b/llvm/test/Transforms/InstCombine/compare-alloca.ll
@@ -242,7 +242,7 @@ define i1 @consistent_nocapture_offset() {
ret i1 %cmp
}
- at gp = global ptr null, align 8
+ at gp = global ptr zeroinitializer, align 8
define i1 @consistent_nocapture_through_global() {
; CHECK-LABEL: @consistent_nocapture_through_global(
diff --git a/llvm/test/Transforms/InstCombine/compare-unescaped.ll b/llvm/test/Transforms/InstCombine/compare-unescaped.ll
index 31e3e4581a2ef..bbbd461edbf93 100644
--- a/llvm/test/Transforms/InstCombine/compare-unescaped.ll
+++ b/llvm/test/Transforms/InstCombine/compare-unescaped.ll
@@ -1,7 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt -passes=instcombine -S < %s | FileCheck %s
- at gp = global ptr null, align 8
+ at gp = global ptr zeroinitializer, align 8
declare noalias ptr @malloc(i64) allockind("alloc,uninitialized") allocsize(0)
diff --git a/llvm/test/Transforms/InstCombine/fold-phi-load-metadata.ll b/llvm/test/Transforms/InstCombine/fold-phi-load-metadata.ll
index 6a7e780cf08fe..65c657d883e15 100644
--- a/llvm/test/Transforms/InstCombine/fold-phi-load-metadata.ll
+++ b/llvm/test/Transforms/InstCombine/fold-phi-load-metadata.ll
@@ -1,6 +1,6 @@
; RUN: opt -passes=instcombine -S < %s | FileCheck %s
- at g1 = common global ptr null, align 8
+ at g1 = common global ptr zeroinitializer, align 8
%struct.S1 = type { i32, float }
%struct.S2 = type { float, i32 }
diff --git a/llvm/test/Transforms/InstCombine/gep-inbounds-null.ll b/llvm/test/Transforms/InstCombine/gep-inbounds-null.ll
index cd7eac6bcba28..5d9918bac2368 100644
--- a/llvm/test/Transforms/InstCombine/gep-inbounds-null.ll
+++ b/llvm/test/Transforms/InstCombine/gep-inbounds-null.ll
@@ -212,8 +212,7 @@ entry:
define i1 @invalid_bitcast_icmp_addrspacecast_as0_null(ptr addrspace(5) %ptr) {
; CHECK-LABEL: @invalid_bitcast_icmp_addrspacecast_as0_null(
; CHECK-NEXT: bb:
-; CHECK-NEXT: [[TMP2:%.*]] = icmp eq ptr addrspace(5) [[PTR:%.*]], addrspacecast (ptr null to ptr addrspace(5))
-; CHECK-NEXT: ret i1 [[TMP2]]
+; CHECK-NEXT: ret i1 false
;
bb:
%tmp1 = getelementptr inbounds i32, ptr addrspace(5) %ptr, i32 1
@@ -224,7 +223,9 @@ bb:
define i1 @invalid_bitcast_icmp_addrspacecast_as0_null_var(ptr addrspace(5) %ptr, i32 %idx) {
; CHECK-LABEL: @invalid_bitcast_icmp_addrspacecast_as0_null_var(
; CHECK-NEXT: bb:
-; CHECK-NEXT: [[TMP2:%.*]] = icmp eq ptr addrspace(5) [[PTR:%.*]], addrspacecast (ptr null to ptr addrspace(5))
+; CHECK-NEXT: [[TMP0:%.*]] = sext i32 [[IDX:%.*]] to i64
+; CHECK-NEXT: [[TMP1:%.*]] = getelementptr inbounds i32, ptr addrspace(5) [[PTR:%.*]], i64 [[TMP0]]
+; CHECK-NEXT: [[TMP2:%.*]] = icmp eq ptr addrspace(5) [[TMP1]], null
; CHECK-NEXT: ret i1 [[TMP2]]
;
bb:
diff --git a/llvm/test/Transforms/InstCombine/or-select-zero-icmp.ll b/llvm/test/Transforms/InstCombine/or-select-zero-icmp.ll
index a3b21ccc63e94..29e4001948d82 100644
--- a/llvm/test/Transforms/InstCombine/or-select-zero-icmp.ll
+++ b/llvm/test/Transforms/InstCombine/or-select-zero-icmp.ll
@@ -134,7 +134,7 @@ define <2 x i32> @vector_type(<2 x i32> %a, <2 x i32> %b) {
define ptr @pointer_type(ptr %p, ptr %q) {
; CHECK-LABEL: @pointer_type(
; CHECK-NEXT: [[A:%.*]] = ptrtoint ptr [[P:%.*]] to i64
-; CHECK-NEXT: [[CMP:%.*]] = icmp eq ptr [[P]], null
+; CHECK-NEXT: [[CMP:%.*]] = icmp eq ptr [[P]], zeroinitializer
; CHECK-NEXT: [[SEL:%.*]] = select i1 [[CMP]], ptr [[Q:%.*]], ptr null
; CHECK-NEXT: [[SEL_INT:%.*]] = ptrtoint ptr [[SEL]] to i64
; CHECK-NEXT: [[OR:%.*]] = or i64 [[A]], [[SEL_INT]]
diff --git a/llvm/test/Transforms/InstCombine/pr27996.ll b/llvm/test/Transforms/InstCombine/pr27996.ll
index d66c762d7b1b0..d130f9e6ba540 100644
--- a/llvm/test/Transforms/InstCombine/pr27996.ll
+++ b/llvm/test/Transforms/InstCombine/pr27996.ll
@@ -4,8 +4,8 @@
@i = constant i32 1, align 4
@f = constant float 0x3FF19999A0000000, align 4
@cmp = common global i32 0, align 4
- at resf = common global ptr null, align 8
- at resi = common global ptr null, align 8
+ at resf = common global ptr zeroinitializer, align 8
+ at resi = common global ptr zeroinitializer, align 8
define i32 @foo() {
entry:
diff --git a/llvm/test/Transforms/InstCombine/ptrtoint-nullgep.ll b/llvm/test/Transforms/InstCombine/ptrtoint-nullgep.ll
index bf978801fec5d..18da8d846fef9 100644
--- a/llvm/test/Transforms/InstCombine/ptrtoint-nullgep.ll
+++ b/llvm/test/Transforms/InstCombine/ptrtoint-nullgep.ll
@@ -16,8 +16,14 @@ declare void @use_i64(i64)
declare void @use_ptr(ptr addrspace(1))
define i64 @constant_fold_ptrtoint_gep_zero() {
-; ALL-LABEL: define {{[^@]+}}@constant_fold_ptrtoint_gep_zero() {
-; ALL-NEXT: ret i64 0
+; LLPARSER-LABEL: define {{[^@]+}}@constant_fold_ptrtoint_gep_zero() {
+; LLPARSER-NEXT: ret i64 ptrtoint (ptr addrspace(1) null to i64)
+;
+; INSTSIMPLIFY-LABEL: define {{[^@]+}}@constant_fold_ptrtoint_gep_zero() {
+; INSTSIMPLIFY-NEXT: ret i64 ptrtoint (ptr addrspace(1) null to i64)
+;
+; INSTCOMBINE-LABEL: define {{[^@]+}}@constant_fold_ptrtoint_gep_zero() {
+; INSTCOMBINE-NEXT: ret i64 0
;
ret i64 ptrtoint (ptr addrspace(1) null to i64)
}
@@ -35,8 +41,14 @@ define i64 @constant_fold_ptrtoint_gep_nonzero() {
}
define i64 @constant_fold_ptrtoint_gep_zero_inbounds() {
-; ALL-LABEL: define {{[^@]+}}@constant_fold_ptrtoint_gep_zero_inbounds() {
-; ALL-NEXT: ret i64 0
+; LLPARSER-LABEL: define {{[^@]+}}@constant_fold_ptrtoint_gep_zero_inbounds() {
+; LLPARSER-NEXT: ret i64 ptrtoint (ptr addrspace(1) null to i64)
+;
+; INSTSIMPLIFY-LABEL: define {{[^@]+}}@constant_fold_ptrtoint_gep_zero_inbounds() {
+; INSTSIMPLIFY-NEXT: ret i64 ptrtoint (ptr addrspace(1) null to i64)
+;
+; INSTCOMBINE-LABEL: define {{[^@]+}}@constant_fold_ptrtoint_gep_zero_inbounds() {
+; INSTCOMBINE-NEXT: ret i64 0
;
ret i64 ptrtoint (ptr addrspace(1) null to i64)
}
@@ -639,3 +651,5 @@ define i64 @fold_ptrtoint_nested_nullgep_array_variable_multiple_uses(i64 %x, i6
%ret = ptrtoint ptr addrspace(1) %ptr to i64
ret i64 %ret
}
+;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
+; ALL: {{.*}}
diff --git a/llvm/test/Transforms/InstCombine/select.ll b/llvm/test/Transforms/InstCombine/select.ll
index db117aa28cad6..152e093a4ea2c 100644
--- a/llvm/test/Transforms/InstCombine/select.ll
+++ b/llvm/test/Transforms/InstCombine/select.ll
@@ -5264,7 +5264,7 @@ define i8 @selects_freeze_poison_parameter(i8 noundef %x, i1 %cond1, i1 %cond2)
ret i8 %conj
}
- at glb = global ptr null
+ at glb = global ptr zeroinitializer
define void @select_freeze_poison_global(ptr %addr.tgt, i1 %cond) {
; CHECK-LABEL: define void @select_freeze_poison_global(
diff --git a/llvm/test/Transforms/InstSimplify/ConstProp/inttoptr-gep-nonintegral.ll b/llvm/test/Transforms/InstSimplify/ConstProp/inttoptr-gep-nonintegral.ll
index f66825767bd0b..cf44ff8329142 100644
--- a/llvm/test/Transforms/InstSimplify/ConstProp/inttoptr-gep-nonintegral.ll
+++ b/llvm/test/Transforms/InstSimplify/ConstProp/inttoptr-gep-nonintegral.ll
@@ -15,7 +15,7 @@ define ptr @test_null_base_normal() {
}
define ptr @test_inttoptr_base_normal() {
; CHECK-LABEL: define ptr @test_inttoptr_base_normal() {
-; CHECK-NEXT: ret ptr null
+; CHECK-NEXT: ret ptr zeroinitializer
;
%base = inttoptr i16 -1 to ptr
%gep = getelementptr i8, ptr %base, i8 1
diff --git a/llvm/test/Transforms/InstSimplify/compare.ll b/llvm/test/Transforms/InstSimplify/compare.ll
index ba10ea532a34a..0076ccc9548d0 100644
--- a/llvm/test/Transforms/InstSimplify/compare.ll
+++ b/llvm/test/Transforms/InstSimplify/compare.ll
@@ -649,7 +649,7 @@ define i1 @or(i32 %x) {
; Do not simplify if we cannot guarantee that the ConstantExpr is a non-zero
; constant.
- at GV = common global ptr null
+ at GV = common global ptr zeroinitializer
define i1 @or_constexp(i32 %x) {
; CHECK-LABEL: @or_constexp(
; CHECK-NEXT: entry:
diff --git a/llvm/test/Transforms/LICM/2004-09-14-AliasAnalysisInvalidate.ll b/llvm/test/Transforms/LICM/2004-09-14-AliasAnalysisInvalidate.ll
index b7d6ab85c7e13..6704a73abaf7d 100644
--- a/llvm/test/Transforms/LICM/2004-09-14-AliasAnalysisInvalidate.ll
+++ b/llvm/test/Transforms/LICM/2004-09-14-AliasAnalysisInvalidate.ll
@@ -1,6 +1,6 @@
; RUN: opt < %s -passes='require<globals-aa>,function(loop-mssa(licm))' -disable-output
- at PL_regcomp_parse = internal global ptr null ; <ptr> [#uses=2]
+ at PL_regcomp_parse = internal global ptr zeroinitializer ; <ptr> [#uses=2]
define void @test() {
br label %Outer
diff --git a/llvm/test/Transforms/LICM/2011-04-06-PromoteResultOfPromotion.ll b/llvm/test/Transforms/LICM/2011-04-06-PromoteResultOfPromotion.ll
index 0d32e508edf5f..205b45dfe7103 100644
--- a/llvm/test/Transforms/LICM/2011-04-06-PromoteResultOfPromotion.ll
+++ b/llvm/test/Transforms/LICM/2011-04-06-PromoteResultOfPromotion.ll
@@ -3,7 +3,7 @@
; PR9634
@g_58 = common global i32 0, align 4
- at g_116 = common global ptr null, align 8
+ at g_116 = common global ptr zeroinitializer, align 8
define void @f() {
; CHECK-LABEL: define void @f() {
diff --git a/llvm/test/Transforms/LICM/constexpr.ll b/llvm/test/Transforms/LICM/constexpr.ll
index 5dbaf7be94011..db33bf2ab001b 100644
--- a/llvm/test/Transforms/LICM/constexpr.ll
+++ b/llvm/test/Transforms/LICM/constexpr.ll
@@ -5,8 +5,8 @@
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-msvc"
- at in = internal unnamed_addr global ptr null, align 8
- at out = internal unnamed_addr global ptr null, align 8
+ at in = internal unnamed_addr global ptr zeroinitializer, align 8
+ at out = internal unnamed_addr global ptr zeroinitializer, align 8
; CHECK-LABEL: @bar
; CHECK: entry:
diff --git a/llvm/test/Transforms/LICM/pr23608.ll b/llvm/test/Transforms/LICM/pr23608.ll
index 1a40c505349d0..9c3c398d56b88 100644
--- a/llvm/test/Transforms/LICM/pr23608.ll
+++ b/llvm/test/Transforms/LICM/pr23608.ll
@@ -7,7 +7,7 @@ target triple = "x86_64-unknown-linux-gnu"
%struct.PyFrameObject = type { i32 }
- at a = common global ptr null, align 8
+ at a = common global ptr zeroinitializer, align 8
@__msan_origin_tls = external thread_local(initialexec) global i32
define void @fn1() {
diff --git a/llvm/test/Transforms/LICM/pragma-licm-disable.ll b/llvm/test/Transforms/LICM/pragma-licm-disable.ll
index 7d89015a23a84..16d1d37d38a5a 100644
--- a/llvm/test/Transforms/LICM/pragma-licm-disable.ll
+++ b/llvm/test/Transforms/LICM/pragma-licm-disable.ll
@@ -11,8 +11,8 @@
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-msvc"
- at in = internal unnamed_addr global ptr null, align 8
- at out = internal unnamed_addr global ptr null, align 8
+ at in = internal unnamed_addr global ptr zeroinitializer, align 8
+ at out = internal unnamed_addr global ptr zeroinitializer, align 8
define void @licm_disable(i32 %N) {
entry:
diff --git a/llvm/test/Transforms/LoopDataPrefetch/AArch64/opt-remark-with-hotness.ll b/llvm/test/Transforms/LoopDataPrefetch/AArch64/opt-remark-with-hotness.ll
index 2dc515758afeb..faaf69707fb00 100644
--- a/llvm/test/Transforms/LoopDataPrefetch/AArch64/opt-remark-with-hotness.ll
+++ b/llvm/test/Transforms/LoopDataPrefetch/AArch64/opt-remark-with-hotness.ll
@@ -25,7 +25,7 @@ target triple = "arm64-apple-ios5.0.0"
%struct.MyStruct = type { i32, [2044 x i8] }
- at my_struct = common global ptr null, align 8
+ at my_struct = common global ptr zeroinitializer, align 8
define i32 @f(ptr nocapture readnone %p, i32 %N) !dbg !6 !prof !21 {
entry:
diff --git a/llvm/test/Transforms/LoopDataPrefetch/AArch64/opt-remark.ll b/llvm/test/Transforms/LoopDataPrefetch/AArch64/opt-remark.ll
index 66648ec94c76a..fbbc61f12c48a 100644
--- a/llvm/test/Transforms/LoopDataPrefetch/AArch64/opt-remark.ll
+++ b/llvm/test/Transforms/LoopDataPrefetch/AArch64/opt-remark.ll
@@ -24,7 +24,7 @@ target triple = "arm64-apple-ios5.0.0"
%struct.MyStruct = type { i32, [2044 x i8] }
- at my_struct = common global ptr null, align 8
+ at my_struct = common global ptr zeroinitializer, align 8
define i32 @f(ptr nocapture readnone %p, i32 %N) !dbg !6 {
entry:
diff --git a/llvm/test/Transforms/LoopDistribute/basic-with-memchecks.ll b/llvm/test/Transforms/LoopDistribute/basic-with-memchecks.ll
index 2828882afe779..f1f59c5f2b5e5 100644
--- a/llvm/test/Transforms/LoopDistribute/basic-with-memchecks.ll
+++ b/llvm/test/Transforms/LoopDistribute/basic-with-memchecks.ll
@@ -21,11 +21,11 @@
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.10.0"
- at B = common global ptr null, align 8
- at A = common global ptr null, align 8
- at C = common global ptr null, align 8
- at D = common global ptr null, align 8
- at E = common global ptr null, align 8
+ at B = common global ptr zeroinitializer, align 8
+ at A = common global ptr zeroinitializer, align 8
+ at C = common global ptr zeroinitializer, align 8
+ at D = common global ptr zeroinitializer, align 8
+ at E = common global ptr zeroinitializer, align 8
; CHECK-LABEL: @f(
define void @f() !prof !{!"function_entry_count", i32 10} {
diff --git a/llvm/test/Transforms/LoopDistribute/early-exit.ll b/llvm/test/Transforms/LoopDistribute/early-exit.ll
index 9353d842523f4..c5ab76e87ece7 100644
--- a/llvm/test/Transforms/LoopDistribute/early-exit.ll
+++ b/llvm/test/Transforms/LoopDistribute/early-exit.ll
@@ -1,11 +1,11 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
; RUN: opt -aa-pipeline=basic-aa -passes=loop-distribute -enable-loop-distribute -verify-loop-info -verify-dom-info -S %s | FileCheck %s
- at B = common global ptr null, align 8
- at A = common global ptr null, align 8
- at C = common global ptr null, align 8
- at D = common global ptr null, align 8
- at E = common global ptr null, align 8
+ at B = common global ptr zeroinitializer, align 8
+ at A = common global ptr zeroinitializer, align 8
+ at C = common global ptr zeroinitializer, align 8
+ at D = common global ptr zeroinitializer, align 8
+ at E = common global ptr zeroinitializer, align 8
define void @f() {
; CHECK-LABEL: define void @f() {
diff --git a/llvm/test/Transforms/LoopDistribute/outside-use.ll b/llvm/test/Transforms/LoopDistribute/outside-use.ll
index 661f8062ae268..2163ec21c0747 100644
--- a/llvm/test/Transforms/LoopDistribute/outside-use.ll
+++ b/llvm/test/Transforms/LoopDistribute/outside-use.ll
@@ -12,11 +12,11 @@
; sum += C[i];
; }
- at B = common global ptr null, align 8
- at A = common global ptr null, align 8
- at C = common global ptr null, align 8
- at D = common global ptr null, align 8
- at E = common global ptr null, align 8
+ at B = common global ptr zeroinitializer, align 8
+ at A = common global ptr zeroinitializer, align 8
+ at C = common global ptr zeroinitializer, align 8
+ at D = common global ptr zeroinitializer, align 8
+ at E = common global ptr zeroinitializer, align 8
@SUM = common global i32 0, align 8
define void @f() {
diff --git a/llvm/test/Transforms/LoopDistribute/unknown-bounds-for-memchecks.ll b/llvm/test/Transforms/LoopDistribute/unknown-bounds-for-memchecks.ll
index 208648b9ec20d..70a2d257a84f2 100644
--- a/llvm/test/Transforms/LoopDistribute/unknown-bounds-for-memchecks.ll
+++ b/llvm/test/Transforms/LoopDistribute/unknown-bounds-for-memchecks.ll
@@ -13,9 +13,9 @@
; Verify that we didn't distribute by checking that we still have the original
; number of branches.
- at A = common global ptr null, align 8
- at B = common global ptr null, align 8
- at C = common global ptr null, align 8
+ at A = common global ptr zeroinitializer, align 8
+ at B = common global ptr zeroinitializer, align 8
+ at C = common global ptr zeroinitializer, align 8
define void @f() {
; CHECK-LABEL: define void @f() {
diff --git a/llvm/test/Transforms/LoopFlatten/widen-iv2.ll b/llvm/test/Transforms/LoopFlatten/widen-iv2.ll
index 7b1caa70387fa..1970df3bdf9e0 100644
--- a/llvm/test/Transforms/LoopFlatten/widen-iv2.ll
+++ b/llvm/test/Transforms/LoopFlatten/widen-iv2.ll
@@ -12,7 +12,7 @@ target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16
@d = dso_local global i32 0, align 4
@b = internal global i32 0, align 4
@a = internal global i32 0, align 4
- at c = dso_local global ptr null, align 8
+ at c = dso_local global ptr zeroinitializer, align 8
define dso_local i32 @fn1() local_unnamed_addr #0 {
; CHECK-LABEL: @fn1(
diff --git a/llvm/test/Transforms/LoopInterchange/bail-out-one-loop.ll b/llvm/test/Transforms/LoopInterchange/bail-out-one-loop.ll
index d1cf33acd2831..6f70d736a0fc6 100644
--- a/llvm/test/Transforms/LoopInterchange/bail-out-one-loop.ll
+++ b/llvm/test/Transforms/LoopInterchange/bail-out-one-loop.ll
@@ -5,9 +5,9 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32"
@N = dso_local global i32 0, align 4
- at a = dso_local global ptr null, align 8
- at b = dso_local global ptr null, align 8
- at c = dso_local global ptr null, align 8
+ at a = dso_local global ptr zeroinitializer, align 8
+ at b = dso_local global ptr zeroinitializer, align 8
+ at c = dso_local global ptr zeroinitializer, align 8
; Loop interchange should not run delinearization
; for one loop case and should bail out early.
diff --git a/llvm/test/Transforms/LoopRotate/PhiRename-1.ll b/llvm/test/Transforms/LoopRotate/PhiRename-1.ll
index 042aa42e57706..d2e568f083830 100644
--- a/llvm/test/Transforms/LoopRotate/PhiRename-1.ll
+++ b/llvm/test/Transforms/LoopRotate/PhiRename-1.ll
@@ -22,7 +22,7 @@ target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f3
%struct.table = type { ptr, ptr, ptr, [2 x ptr], ptr }
@outfile = external global ptr ; <ptr> [#uses=1]
@str1 = external constant [11 x i8] ; <ptr> [#uses=1]
- at operators = weak global ptr null ; <ptr> [#uses=1]
+ at operators = weak global ptr zeroinitializer ; <ptr> [#uses=1]
diff --git a/llvm/test/Transforms/LoopStrengthReduce/AArch64/pr47329.ll b/llvm/test/Transforms/LoopStrengthReduce/AArch64/pr47329.ll
index 45cbdf9265306..d684ff4519dbf 100644
--- a/llvm/test/Transforms/LoopStrengthReduce/AArch64/pr47329.ll
+++ b/llvm/test/Transforms/LoopStrengthReduce/AArch64/pr47329.ll
@@ -2,7 +2,7 @@
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64-unknown-linux-gnu"
- at d = internal unnamed_addr global ptr null, align 8
+ at d = internal unnamed_addr global ptr zeroinitializer, align 8
define dso_local i32 @main(i1 %arg) local_unnamed_addr {
entry:
diff --git a/llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll b/llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
index 61c1fd6fbb198..c202413af1679 100644
--- a/llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
+++ b/llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
@@ -24,8 +24,8 @@ define amdgpu_kernel void @scaledregtest() local_unnamed_addr {
; CHECK-NEXT: [[SCEVGEP6]] = getelementptr i8, ptr addrspace(5) [[LSR_IV5]], i32 8
; CHECK-NEXT: br label [[FOR_BODY_1]]
; CHECK: for.body:
-; CHECK-NEXT: [[LSR_IV12:%.*]] = phi ptr [ [[SCEVGEP13]], [[FOR_BODY]] ], [ null, [[ENTRY:%.*]] ]
-; CHECK-NEXT: [[LSR_IV10:%.*]] = phi ptr addrspace(5) [ [[SCEVGEP11]], [[FOR_BODY]] ], [ null, [[ENTRY]] ]
+; CHECK-NEXT: [[LSR_IV12:%.*]] = phi ptr [ [[SCEVGEP13]], [[FOR_BODY]] ], [ zeroinitializer, [[ENTRY:%.*]] ]
+; CHECK-NEXT: [[LSR_IV10:%.*]] = phi ptr addrspace(5) [ [[SCEVGEP11]], [[FOR_BODY]] ], [ zeroinitializer, [[ENTRY]] ]
; CHECK-NEXT: [[SCEVGEP11]] = getelementptr i8, ptr addrspace(5) [[LSR_IV10]], i32 64
; CHECK-NEXT: [[SCEVGEP13]] = getelementptr i8, ptr [[LSR_IV12]], i64 64
; CHECK-NEXT: br i1 false, label [[LOOPEXIT]], label [[FOR_BODY]]
@@ -58,7 +58,7 @@ for.body:
define protected amdgpu_kernel void @baseregtest(i32 %n, i32 %lda, i1 %arg) local_unnamed_addr {
; CHECK-LABEL: @baseregtest(
; CHECK-NEXT: entry:
-; CHECK-NEXT: br i1 %arg, label [[EXIT:%.*]], label [[IF_END:%.*]]
+; CHECK-NEXT: br i1 [[ARG:%.*]], label [[EXIT:%.*]], label [[IF_END:%.*]]
; CHECK: if.end:
; CHECK-NEXT: [[TMP0:%.*]] = tail call i32 @foo()
; CHECK-NEXT: [[TMP1:%.*]] = shl i32 [[TMP0]], 3
diff --git a/llvm/test/Transforms/LoopStrengthReduce/funclet.ll b/llvm/test/Transforms/LoopStrengthReduce/funclet.ll
index da5721a72a906..ee9e04813085b 100644
--- a/llvm/test/Transforms/LoopStrengthReduce/funclet.ll
+++ b/llvm/test/Transforms/LoopStrengthReduce/funclet.ll
@@ -16,9 +16,9 @@ define void @f() personality ptr @_except_handler3 {
; CHECK-NEXT: br label [[THROW:%.*]]
; CHECK: throw:
; CHECK-NEXT: invoke void @reserve()
-; CHECK-NEXT: to label [[THROW]] unwind label [[PAD:%.*]]
+; CHECK-NEXT: to label [[THROW]] unwind label [[PAD:%.*]]
; CHECK: pad:
-; CHECK-NEXT: [[CS:%.*]] = catchswitch within none [label %unreachable] unwind label [[BLAH2:%.*]]
+; CHECK-NEXT: [[CS:%.*]] = catchswitch within none [label [[UNREACHABLE:%.*]]] unwind label [[BLAH2:%.*]]
; CHECK: unreachable:
; CHECK-NEXT: [[TMP0:%.*]] = catchpad within [[CS]] []
; CHECK-NEXT: unreachable
@@ -75,9 +75,9 @@ define void @g() personality ptr @_except_handler3 {
; CHECK-NEXT: br label [[THROW:%.*]]
; CHECK: throw:
; CHECK-NEXT: invoke void @reserve()
-; CHECK-NEXT: to label [[THROW]] unwind label [[PAD:%.*]]
+; CHECK-NEXT: to label [[THROW]] unwind label [[PAD:%.*]]
; CHECK: pad:
-; CHECK-NEXT: [[CS:%.*]] = catchswitch within none [label [[UNREACHABLE:%.*]], label %blah] unwind to caller
+; CHECK-NEXT: [[CS:%.*]] = catchswitch within none [label [[UNREACHABLE:%.*]], label [[BLAH:%.*]]] unwind to caller
; CHECK: unreachable:
; CHECK-NEXT: [[TMP0:%.*]] = catchpad within [[CS]] []
; CHECK-NEXT: unreachable
@@ -89,7 +89,7 @@ define void @g() personality ptr @_except_handler3 {
; CHECK: leave:
; CHECK-NEXT: ret void
; CHECK: loop_body:
-; CHECK-NEXT: [[LSR_IV:%.*]] = phi i32 [ [[LSR_IV_NEXT:%.*]], [[ITER:%.*]] ], [ 0, [[BLAH:%.*]] ]
+; CHECK-NEXT: [[LSR_IV:%.*]] = phi i32 [ [[LSR_IV_NEXT:%.*]], [[ITER:%.*]] ], [ 0, [[BLAH]] ]
; CHECK-NEXT: [[LSR_IV_NEXT]] = add nuw nsw i32 [[LSR_IV]], -1
; CHECK-NEXT: [[LSR_IV_NEXT1:%.*]] = inttoptr i32 [[LSR_IV_NEXT]] to ptr
; CHECK-NEXT: [[TMP100:%.*]] = icmp eq ptr [[LSR_IV_NEXT1]], null
@@ -139,9 +139,9 @@ define void @h() personality ptr @_except_handler3 {
; CHECK-NEXT: br label [[THROW:%.*]]
; CHECK: throw:
; CHECK-NEXT: invoke void @reserve()
-; CHECK-NEXT: to label [[THROW]] unwind label [[PAD:%.*]]
+; CHECK-NEXT: to label [[THROW]] unwind label [[PAD:%.*]]
; CHECK: pad:
-; CHECK-NEXT: [[CS:%.*]] = catchswitch within none [label [[UNREACHABLE:%.*]], label %blug] unwind to caller
+; CHECK-NEXT: [[CS:%.*]] = catchswitch within none [label [[UNREACHABLE:%.*]], label [[BLUG:%.*]]] unwind to caller
; CHECK: unreachable:
; CHECK-NEXT: [[TMP0:%.*]] = catchpad within [[CS]] []
; CHECK-NEXT: unreachable
@@ -153,7 +153,7 @@ define void @h() personality ptr @_except_handler3 {
; CHECK: leave:
; CHECK-NEXT: ret void
; CHECK: loop_body:
-; CHECK-NEXT: [[LSR_IV:%.*]] = phi i32 [ [[LSR_IV_NEXT:%.*]], [[ITER:%.*]] ], [ 0, [[BLUG:%.*]] ]
+; CHECK-NEXT: [[LSR_IV:%.*]] = phi i32 [ [[LSR_IV_NEXT:%.*]], [[ITER:%.*]] ], [ 0, [[BLUG]] ]
; CHECK-NEXT: [[LSR_IV_NEXT]] = add nuw nsw i32 [[LSR_IV]], -1
; CHECK-NEXT: [[LSR_IV_NEXT1:%.*]] = inttoptr i32 [[LSR_IV_NEXT]] to ptr
; CHECK-NEXT: [[TMP100:%.*]] = icmp eq ptr [[LSR_IV_NEXT1]], null
@@ -203,9 +203,9 @@ define void @i() personality ptr @_except_handler3 {
; CHECK-NEXT: br label [[THROW:%.*]]
; CHECK: throw:
; CHECK-NEXT: invoke void @reserve()
-; CHECK-NEXT: to label [[THROW]] unwind label [[CATCHPAD:%.*]]
+; CHECK-NEXT: to label [[THROW]] unwind label [[CATCHPAD:%.*]]
; CHECK: catchpad:
-; CHECK-NEXT: [[CS:%.*]] = catchswitch within none [label %cp_body] unwind label [[CLEANUPPAD:%.*]]
+; CHECK-NEXT: [[CS:%.*]] = catchswitch within none [label [[CP_BODY:%.*]]] unwind label [[CLEANUPPAD:%.*]]
; CHECK: cp_body:
; CHECK-NEXT: [[TMP0:%.*]] = catchpad within [[CS]] []
; CHECK-NEXT: br label [[LOOP_HEAD:%.*]]
@@ -268,21 +268,21 @@ define void @test1(ptr %b, ptr %c) personality ptr @__CxxFrameHandler3 {
; CHECK: for.cond:
; CHECK-NEXT: [[D_0:%.*]] = phi ptr [ [[B:%.*]], [[ENTRY:%.*]] ], [ [[INCDEC_PTR:%.*]], [[FOR_INC:%.*]] ]
; CHECK-NEXT: invoke void @external(ptr [[D_0]])
-; CHECK-NEXT: to label [[FOR_INC]] unwind label [[CATCH_DISPATCH:%.*]]
+; CHECK-NEXT: to label [[FOR_INC]] unwind label [[CATCH_DISPATCH:%.*]]
; CHECK: for.inc:
; CHECK-NEXT: [[INCDEC_PTR]] = getelementptr inbounds i32, ptr [[D_0]], i32 1
; CHECK-NEXT: br label [[FOR_COND]]
; CHECK: catch.dispatch:
-; CHECK-NEXT: [[CS:%.*]] = catchswitch within none [label %catch] unwind label [[CATCH_DISPATCH_2:%.*]]
+; CHECK-NEXT: [[CS:%.*]] = catchswitch within none [label [[CATCH:%.*]]] unwind label [[CATCH_DISPATCH_2:%.*]]
; CHECK: catch:
; CHECK-NEXT: [[TMP0:%.*]] = catchpad within [[CS]] [ptr null, i32 64, ptr null]
; CHECK-NEXT: catchret from [[TMP0]] to label [[TRY_CONT:%.*]]
; CHECK: try.cont:
; CHECK-NEXT: invoke void @external(ptr [[C:%.*]])
-; CHECK-NEXT: to label [[TRY_CONT_7:%.*]] unwind label [[CATCH_DISPATCH_2]]
+; CHECK-NEXT: to label [[TRY_CONT_7:%.*]] unwind label [[CATCH_DISPATCH_2]]
; CHECK: catch.dispatch.2:
; CHECK-NEXT: [[E_0:%.*]] = phi ptr [ [[C]], [[TRY_CONT]] ], [ [[B]], [[CATCH_DISPATCH]] ]
-; CHECK-NEXT: [[CS2:%.*]] = catchswitch within none [label %catch.4] unwind to caller
+; CHECK-NEXT: [[CS2:%.*]] = catchswitch within none [label [[CATCH_4:%.*]]] unwind to caller
; CHECK: catch.4:
; CHECK-NEXT: [[TMP1:%.*]] = catchpad within [[CS2]] [ptr null, i32 64, ptr null]
; CHECK-NEXT: unreachable
@@ -331,9 +331,9 @@ define i32 @test2() personality ptr @_except_handler3 {
; CHECK: for.body:
; CHECK-NEXT: [[PHI:%.*]] = phi i32 [ [[INC:%.*]], [[FOR_INC:%.*]] ], [ 0, [[ENTRY:%.*]] ]
; CHECK-NEXT: invoke void @reserve()
-; CHECK-NEXT: to label [[FOR_INC]] unwind label [[CATCH_DISPATCH:%.*]]
+; CHECK-NEXT: to label [[FOR_INC]] unwind label [[CATCH_DISPATCH:%.*]]
; CHECK: catch.dispatch:
-; CHECK-NEXT: [[TMP18:%.*]] = catchswitch within none [label %catch.handler] unwind to caller
+; CHECK-NEXT: [[TMP18:%.*]] = catchswitch within none [label [[CATCH_HANDLER:%.*]]] unwind to caller
; CHECK: catch.handler:
; CHECK-NEXT: [[PHI_LCSSA:%.*]] = phi i32 [ [[PHI]], [[CATCH_DISPATCH]] ]
; CHECK-NEXT: [[TMP19:%.*]] = catchpad within [[TMP18]] [ptr null]
diff --git a/llvm/test/Transforms/LoopStrengthReduce/pr27056.ll b/llvm/test/Transforms/LoopStrengthReduce/pr27056.ll
index 5f082dae7cf7b..a6060a9a019b1 100644
--- a/llvm/test/Transforms/LoopStrengthReduce/pr27056.ll
+++ b/llvm/test/Transforms/LoopStrengthReduce/pr27056.ll
@@ -19,12 +19,12 @@ define void @b_copy_ctor() personality ptr @__CxxFrameHandler3 {
; CHECK-NEXT: [[LSR_IV:%.*]] = phi i64 [ [[LSR_IV_NEXT:%.*]], [[CALL_I_NOEXC:%.*]] ], [ 0, [[ENTRY:%.*]] ]
; CHECK-NEXT: [[LSR_IV2:%.*]] = inttoptr i64 [[LSR_IV]] to ptr
; CHECK-NEXT: invoke void @a_copy_ctor()
-; CHECK-NEXT: to label [[CALL_I_NOEXC]] unwind label [[CATCH_DISPATCH:%.*]]
+; CHECK-NEXT: to label [[CALL_I_NOEXC]] unwind label [[CATCH_DISPATCH:%.*]]
; CHECK: call.i.noexc:
; CHECK-NEXT: [[LSR_IV_NEXT]] = add i64 [[LSR_IV]], -16
; CHECK-NEXT: br label [[FOR_COND]]
; CHECK: catch.dispatch:
-; CHECK-NEXT: [[TMP2:%.*]] = catchswitch within none [label %catch] unwind to caller
+; CHECK-NEXT: [[TMP2:%.*]] = catchswitch within none [label [[CATCH:%.*]]] unwind to caller
; CHECK: catch:
; CHECK-NEXT: [[TMP3:%.*]] = catchpad within [[TMP2]] [ptr null, i32 64, ptr null]
; CHECK-NEXT: [[CMP16:%.*]] = icmp eq ptr [[LSR_IV2]], null
diff --git a/llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-threshold.ll b/llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-threshold.ll
index ffc0ae9ae52bb..118065b390c5f 100644
--- a/llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-threshold.ll
+++ b/llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-threshold.ll
@@ -12,8 +12,8 @@
; CHECK: br i1 %cmp
; CHECK: ret void
- at in = internal unnamed_addr global ptr null, align 8
- at out = internal unnamed_addr global ptr null, align 8
+ at in = internal unnamed_addr global ptr zeroinitializer, align 8
+ at out = internal unnamed_addr global ptr zeroinitializer, align 8
define void @unroll_default() {
entry:
diff --git a/llvm/test/Transforms/LoopUnroll/runtime-small-upperbound.ll b/llvm/test/Transforms/LoopUnroll/runtime-small-upperbound.ll
index 247cdd6c6be28..32e80fd706a64 100644
--- a/llvm/test/Transforms/LoopUnroll/runtime-small-upperbound.ll
+++ b/llvm/test/Transforms/LoopUnroll/runtime-small-upperbound.ll
@@ -5,7 +5,7 @@
target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
@global = dso_local local_unnamed_addr global i32 0, align 4
- at global.1 = dso_local local_unnamed_addr global ptr null, align 4
+ at global.1 = dso_local local_unnamed_addr global ptr zeroinitializer, align 4
; Check that loop in hoge_3, with a runtime upperbound of 3, is not unrolled.
define dso_local void @hoge_3(i8 %arg) {
diff --git a/llvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam-many-instr.ll b/llvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam-many-instr.ll
index d41737055d9c9..a6d312c71e1ae 100644
--- a/llvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam-many-instr.ll
+++ b/llvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam-many-instr.ll
@@ -4,7 +4,7 @@ target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
@a = common dso_local local_unnamed_addr global i32 0, align 4
@b = common dso_local local_unnamed_addr global i8 0, align 1
@e = common dso_local local_unnamed_addr global i64 0, align 8
- at c = common dso_local local_unnamed_addr global ptr null, align 8
+ at c = common dso_local local_unnamed_addr global ptr zeroinitializer, align 8
@g = common dso_local local_unnamed_addr global i64 0, align 8
@f = common dso_local local_unnamed_addr global i32 0, align 4
diff --git a/llvm/test/Transforms/LoopVectorize/AArch64/pr33053.ll b/llvm/test/Transforms/LoopVectorize/AArch64/pr33053.ll
index ab1486da794f7..155227fa425d0 100644
--- a/llvm/test/Transforms/LoopVectorize/AArch64/pr33053.ll
+++ b/llvm/test/Transforms/LoopVectorize/AArch64/pr33053.ll
@@ -3,7 +3,7 @@ target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64--linux-gnu"
@b = common local_unnamed_addr global i32 0, align 4
- at a = common local_unnamed_addr global ptr null, align 8
+ at a = common local_unnamed_addr global ptr zeroinitializer, align 8
define i32 @fn1() local_unnamed_addr #0 {
; We expect the backend to expand all reductions.
diff --git a/llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll b/llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
index 1808e80a97060..fa629b0173d36 100644
--- a/llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
+++ b/llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
@@ -1058,7 +1058,7 @@ for.end: ; preds = %for.inc
}
@a = common global [1 x ptr] zeroinitializer, align 8
- at c = common global ptr null, align 8
+ at c = common global ptr zeroinitializer, align 8
; Reverse loop
;void foo6(ptr in, ptr out, unsigned size, int *trigger) {
diff --git a/llvm/test/Transforms/LoopVectorize/discriminator.ll b/llvm/test/Transforms/LoopVectorize/discriminator.ll
index fe71b6bd9e765..ba36d56bdcc16 100644
--- a/llvm/test/Transforms/LoopVectorize/discriminator.ll
+++ b/llvm/test/Transforms/LoopVectorize/discriminator.ll
@@ -15,8 +15,8 @@
; 6 a[i] += b[i];
; 7 }
- at a = local_unnamed_addr global ptr null, align 8
- at b = local_unnamed_addr global ptr null, align 8
+ at a = local_unnamed_addr global ptr zeroinitializer, align 8
+ at b = local_unnamed_addr global ptr zeroinitializer, align 8
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
define void @_Z3foov() local_unnamed_addr #0 !dbg !6 {
diff --git a/llvm/test/Transforms/LoopVectorize/if-conversion-edgemasks.ll b/llvm/test/Transforms/LoopVectorize/if-conversion-edgemasks.ll
index 7117a5dd641fa..ffae87f3f8a08 100644
--- a/llvm/test/Transforms/LoopVectorize/if-conversion-edgemasks.ll
+++ b/llvm/test/Transforms/LoopVectorize/if-conversion-edgemasks.ll
@@ -2,9 +2,9 @@
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
- at a = global ptr null, align 8
- at b = global ptr null, align 8
- at c = global ptr null, align 8
+ at a = global ptr zeroinitializer, align 8
+ at b = global ptr zeroinitializer, align 8
+ at c = global ptr zeroinitializer, align 8
; Don't create an exponetial IR for the edge masks needed when if-converting
; this code.
diff --git a/llvm/test/Transforms/LoopVectorize/if-conversion.ll b/llvm/test/Transforms/LoopVectorize/if-conversion.ll
index 350c267445e54..62ee68feb984b 100644
--- a/llvm/test/Transforms/LoopVectorize/if-conversion.ll
+++ b/llvm/test/Transforms/LoopVectorize/if-conversion.ll
@@ -228,7 +228,7 @@ for.end: ; preds = %for.inc, %entry
}
@a = common global [1 x ptr] zeroinitializer, align 8
- at c = common global ptr null, align 8
+ at c = common global ptr zeroinitializer, align 8
; We use to if convert this loop. This is not safe because there is a trapping
; constant expression.
diff --git a/llvm/test/Transforms/LoopVectorize/scev-exitlim-crash.ll b/llvm/test/Transforms/LoopVectorize/scev-exitlim-crash.ll
index 490576a69d276..f0d6dfd036144 100644
--- a/llvm/test/Transforms/LoopVectorize/scev-exitlim-crash.ll
+++ b/llvm/test/Transforms/LoopVectorize/scev-exitlim-crash.ll
@@ -5,8 +5,8 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
@b = common global i32 0, align 4
@f = common global i32 0, align 4
@a = common global i32 0, align 4
- at d = common global ptr null, align 8
- at e = common global ptr null, align 8
+ at d = common global ptr zeroinitializer, align 8
+ at e = common global ptr zeroinitializer, align 8
@c = common global i32 0, align 4
; CHECK-LABEL: @fn1(
diff --git a/llvm/test/Transforms/LoopVersioning/add-phi-update-users.ll b/llvm/test/Transforms/LoopVersioning/add-phi-update-users.ll
index 9f77bbfe5ac35..8d5137caabe3d 100644
--- a/llvm/test/Transforms/LoopVersioning/add-phi-update-users.ll
+++ b/llvm/test/Transforms/LoopVersioning/add-phi-update-users.ll
@@ -18,7 +18,7 @@
@a = dso_local global i16 0, align 1
@b = dso_local global i16 0, align 1
- at c = dso_local global ptr null, align 1
+ at c = dso_local global ptr zeroinitializer, align 1
define void @f1() {
; CHECK-LABEL: define void @f1() {
diff --git a/llvm/test/Transforms/LoopVersioning/noalias-version-twice.ll b/llvm/test/Transforms/LoopVersioning/noalias-version-twice.ll
index 8a639166d41e4..c0d33c5e5bd2b 100644
--- a/llvm/test/Transforms/LoopVersioning/noalias-version-twice.ll
+++ b/llvm/test/Transforms/LoopVersioning/noalias-version-twice.ll
@@ -22,11 +22,11 @@
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
- at B = common global ptr null, align 8
- at A = common global ptr null, align 8
- at C = common global ptr null, align 8
- at D = common global ptr null, align 8
- at E = common global ptr null, align 8
+ at B = common global ptr zeroinitializer, align 8
+ at A = common global ptr zeroinitializer, align 8
+ at C = common global ptr zeroinitializer, align 8
+ at D = common global ptr zeroinitializer, align 8
+ at E = common global ptr zeroinitializer, align 8
define void @f() {
entry:
diff --git a/llvm/test/Transforms/LowerGlobalDestructors/non-literal-type.ll b/llvm/test/Transforms/LowerGlobalDestructors/non-literal-type.ll
index c7fb6266cf96a..4e412b5126abd 100644
--- a/llvm/test/Transforms/LowerGlobalDestructors/non-literal-type.ll
+++ b/llvm/test/Transforms/LowerGlobalDestructors/non-literal-type.ll
@@ -10,19 +10,19 @@ declare void @dtor()
@llvm.global_dtors = appending global [1 x %ty] [%ty {i32 65535, ptr @dtor, ptr zeroinitializer }], align 8
;.
-; CHECK: @[[__DSO_HANDLE:[a-zA-Z0-9_$"\\.-]+]] = extern_weak hidden constant i8
-; CHECK: @[[LLVM_GLOBAL_CTORS:[a-zA-Z0-9_$"\\.-]+]] = appending global [2 x %ty] [[[TY:%.*]] { i32 65535, ptr @ctor, ptr null }, [[TY]] { i32 65535, ptr @register_call_dtors, ptr null }]
+; CHECK: @__dso_handle = extern_weak hidden constant i8
+; CHECK: @llvm.global_ctors = appending global [2 x %ty] [%ty { i32 65535, ptr @ctor, ptr zeroinitializer }, %ty { i32 65535, ptr @register_call_dtors., ptr zeroinitializer }]
;.
-; CHECK-LABEL: define private void @call_dtors
+; CHECK-LABEL: define private void @call_dtors.
; CHECK-SAME: (ptr [[TMP0:%.*]]) {
; CHECK-NEXT: body:
; CHECK-NEXT: call void @dtor()
; CHECK-NEXT: ret void
;
;
-; CHECK-LABEL: define private void @register_call_dtors() {
+; CHECK-LABEL: define private void @register_call_dtors.() {
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[CALL:%.*]] = call i32 @__cxa_atexit(ptr @call_dtors, ptr null, ptr @__dso_handle)
+; CHECK-NEXT: [[CALL:%.*]] = call i32 @__cxa_atexit(ptr @call_dtors., ptr null, ptr @__dso_handle)
; CHECK-NEXT: [[TMP0:%.*]] = icmp ne i32 [[CALL]], 0
; CHECK-NEXT: br i1 [[TMP0]], label [[FAIL:%.*]], label [[RETURN:%.*]]
; CHECK: fail:
diff --git a/llvm/test/Transforms/LowerTypeTests/cfi-nounwind-direct-call.ll b/llvm/test/Transforms/LowerTypeTests/cfi-nounwind-direct-call.ll
index 89c32fab54a4c..77ddd8e632234 100644
--- a/llvm/test/Transforms/LowerTypeTests/cfi-nounwind-direct-call.ll
+++ b/llvm/test/Transforms/LowerTypeTests/cfi-nounwind-direct-call.ll
@@ -20,7 +20,7 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux"
- at catch_ptr = local_unnamed_addr global ptr null, align 8
+ at catch_ptr = local_unnamed_addr global ptr zeroinitializer, align 8
@llvm.used = appending global [1 x ptr] [ptr @__cfi_check_fail], section "llvm.metadata"
; Function Attrs: minsize mustprogress nofree norecurse nosync nounwind optsize willreturn memory(none)
diff --git a/llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll b/llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
index 4d5055cc5a760..3eb925505974f 100644
--- a/llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
+++ b/llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
@@ -22,7 +22,7 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux"
- at catch_ptr = local_unnamed_addr global ptr null, align 8
+ at catch_ptr = local_unnamed_addr global ptr zeroinitializer, align 8
@_ZTIi = external constant ptr
@llvm.used = appending global [1 x ptr] [ptr @__cfi_check_fail], section "llvm.metadata"
diff --git a/llvm/test/Transforms/LowerTypeTests/function-weak.ll b/llvm/test/Transforms/LowerTypeTests/function-weak.ll
index dbbe8fa4a0a9a..070e878324d8c 100644
--- a/llvm/test/Transforms/LowerTypeTests/function-weak.ll
+++ b/llvm/test/Transforms/LowerTypeTests/function-weak.ll
@@ -9,17 +9,17 @@
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
-; CHECK: @x = global ptr null, align 8
+; CHECK: @x = global ptr zeroinitializer, align 8
@x = global ptr @f, align 8
-; CHECK: @x2 = global ptr null, align 8
+; CHECK: @x2 = global ptr zeroinitializer, align 8
@x2 = global ptr @f, align 8
-; CHECK: @x3 = internal global ptr null, align 8
+; CHECK: @x3 = internal global ptr zeroinitializer, align 8
@x3 = internal constant ptr @f, align 8
; f + addend
-; CHECK: @x4 = global ptr null, align 8
+; CHECK: @x4 = global ptr zeroinitializer, align 8
@x4 = global ptr getelementptr (i8, ptr @f, i64 42), align 8
; aggregate initializer
@@ -165,4 +165,4 @@ define i1 @foo(ptr %p) {
; CHECK-NEXT: }
!0 = !{i32 0, !"typeid1"}
-; CHECK: ![[SELPROF]] = !{!"unknown", !"lowertypetests"}
\ No newline at end of file
+; CHECK: ![[SELPROF]] = !{!"unknown", !"lowertypetests"}
diff --git a/llvm/test/Transforms/LowerTypeTests/pr48245.ll b/llvm/test/Transforms/LowerTypeTests/pr48245.ll
index 144296ab5cd7c..786e7f238b039 100644
--- a/llvm/test/Transforms/LowerTypeTests/pr48245.ll
+++ b/llvm/test/Transforms/LowerTypeTests/pr48245.ll
@@ -19,7 +19,7 @@ target triple = "x86_64-unknown-linux-gnu"
@_ZTVN10__cxxabiv117__class_type_infoE = external dso_local global ptr
@_ZTS3Foo = dso_local constant [5 x i8] c"3Foo\00", align 1
@_ZTI3Foo = dso_local constant { ptr, ptr } { ptr getelementptr inbounds (ptr, ptr @_ZTVN10__cxxabiv117__class_type_infoE, i64 2), ptr @_ZTS3Foo }, align 8
- at b = dso_local local_unnamed_addr global ptr null, align 8
+ at b = dso_local local_unnamed_addr global ptr zeroinitializer, align 8
define dso_local i32 @main() local_unnamed_addr {
entry:
diff --git a/llvm/test/Transforms/MemCpyOpt/pr37967.ll b/llvm/test/Transforms/MemCpyOpt/pr37967.ll
index fb9d2e4c0095b..194145df26f68 100644
--- a/llvm/test/Transforms/MemCpyOpt/pr37967.ll
+++ b/llvm/test/Transforms/MemCpyOpt/pr37967.ll
@@ -5,7 +5,7 @@
%struct.Foo = type { i64, i64, i64 }
- at a = dso_local global ptr null, align 8
+ at a = dso_local global ptr zeroinitializer, align 8
define dso_local void @_Z3bar3Foo(ptr byval(%struct.Foo) align 8 %0) {
; CHECK-LABEL: @_Z3bar3Foo(
diff --git a/llvm/test/Transforms/MergeFunc/crash2.ll b/llvm/test/Transforms/MergeFunc/crash2.ll
index 5a4d65b256216..0a0fb69316136 100644
--- a/llvm/test/Transforms/MergeFunc/crash2.ll
+++ b/llvm/test/Transforms/MergeFunc/crash2.ll
@@ -8,8 +8,8 @@
; causes an assert in the ValueHandle call back because we are RAUWing with a
; different type (AllocaInst) than its key type (GlobalValue).
- at G = internal global ptr null
- at G2 = internal global ptr null
+ at G = internal global ptr zeroinitializer
+ at G2 = internal global ptr zeroinitializer
define i32 @main(i32 %argc, ptr %argv) norecurse {
; CHECK: alloca
diff --git a/llvm/test/Transforms/NewGVN/addrspacecast.ll b/llvm/test/Transforms/NewGVN/addrspacecast.ll
index 394db28425d98..b844c58d5adc2 100644
--- a/llvm/test/Transforms/NewGVN/addrspacecast.ll
+++ b/llvm/test/Transforms/NewGVN/addrspacecast.ll
@@ -62,7 +62,7 @@ block2:
ret ptr addrspace(1) %z2
}
- at h = common local_unnamed_addr global ptr null, align 4
+ at h = common local_unnamed_addr global ptr zeroinitializer, align 4
define ptr addrspace(1) @addrspacecast_constant() {
; CHECK-LABEL: @addrspacecast_constant(
diff --git a/llvm/test/Transforms/ObjCARC/code-motion.ll b/llvm/test/Transforms/ObjCARC/code-motion.ll
index 9009b98b4b1e3..c43a473e5e471 100644
--- a/llvm/test/Transforms/ObjCARC/code-motion.ll
+++ b/llvm/test/Transforms/ObjCARC/code-motion.ll
@@ -4,7 +4,7 @@ declare void @alterRefCount()
declare void @use(ptr)
declare void @readOnlyFunc(ptr, ptr)
- at g0 = global ptr null, align 8
+ at g0 = global ptr zeroinitializer, align 8
; Check that ARC optimizer doesn't reverse the order of the retain call and the
; release call when there are debug instructions.
diff --git a/llvm/test/Transforms/ObjCARC/contract-catchswitch.ll b/llvm/test/Transforms/ObjCARC/contract-catchswitch.ll
index 19fcab55a3603..fc5d2b42d4e5e 100644
--- a/llvm/test/Transforms/ObjCARC/contract-catchswitch.ll
+++ b/llvm/test/Transforms/ObjCARC/contract-catchswitch.ll
@@ -9,7 +9,7 @@ declare i32 @__CxxFrameHandler3(...)
declare dllimport void @llvm.objc.release(ptr) local_unnamed_addr
declare dllimport ptr @llvm.objc.retain(ptr returned) local_unnamed_addr
- at p = global ptr null, align 4
+ at p = global ptr zeroinitializer, align 4
declare void @f() local_unnamed_addr
diff --git a/llvm/test/Transforms/ObjCARC/gvn.ll b/llvm/test/Transforms/ObjCARC/gvn.ll
index c385f33e63e2c..5c417f057d7cb 100644
--- a/llvm/test/Transforms/ObjCARC/gvn.ll
+++ b/llvm/test/Transforms/ObjCARC/gvn.ll
@@ -1,6 +1,6 @@
; RUN: opt -S -aa-pipeline=basic-aa,objc-arc-aa -passes=gvn < %s | FileCheck %s
- at x = common global ptr null, align 8
+ at x = common global ptr zeroinitializer, align 8
declare ptr @llvm.objc.retain(ptr)
declare i32 @llvm.objc.sync.enter(ptr)
diff --git a/llvm/test/Transforms/ObjCARC/nested.ll b/llvm/test/Transforms/ObjCARC/nested.ll
index d03cbd5f54e71..39b4b1239586a 100644
--- a/llvm/test/Transforms/ObjCARC/nested.ll
+++ b/llvm/test/Transforms/ObjCARC/nested.ll
@@ -4,7 +4,7 @@
@"\01L_OBJC_METH_VAR_NAME_" = internal global [43 x i8] c"countByEnumeratingWithState:objects:count:\00", section "__TEXT,__objc_methname,cstring_literals", align 1
@"\01L_OBJC_SELECTOR_REFERENCES_" = internal global ptr @"\01L_OBJC_METH_VAR_NAME_", section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip"
- at g = common global ptr null, align 8
+ at g = common global ptr zeroinitializer, align 8
@"\01L_OBJC_IMAGE_INFO" = internal constant [2 x i32] [i32 0, i32 16], section "__DATA, __objc_imageinfo, regular, no_dead_strip"
declare void @callee()
diff --git a/llvm/test/Transforms/ObjCARC/opt-max-ptr-states.ll b/llvm/test/Transforms/ObjCARC/opt-max-ptr-states.ll
index 8a57a926021d5..b0c14272c5155 100644
--- a/llvm/test/Transforms/ObjCARC/opt-max-ptr-states.ll
+++ b/llvm/test/Transforms/ObjCARC/opt-max-ptr-states.ll
@@ -1,7 +1,7 @@
; RUN: opt -passes=objc-arc -S < %s | FileCheck -check-prefix=ENABLE -check-prefix=CHECK %s
; RUN: opt -passes=objc-arc -arc-opt-max-ptr-states=1 -S < %s | FileCheck -check-prefix=DISABLE -check-prefix=CHECK %s
- at g0 = common global ptr null, align 8
+ at g0 = common global ptr zeroinitializer, align 8
; CHECK: call ptr @llvm.objc.retain
; ENABLE-NOT: call ptr @llvm.objc.retain
diff --git a/llvm/test/Transforms/OpenMP/barrier_removal.ll b/llvm/test/Transforms/OpenMP/barrier_removal.ll
index 56f730ccb4189..73bd49777f9f0 100644
--- a/llvm/test/Transforms/OpenMP/barrier_removal.ll
+++ b/llvm/test/Transforms/OpenMP/barrier_removal.ll
@@ -21,7 +21,7 @@ declare void @llvm.assume(i1)
; CHECK: @GPtr4 = addrspace(4) global ptr addrspace(4) null
; CHECK: @G = global i32 42
; CHECK: @GS = addrspace(3) global i32 0
-; CHECK: @GPtr = global ptr null
+; CHECK: @GPtr = global ptr zeroinitializer
; CHECK: @PG1 = thread_local global i32 42
; CHECK: @PG2 = addrspace(5) global i32 0
; CHECK: @GPtr5 = global ptr addrspace(5) null
@@ -294,7 +294,7 @@ define amdgpu_kernel void @pos_constant_loads() "kernel" {
}
@G = global i32 42
@GS = addrspace(3) global i32 0
- at GPtr = global ptr null
+ at GPtr = global ptr zeroinitializer
; TODO: We could remove some of the barriers due to the lack of write effects.
define amdgpu_kernel void @neg_loads() "kernel" {
; CHECK-LABEL: define {{[^@]+}}@neg_loads
diff --git a/llvm/test/Transforms/OpenMP/heap-to-shared-missing-declarations.ll b/llvm/test/Transforms/OpenMP/heap-to-shared-missing-declarations.ll
index d81f34f3c4273..0d081ef9e98e8 100644
--- a/llvm/test/Transforms/OpenMP/heap-to-shared-missing-declarations.ll
+++ b/llvm/test/Transforms/OpenMP/heap-to-shared-missing-declarations.ll
@@ -7,7 +7,6 @@ define internal void @outlined0() {
; CHECK-LABEL: define {{[^@]+}}@outlined0
; CHECK-SAME: () #[[ATTR0:[0-9]+]] {
; CHECK-NEXT: bb:
-; CHECK-NEXT: call void @func() #[[ATTR1:[0-9]+]]
; CHECK-NEXT: [[I:%.*]] = call i32 @__kmpc_get_hardware_num_threads_in_block() #[[ATTR0]]
; CHECK-NEXT: ret void
;
@@ -18,14 +17,6 @@ bb:
}
define internal void @func() {
-; CHECK: Function Attrs: nosync nounwind
-; CHECK-LABEL: define {{[^@]+}}@func
-; CHECK-SAME: () #[[ATTR1]] {
-; CHECK-NEXT: bb:
-; CHECK-NEXT: [[I:%.*]] = load ptr, ptr addrspace(5) null, align 4294967296
-; CHECK-NEXT: store i64 0, ptr [[I]], align 8
-; CHECK-NEXT: ret void
-;
bb:
%i = load ptr, ptr addrspacecast (ptr addrspace(5) null to ptr), align 4294967296
store i64 0, ptr %i, align 8
@@ -35,7 +26,7 @@ bb:
define internal void @outlined1() {
; CHECK: Function Attrs: nosync nounwind
; CHECK-LABEL: define {{[^@]+}}@outlined1
-; CHECK-SAME: () #[[ATTR1]] {
+; CHECK-SAME: () #[[ATTR1:[0-9]+]] {
; CHECK-NEXT: bb:
; CHECK-NEXT: br label [[BB2:%.*]]
; CHECK: common.ret:
diff --git a/llvm/test/Transforms/OpenMP/spmdization_kernel_env_dep.ll b/llvm/test/Transforms/OpenMP/spmdization_kernel_env_dep.ll
index d3e8e98b6f510..b605194b8e4c2 100644
--- a/llvm/test/Transforms/OpenMP/spmdization_kernel_env_dep.ll
+++ b/llvm/test/Transforms/OpenMP/spmdization_kernel_env_dep.ll
@@ -12,7 +12,7 @@ target triple = "amdgcn-amd-amdhsa"
;.
; AMDGPU: @IsSPMDMode = internal addrspace(3) global i32 undef
-; AMDGPU: @__omp_offloading_10302_b20a40e_main_l4_kernel_environment = addrspace(1) constant %struct.KernelEnvironmentTy { %struct.ConfigurationEnvironmentTy.8 { i8 0, i8 0, i8 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 }, ptr addrspacecast (ptr addrspace(1) null to ptr), ptr addrspacecast (ptr addrspace(1) null to ptr) }
+; AMDGPU: @__omp_offloading_10302_b20a40e_main_l4_kernel_environment = addrspace(1) constant %struct.KernelEnvironmentTy { %struct.ConfigurationEnvironmentTy.8 { i8 0, i8 0, i8 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 }, ptr null, ptr null }
;.
define i32 @fputs() {
; AMDGPU-LABEL: define {{[^@]+}}@fputs
diff --git a/llvm/test/Transforms/PGOProfile/icp_invoke.ll b/llvm/test/Transforms/PGOProfile/icp_invoke.ll
index 04fc012c8458a..73d10dae6acd3 100644
--- a/llvm/test/Transforms/PGOProfile/icp_invoke.ll
+++ b/llvm/test/Transforms/PGOProfile/icp_invoke.ll
@@ -2,8 +2,8 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at foo1 = global ptr null, align 8
- at foo2 = global ptr null, align 8
+ at foo1 = global ptr zeroinitializer, align 8
+ at foo2 = global ptr zeroinitializer, align 8
@_ZTIi = external constant ptr
define internal void @_ZL4bar1v() !PGOFuncName !0 {
diff --git a/llvm/test/Transforms/PGOProfile/icp_invoke_nouse.ll b/llvm/test/Transforms/PGOProfile/icp_invoke_nouse.ll
index 9eb7b962ce736..4265e2fa26a50 100644
--- a/llvm/test/Transforms/PGOProfile/icp_invoke_nouse.ll
+++ b/llvm/test/Transforms/PGOProfile/icp_invoke_nouse.ll
@@ -3,11 +3,11 @@ target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16
target triple = "x86_64-unknown-linux-gnu"
@_ZTISt9exception = external constant ptr
- at pfptr = global ptr null, align 8
+ at pfptr = global ptr zeroinitializer, align 8
define internal i32 @_ZL4bar1v() !PGOFuncName !0 {
entry:
- ret i32 100
+ ret i32 100
}
; Function Attrs: uwtable
@@ -46,7 +46,7 @@ catch: ; preds = %lpad
br label %cleanup
cleanup: ; preds = %catch, %if.end, %entry
-; ICP-NOT: %[0-9]+ = phi
+; ICP-NOT: %[0-9]+ = phi
ret i32 0
ehcleanup: ; preds = %lpad
diff --git a/llvm/test/Transforms/PGOProfile/icp_mismatch_msg.ll b/llvm/test/Transforms/PGOProfile/icp_mismatch_msg.ll
index 3ea196aec3086..a83491d9b1b91 100644
--- a/llvm/test/Transforms/PGOProfile/icp_mismatch_msg.ll
+++ b/llvm/test/Transforms/PGOProfile/icp_mismatch_msg.ll
@@ -7,9 +7,9 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at foo = common global ptr null, align 8
- at foo2 = common global ptr null, align 8
- at foo3 = common global ptr null, align 8
+ at foo = common global ptr zeroinitializer, align 8
+ at foo2 = common global ptr zeroinitializer, align 8
+ at foo3 = common global ptr zeroinitializer, align 8
define i32 @func4(i32 %i) {
entry:
diff --git a/llvm/test/Transforms/PGOProfile/icp_vararg.ll b/llvm/test/Transforms/PGOProfile/icp_vararg.ll
index 26e04ffe5daf7..3fc7bb5b8dd38 100644
--- a/llvm/test/Transforms/PGOProfile/icp_vararg.ll
+++ b/llvm/test/Transforms/PGOProfile/icp_vararg.ll
@@ -2,7 +2,7 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at foo = common global ptr null, align 8
+ at foo = common global ptr zeroinitializer, align 8
define i32 @va_func(i32 %num, ...) {
entry:
@@ -24,7 +24,7 @@ entry:
ret i32 %call
; ICALL-PROM:if.end.icp:
; ICALL-PROM: [[PHI_RET:%[0-9]+]] = phi i32 [ %call, %if.false.orig_indirect ], [ [[DIRCALL_RET]], %if.true.direct_targ ]
-; ICALL-PROM: ret i32 [[PHI_RET]]
+; ICALL-PROM: ret i32 [[PHI_RET]]
}
diff --git a/llvm/test/Transforms/PGOProfile/icp_vararg_sret.ll b/llvm/test/Transforms/PGOProfile/icp_vararg_sret.ll
index ac7068b6294fc..12ce9100ad273 100644
--- a/llvm/test/Transforms/PGOProfile/icp_vararg_sret.ll
+++ b/llvm/test/Transforms/PGOProfile/icp_vararg_sret.ll
@@ -8,7 +8,7 @@ entry:
}
%struct = type { i32 }
- at func_ptr = common global ptr null, align 8
+ at func_ptr = common global ptr zeroinitializer, align 8
define void @test() {
; Even though value profiling suggests @va_func is the call target, don't do
diff --git a/llvm/test/Transforms/PGOProfile/indirect_call_annotation.ll b/llvm/test/Transforms/PGOProfile/indirect_call_annotation.ll
index 6f8b26fa6ae20..6e562b24f561a 100644
--- a/llvm/test/Transforms/PGOProfile/indirect_call_annotation.ll
+++ b/llvm/test/Transforms/PGOProfile/indirect_call_annotation.ll
@@ -3,7 +3,7 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at foo = common global ptr null, align 8
+ at foo = common global ptr zeroinitializer, align 8
define i32 @func1(i32 %x) {
entry:
diff --git a/llvm/test/Transforms/PGOProfile/indirect_call_profile.ll b/llvm/test/Transforms/PGOProfile/indirect_call_profile.ll
index db633807f4e78..d95ed00c8a103 100644
--- a/llvm/test/Transforms/PGOProfile/indirect_call_profile.ll
+++ b/llvm/test/Transforms/PGOProfile/indirect_call_profile.ll
@@ -56,7 +56,7 @@ entry:
ret void
}
- at bar2 = global ptr null, align 8
+ at bar2 = global ptr zeroinitializer, align 8
@_ZTIi = external constant ptr
define i32 @foo2(i32 %arg, ptr nocapture readnone %arg1) personality ptr @__gxx_personality_v0 {
diff --git a/llvm/test/Transforms/PGOProfile/indirect_call_promotion.ll b/llvm/test/Transforms/PGOProfile/indirect_call_promotion.ll
index ab8ebefd204d1..a444bc0eecc4b 100644
--- a/llvm/test/Transforms/PGOProfile/indirect_call_promotion.ll
+++ b/llvm/test/Transforms/PGOProfile/indirect_call_promotion.ll
@@ -29,7 +29,7 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at foo = common global ptr null, align 8
+ at foo = common global ptr zeroinitializer, align 8
define i32 @func1() {
entry:
diff --git a/llvm/test/Transforms/PGOProfile/indirect_call_promotion2.ll b/llvm/test/Transforms/PGOProfile/indirect_call_promotion2.ll
index 3dfc9269b8409..3f55b2961d728 100644
--- a/llvm/test/Transforms/PGOProfile/indirect_call_promotion2.ll
+++ b/llvm/test/Transforms/PGOProfile/indirect_call_promotion2.ll
@@ -15,7 +15,7 @@
; REMARK4: remark: <unknown>:0:0: Promote indirect call to sub with count 200 out of 400
; REMARK5: remark: <unknown>:0:0: Promote indirect call to add with count 200 out of 200
- at math = dso_local local_unnamed_addr global ptr null, align 8
+ at math = dso_local local_unnamed_addr global ptr zeroinitializer, align 8
define dso_local i32 @add(i32 noundef %a, i32 noundef %b) !prof !34 {
entry:
diff --git a/llvm/test/Transforms/PGOProfile/indirect_call_promotion_byval.ll b/llvm/test/Transforms/PGOProfile/indirect_call_promotion_byval.ll
index 6272a80b00a14..6454057bf2280 100644
--- a/llvm/test/Transforms/PGOProfile/indirect_call_promotion_byval.ll
+++ b/llvm/test/Transforms/PGOProfile/indirect_call_promotion_byval.ll
@@ -9,7 +9,7 @@ target triple = "i686-unknown-linux-gnu"
%struct.Foo.1 = type { i32 }
%struct.Foo.2 = type { i32 }
- at foo = common global ptr null, align 8
+ at foo = common global ptr zeroinitializer, align 8
define i32 @func4(ptr byval(%struct.Foo.1) %p) {
entry:
diff --git a/llvm/test/Transforms/PGOProfile/indirect_call_promotion_musttail.ll b/llvm/test/Transforms/PGOProfile/indirect_call_promotion_musttail.ll
index 128ab158d249b..179b89f742afe 100644
--- a/llvm/test/Transforms/PGOProfile/indirect_call_promotion_musttail.ll
+++ b/llvm/test/Transforms/PGOProfile/indirect_call_promotion_musttail.ll
@@ -3,7 +3,7 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at foo = common global ptr null, align 8
+ at foo = common global ptr zeroinitializer, align 8
define ptr @func1() {
ret ptr null
diff --git a/llvm/test/Transforms/PGOProfile/indirect_call_promotion_unique.ll b/llvm/test/Transforms/PGOProfile/indirect_call_promotion_unique.ll
index 2c51d6a47b65f..4cb67f3c049b2 100644
--- a/llvm/test/Transforms/PGOProfile/indirect_call_promotion_unique.ll
+++ b/llvm/test/Transforms/PGOProfile/indirect_call_promotion_unique.ll
@@ -3,7 +3,7 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at foo = common global ptr null, align 8
+ at foo = common global ptr zeroinitializer, align 8
; The names on the IR and in the profile are both "func1".
define i32 @func1() {
diff --git a/llvm/test/Transforms/PGOProfile/indirect_call_promotion_vla.ll b/llvm/test/Transforms/PGOProfile/indirect_call_promotion_vla.ll
index c4c525a0a1992..700c80fbbea56 100644
--- a/llvm/test/Transforms/PGOProfile/indirect_call_promotion_vla.ll
+++ b/llvm/test/Transforms/PGOProfile/indirect_call_promotion_vla.ll
@@ -5,7 +5,7 @@ target triple = "x86_64-unknown-linux-gnu"
%struct.A = type { i8 }
%struct.B = type { i8 }
- at foo = common global ptr null, align 8
+ at foo = common global ptr zeroinitializer, align 8
define i32 @func1(ptr %x, ...) {
entry:
diff --git a/llvm/test/Transforms/PGOProfile/multiple_hash_profile.ll b/llvm/test/Transforms/PGOProfile/multiple_hash_profile.ll
index 768412603a846..a6581c46a150e 100644
--- a/llvm/test/Transforms/PGOProfile/multiple_hash_profile.ll
+++ b/llvm/test/Transforms/PGOProfile/multiple_hash_profile.ll
@@ -5,7 +5,7 @@ target triple = "x86_64-unknown-linux-gnu"
$_Z3fooi = comdat any
- at g2 = local_unnamed_addr global ptr null, align 8
+ at g2 = local_unnamed_addr global ptr zeroinitializer, align 8
define i32 @_Z3bari(i32 %i) {
entry:
diff --git a/llvm/test/Transforms/PGOProfile/thinlto_samplepgo_icp.ll b/llvm/test/Transforms/PGOProfile/thinlto_samplepgo_icp.ll
index e04da9336b8e8..1d785665da091 100644
--- a/llvm/test/Transforms/PGOProfile/thinlto_samplepgo_icp.ll
+++ b/llvm/test/Transforms/PGOProfile/thinlto_samplepgo_icp.ll
@@ -12,7 +12,7 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at fptr = local_unnamed_addr global ptr null, align 8
+ at fptr = local_unnamed_addr global ptr zeroinitializer, align 8
; Function Attrs: norecurse uwtable
define i32 @main() local_unnamed_addr #0 !prof !34 {
diff --git a/llvm/test/Transforms/PGOProfile/thinlto_samplepgo_icp2.ll b/llvm/test/Transforms/PGOProfile/thinlto_samplepgo_icp2.ll
index 5f611008b2171..b1e3131e391bf 100644
--- a/llvm/test/Transforms/PGOProfile/thinlto_samplepgo_icp2.ll
+++ b/llvm/test/Transforms/PGOProfile/thinlto_samplepgo_icp2.ll
@@ -27,7 +27,7 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at fptr = local_unnamed_addr global ptr null, align 8
+ at fptr = local_unnamed_addr global ptr zeroinitializer, align 8
; Function Attrs: norecurse uwtable
define i32 @main() local_unnamed_addr #0 !prof !34 {
diff --git a/llvm/test/Transforms/PGOProfile/thinlto_samplepgo_icp3.ll b/llvm/test/Transforms/PGOProfile/thinlto_samplepgo_icp3.ll
index f509ab907b7fc..d4ff95d7e2d87 100644
--- a/llvm/test/Transforms/PGOProfile/thinlto_samplepgo_icp3.ll
+++ b/llvm/test/Transforms/PGOProfile/thinlto_samplepgo_icp3.ll
@@ -19,7 +19,7 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at fptr = local_unnamed_addr global ptr null, align 8
+ at fptr = local_unnamed_addr global ptr zeroinitializer, align 8
; Function Attrs: norecurse uwtable
define i32 @main() local_unnamed_addr #0 !prof !34 {
diff --git a/llvm/test/Transforms/PGOProfile/thinlto_samplepgo_icp_droppeddead.ll b/llvm/test/Transforms/PGOProfile/thinlto_samplepgo_icp_droppeddead.ll
index fcaf8da0857bf..a2dfcd1fcb4d7 100644
--- a/llvm/test/Transforms/PGOProfile/thinlto_samplepgo_icp_droppeddead.ll
+++ b/llvm/test/Transforms/PGOProfile/thinlto_samplepgo_icp_droppeddead.ll
@@ -15,7 +15,7 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at fptr = local_unnamed_addr global ptr null, align 8
+ at fptr = local_unnamed_addr global ptr zeroinitializer, align 8
define void @_ZL3foov() #1 {
entry:
diff --git a/llvm/test/Transforms/PhaseOrdering/globalaa-retained.ll b/llvm/test/Transforms/PhaseOrdering/globalaa-retained.ll
index 82a453d72079f..715738f413d09 100644
--- a/llvm/test/Transforms/PhaseOrdering/globalaa-retained.ll
+++ b/llvm/test/Transforms/PhaseOrdering/globalaa-retained.ll
@@ -3,7 +3,7 @@ target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128"
target triple = "aarch64"
@v = internal unnamed_addr global i32 0, align 4
- at p = common global ptr null, align 8
+ at p = common global ptr zeroinitializer, align 8
; This test checks that a number of loads and stores are eliminated,
diff --git a/llvm/test/Transforms/PhaseOrdering/recompute-globalsaa.ll b/llvm/test/Transforms/PhaseOrdering/recompute-globalsaa.ll
index 3f5ea81349583..8c63147d277d8 100644
--- a/llvm/test/Transforms/PhaseOrdering/recompute-globalsaa.ll
+++ b/llvm/test/Transforms/PhaseOrdering/recompute-globalsaa.ll
@@ -2,7 +2,7 @@
; RUN: opt -passes='default<O2>' -S < %s | FileCheck %s
@a = internal global i32 0, align 4
@c = internal global ptr @b, align 8
- at b = internal global ptr null, align 8
+ at b = internal global ptr zeroinitializer, align 8
@e = internal global ptr @d, align 8
@d = internal global i32 0, align 4
diff --git a/llvm/test/Transforms/RewriteStatepointsForGC/pr56493.ll b/llvm/test/Transforms/RewriteStatepointsForGC/pr56493.ll
index e5677cb495fb1..2f9ba194b2257 100644
--- a/llvm/test/Transforms/RewriteStatepointsForGC/pr56493.ll
+++ b/llvm/test/Transforms/RewriteStatepointsForGC/pr56493.ll
@@ -5,7 +5,7 @@
define void @test() gc "statepoint-example" personality ptr @zot {
; CHECK-LABEL: @test(
; CHECK-NEXT: bb:
-; CHECK-NEXT: [[STATEPOINT_TOKEN:%.*]] = call token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 2882400000, i32 0, ptr elementtype(void (ptr addrspace(1), i64, ptr addrspace(1), i64, i64)) @__llvm_memcpy_element_unordered_atomic_safepoint_4, i32 5, i32 0, ptr addrspace(1) null, i64 undef, ptr addrspace(1) null, i64 ptrtoint (ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) null, i64 16) to i64), i64 undef, i32 0, i32 0) [ "deopt"() ]
+; CHECK-NEXT: [[STATEPOINT_TOKEN:%.*]] = call token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 2882400000, i32 0, ptr elementtype(void (ptr addrspace(1), i64, ptr addrspace(1), i64, i64)) @__llvm_memcpy_element_unordered_atomic_safepoint_4, i32 5, i32 0, ptr addrspace(1) null, i64 undef, ptr addrspace(1) null, i64 sub (i64 ptrtoint (ptr addrspace(1) getelementptr inbounds (i8, ptr addrspace(1) null, i64 16) to i64), i64 ptrtoint (ptr addrspace(1) null to i64)), i64 undef, i32 0, i32 0) [ "deopt"() ]
; CHECK-NEXT: ret void
;
bb:
diff --git a/llvm/test/Transforms/SCCP/pr50901.ll b/llvm/test/Transforms/SCCP/pr50901.ll
index d48d67532d88b..dd5ea0f88abc2 100644
--- a/llvm/test/Transforms/SCCP/pr50901.ll
+++ b/llvm/test/Transforms/SCCP/pr50901.ll
@@ -67,8 +67,8 @@
@g_3 = dso_local global i8 97, align 1, !dbg !10
@g_4 = dso_local global i32 4, align 4, !dbg !13
@g_5 = dso_local global i8 1, align 1, !dbg !16
- at g_6 = dso_local global ptr null, align 8, !dbg !19
- at g_7 = dso_local global ptr null, align 8, !dbg !23
+ at g_6 = dso_local global ptr zeroinitializer, align 8, !dbg !19
+ at g_7 = dso_local global ptr zeroinitializer, align 8, !dbg !23
@g_8 = dso_local global half 0xH4321, align 4, !dbg !86
@g_9 = dso_local global bfloat 0xR3F80, align 4, !dbg !90
@_ZL4g_11 = internal global i32 -5, align 4, !dbg !25
@@ -76,7 +76,7 @@
@_ZL4g_33 = internal global i8 98, align 1, !dbg !29
@_ZL4g_44 = internal global i32 5, align 4, !dbg !31
@_ZL4g_55 = internal global i8 1, align 1, !dbg !33
- at _ZL4g_66 = internal global ptr null, align 8, !dbg !35
+ at _ZL4g_66 = internal global ptr zeroinitializer, align 8, !dbg !35
@_ZL4g_77 = internal global ptr inttoptr (i64 70 to ptr), align 8, !dbg !37
@g_float_undef = internal global float undef, align 4, !dbg !83
@_ZL4g_88 = internal global half 0xH5678, align 4, !dbg !88
diff --git a/llvm/test/Transforms/SCCP/pthreads.ll b/llvm/test/Transforms/SCCP/pthreads.ll
index 20d9f12ff6c31..57c715893e16f 100644
--- a/llvm/test/Transforms/SCCP/pthreads.ll
+++ b/llvm/test/Transforms/SCCP/pthreads.ll
@@ -22,7 +22,7 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
%union.pthread_attr_t = type { i64, [48 x i8] }
- at GlobalVPtr = common dso_local global ptr null, align 8
+ at GlobalVPtr = common dso_local global ptr zeroinitializer, align 8
define dso_local i32 @main() {
; CHECK-LABEL: @main(
diff --git a/llvm/test/Transforms/SLPVectorizer/AArch64/fmulladd.ll b/llvm/test/Transforms/SLPVectorizer/AArch64/fmulladd.ll
index 24d2ed97d0fa1..d36e1ad1edc48 100644
--- a/llvm/test/Transforms/SLPVectorizer/AArch64/fmulladd.ll
+++ b/llvm/test/Transforms/SLPVectorizer/AArch64/fmulladd.ll
@@ -2,7 +2,7 @@
; RUN: opt < %s -passes=slp-vectorizer -mtriple=aarch64-unknown-unknown -mcpu=cortex-a53 -S | FileCheck %s
@b = common global i32 0, align 4
- at a = common global ptr null, align 8
+ at a = common global ptr zeroinitializer, align 8
define void @foo(ptr %d, ptr %e) {
; CHECK-LABEL: @foo(
diff --git a/llvm/test/Transforms/SLPVectorizer/AArch64/slp-abs.ll b/llvm/test/Transforms/SLPVectorizer/AArch64/slp-abs.ll
index 2613bf657553d..2c18e85842fab 100644
--- a/llvm/test/Transforms/SLPVectorizer/AArch64/slp-abs.ll
+++ b/llvm/test/Transforms/SLPVectorizer/AArch64/slp-abs.ll
@@ -1,7 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -S -mtriple=aarch64 -passes=slp-vectorizer | FileCheck %s
- at a = common global ptr null, align 8
+ at a = common global ptr zeroinitializer, align 8
declare i64 @llvm.abs.i64(i64, i1)
declare i32 @llvm.abs.i32(i32, i1)
diff --git a/llvm/test/Transforms/SLPVectorizer/AArch64/slp-frem.ll b/llvm/test/Transforms/SLPVectorizer/AArch64/slp-frem.ll
index a38f4bdc4640e..2e75d86f68ad6 100644
--- a/llvm/test/Transforms/SLPVectorizer/AArch64/slp-frem.ll
+++ b/llvm/test/Transforms/SLPVectorizer/AArch64/slp-frem.ll
@@ -1,7 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4
; RUN: opt < %s -S -mtriple=aarch64 -vector-library=ArmPL -passes=slp-vectorizer | FileCheck %s
- at a = common global ptr null, align 8
+ at a = common global ptr zeroinitializer, align 8
define void @frem_v2double() {
; CHECK-LABEL: define void @frem_v2double() {
diff --git a/llvm/test/Transforms/SLPVectorizer/X86/crash_gep.ll b/llvm/test/Transforms/SLPVectorizer/X86/crash_gep.ll
index 34682ca759cd4..4b4df46afa22e 100644
--- a/llvm/test/Transforms/SLPVectorizer/X86/crash_gep.ll
+++ b/llvm/test/Transforms/SLPVectorizer/X86/crash_gep.ll
@@ -4,7 +4,7 @@
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at a = common global ptr null, align 8
+ at a = common global ptr zeroinitializer, align 8
; Function Attrs: nounwind uwtable
define i32 @fn1() {
diff --git a/llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll b/llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
index e7d7ce8ee4a3f..6aeb05a4d6718 100644
--- a/llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
+++ b/llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
@@ -3,7 +3,7 @@
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
- at a = common global ptr null, align 8
+ at a = common global ptr zeroinitializer, align 8
; Function Attrs: nounwind ssp uwtable
define void @fn1() {
diff --git a/llvm/test/Transforms/SLPVectorizer/X86/pr16899.ll b/llvm/test/Transforms/SLPVectorizer/X86/pr16899.ll
index 4d18bf848ff4a..76d3a39e946cb 100644
--- a/llvm/test/Transforms/SLPVectorizer/X86/pr16899.ll
+++ b/llvm/test/Transforms/SLPVectorizer/X86/pr16899.ll
@@ -3,7 +3,7 @@
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S128"
target triple = "i386--netbsd"
- at a = common global ptr null, align 4
+ at a = common global ptr zeroinitializer, align 4
; Function Attrs: noreturn nounwind readonly
define i32 @fn1() {
diff --git a/llvm/test/Transforms/SLPVectorizer/X86/stacksave-dependence.ll b/llvm/test/Transforms/SLPVectorizer/X86/stacksave-dependence.ll
index 977942aa06c51..f309dbf86cb41 100644
--- a/llvm/test/Transforms/SLPVectorizer/X86/stacksave-dependence.ll
+++ b/llvm/test/Transforms/SLPVectorizer/X86/stacksave-dependence.ll
@@ -7,7 +7,7 @@ declare i64 @may_inf_loop_ro() nounwind readonly
define void @basecase(ptr %a, ptr %b, ptr %c) {
; CHECK-LABEL: @basecase(
; CHECK-NEXT: [[TMP1:%.*]] = load <2 x ptr>, ptr [[A:%.*]], align 8
-; CHECK-NEXT: store ptr null, ptr [[A]], align 8
+; CHECK-NEXT: store ptr zeroinitializer, ptr [[A]], align 8
; CHECK-NEXT: [[TMP2:%.*]] = getelementptr i8, <2 x ptr> [[TMP1]], <2 x i32> splat (i32 1)
; CHECK-NEXT: store <2 x ptr> [[TMP2]], ptr [[B:%.*]], align 8
; CHECK-NEXT: ret void
diff --git a/llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll b/llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
index 6a479174777b0..0e6c241563d12 100644
--- a/llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
+++ b/llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
@@ -13,7 +13,7 @@ define void @foo(i1 %arg) {
; CHECK-NEXT: br label [[BB2:%.*]]
; CHECK: bb2:
; CHECK-NEXT: [[TMP2:%.*]] = phi <4 x float> [ [[TMP1]], [[BB1]] ], [ [[TMP14:%.*]], [[BB3:%.*]] ]
-; CHECK-NEXT: [[TMP3:%.*]] = load double, ptr null, align 8
+; CHECK-NEXT: [[TMP3:%.*]] = load double, ptr zeroinitializer, align 8
; CHECK-NEXT: br i1 [[ARG:%.*]], label [[BB3]], label [[BB4:%.*]]
; CHECK: bb4:
; CHECK-NEXT: [[TMP4:%.*]] = fpext <4 x float> [[TMP2]] to <4 x double>
diff --git a/llvm/test/Transforms/SLPVectorizer/jumbled_store_crash.ll b/llvm/test/Transforms/SLPVectorizer/jumbled_store_crash.ll
index 50cc97a529f5f..a28eae28a76d6 100644
--- a/llvm/test/Transforms/SLPVectorizer/jumbled_store_crash.ll
+++ b/llvm/test/Transforms/SLPVectorizer/jumbled_store_crash.ll
@@ -2,7 +2,7 @@
; RUN: %if x86-registered-target %{ opt --passes=slp-vectorizer -mtriple=x86_64-unknown-linux-gnu -o - -S < %s | FileCheck %s %}
; RUN: %if aarch64-registered-target %{ opt --passes=slp-vectorizer -mtriple=aarch64-unknown-linux-gnu -o - -S < %s | FileCheck %s %}
- at b = common dso_local global ptr null, align 8
+ at b = common dso_local global ptr zeroinitializer, align 8
@e = common dso_local global float 0.000000e+00, align 4
@c = common dso_local global float 0.000000e+00, align 4
@g = common dso_local global float 0.000000e+00, align 4
diff --git a/llvm/test/Transforms/SROA/basictest.ll b/llvm/test/Transforms/SROA/basictest.ll
index 15803f7b5a25b..152af00853483 100644
--- a/llvm/test/Transforms/SROA/basictest.ll
+++ b/llvm/test/Transforms/SROA/basictest.ll
@@ -529,8 +529,8 @@ entry:
define ptr @test10() {
; CHECK-LABEL: @test10(
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[TMP0:%.*]] = ptrtoint ptr null to i64
-; CHECK-NEXT: ret ptr null
+; CHECK-NEXT: [[TMP0:%.*]] = ptrtoint ptr zeroinitializer to i64
+; CHECK-NEXT: ret ptr zeroinitializer
;
entry:
%a = alloca [8 x i8]
@@ -1332,10 +1332,10 @@ define void @PR15674(ptr %data, ptr %src, i32 %size) {
; CHECK-NEXT: entry:
; CHECK-NEXT: [[TMP_SROA_0:%.*]] = alloca i32, align 4
; CHECK-NEXT: switch i32 [[SIZE:%.*]], label [[END:%.*]] [
-; CHECK-NEXT: i32 4, label [[BB4:%.*]]
-; CHECK-NEXT: i32 3, label [[BB3:%.*]]
-; CHECK-NEXT: i32 2, label [[BB2:%.*]]
-; CHECK-NEXT: i32 1, label [[BB1:%.*]]
+; CHECK-NEXT: i32 4, label [[BB4:%.*]]
+; CHECK-NEXT: i32 3, label [[BB3:%.*]]
+; CHECK-NEXT: i32 2, label [[BB2:%.*]]
+; CHECK-NEXT: i32 1, label [[BB1:%.*]]
; CHECK-NEXT: ]
; CHECK: bb4:
; CHECK-NEXT: [[SRC_GEP3:%.*]] = getelementptr inbounds i8, ptr [[SRC:%.*]], i32 3
diff --git a/llvm/test/Transforms/SafeStack/ARM/debug.ll b/llvm/test/Transforms/SafeStack/ARM/debug.ll
index dfce13a81a2a9..bed9a27ba9ac5 100644
--- a/llvm/test/Transforms/SafeStack/ARM/debug.ll
+++ b/llvm/test/Transforms/SafeStack/ARM/debug.ll
@@ -15,7 +15,7 @@ target triple = "armv7-pc-linux-android"
; CHECK: !36 = !DILocation(line: 3, column: 11, scope: !17, inlinedAt: !37)
; CHECK: !37 = distinct !DILocation(line: 6, scope: !27)
- at addr = common local_unnamed_addr global ptr null, align 4, !dbg !0
+ at addr = common local_unnamed_addr global ptr zeroinitializer, align 4, !dbg !0
; Function Attrs: norecurse nounwind readonly safestack
define ptr @__safestack_pointer_address() local_unnamed_addr #0 !dbg !17 {
diff --git a/llvm/test/Transforms/SampleProfile/indirect-call.ll b/llvm/test/Transforms/SampleProfile/indirect-call.ll
index 089474c7c149a..ec40fcb75971b 100644
--- a/llvm/test/Transforms/SampleProfile/indirect-call.ll
+++ b/llvm/test/Transforms/SampleProfile/indirect-call.ll
@@ -135,7 +135,7 @@ define void @branch_prof_valid(ptr %t0) #0 !dbg !33 {
}
@x = global i32 0, align 4
- at y = global ptr null, align 8
+ at y = global ptr zeroinitializer, align 8
define ptr @foo_inline1(ptr %x) #0 !dbg !14 {
ret ptr %x
diff --git a/llvm/test/Transforms/SampleProfile/inline-callee-update.ll b/llvm/test/Transforms/SampleProfile/inline-callee-update.ll
index 2f4734cb8c03c..dbbd18ad0622c 100644
--- a/llvm/test/Transforms/SampleProfile/inline-callee-update.ll
+++ b/llvm/test/Transforms/SampleProfile/inline-callee-update.ll
@@ -2,8 +2,8 @@
; RUN: opt < %s -passes='thinlto-pre-link<O2>' -pgo-kind=pgo-sample-use-pipeline -sample-profile-file=%S/Inputs/inline-callee-update.prof -S | FileCheck %s
- at y = global ptr null, align 8
- at z = global ptr null, align 8
+ at y = global ptr zeroinitializer, align 8
+ at z = global ptr zeroinitializer, align 8
; CHECK: define ptr @sample_loader_inlinee() {{.*}} !prof ![[ENTRY:[0-9]+]]
define ptr @sample_loader_inlinee() #0 !dbg !3 {
diff --git a/llvm/test/Transforms/SampleProfile/norepeated-icp-2.ll b/llvm/test/Transforms/SampleProfile/norepeated-icp-2.ll
index 5ce8670426189..72822d1fca579 100644
--- a/llvm/test/Transforms/SampleProfile/norepeated-icp-2.ll
+++ b/llvm/test/Transforms/SampleProfile/norepeated-icp-2.ll
@@ -5,7 +5,7 @@ target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16
target triple = "x86_64-unknown-linux-gnu"
@.str = private unnamed_addr constant [5 x i8] c"moo\0A\00", align 1
- at p = dso_local global ptr null, align 8
+ at p = dso_local global ptr zeroinitializer, align 8
@cond = dso_local global i8 0, align 1
@str = private unnamed_addr constant [4 x i8] c"moo\00", align 1
diff --git a/llvm/test/Transforms/SampleProfile/norepeated-icp-3.ll b/llvm/test/Transforms/SampleProfile/norepeated-icp-3.ll
index c5645cdf92225..b1666a1dda80d 100644
--- a/llvm/test/Transforms/SampleProfile/norepeated-icp-3.ll
+++ b/llvm/test/Transforms/SampleProfile/norepeated-icp-3.ll
@@ -4,7 +4,7 @@ target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16
target triple = "x86_64-unknown-linux-gnu"
@.str = private unnamed_addr constant [5 x i8] c"hoo\0A\00", align 1
- at p = dso_local global ptr null, align 8
+ at p = dso_local global ptr zeroinitializer, align 8
@str = private unnamed_addr constant [4 x i8] c"hoo\00", align 1
; Function Attrs: nofree nounwind
diff --git a/llvm/test/Transforms/SampleProfile/norepeated-icp-4.ll b/llvm/test/Transforms/SampleProfile/norepeated-icp-4.ll
index c418372753c39..174ffcdd90d3e 100644
--- a/llvm/test/Transforms/SampleProfile/norepeated-icp-4.ll
+++ b/llvm/test/Transforms/SampleProfile/norepeated-icp-4.ll
@@ -3,7 +3,7 @@
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at p = dso_local global ptr null, align 8
+ at p = dso_local global ptr zeroinitializer, align 8
; After _Z3goov is inlined into _Z3foov, the value profile of the indirect
; call in _Z3goov and _Z3foov need to be scaled. The test is to make sure
@@ -61,7 +61,7 @@ attributes #0 = { uwtable mustprogress "use-sample-profile" }
; CHECK: ![[PROF_ID1]] = !{!"VP", i32 0, i64 7200, i64 -7383239051784516332, i64 -1, i64 -3834823603621627078, i64 7200}
; CHECK: ![[PROF_ID2]] = !{!"VP", i32 0, i64 800, i64 -7383239051784516332, i64 -1, i64 -3834823603621627078, i64 800}
!22 = !{!"VP", i32 0, i64 8000, i64 -7383239051784516332, i64 -1, i64 125292384912345234234, i64 8000}
-!23 = !{!"function_entry_count", i64 1000}
+!23 = !{!"function_entry_count", i64 1000}
!24 = !{!"branch_weights", i32 100}
!25 = !{i32 1, !"ProfileSummary", !26}
!26 = !{!27, !28, !29, !30, !31, !32, !33, !34}
diff --git a/llvm/test/Transforms/SampleProfile/norepeated-icp.ll b/llvm/test/Transforms/SampleProfile/norepeated-icp.ll
index bf3cfe4cea91d..b4056ea0116e3 100644
--- a/llvm/test/Transforms/SampleProfile/norepeated-icp.ll
+++ b/llvm/test/Transforms/SampleProfile/norepeated-icp.ll
@@ -4,7 +4,7 @@ target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16
target triple = "x86_64-unknown-linux-gnu"
@.str = private unnamed_addr constant [5 x i8] c"hoo\0A\00", align 1
- at p = dso_local global ptr null, align 8
+ at p = dso_local global ptr zeroinitializer, align 8
@str = private unnamed_addr constant [4 x i8] c"hoo\00", align 1
; Function Attrs: uwtable mustprogress
diff --git a/llvm/test/Transforms/SampleProfile/profile-context-order.ll b/llvm/test/Transforms/SampleProfile/profile-context-order.ll
index eddbb0b2710b0..9497475541a0d 100644
--- a/llvm/test/Transforms/SampleProfile/profile-context-order.ll
+++ b/llvm/test/Transforms/SampleProfile/profile-context-order.ll
@@ -11,7 +11,7 @@
;; There is an indirect call _Z5funcAi -> _Z3fibi in the program.
;; With -use-profiled-call-graph=0, the processing order computed
-;; based on the static call graph is (_Z3fibi, _Z5funcAi). With
+;; based on the static call graph is (_Z3fibi, _Z5funcAi). With
;; -use-profiled-call-graph=1, the indirect call edge from profile is
;; considered, thus the order becomes (_Z5funcAi, _Z3fibi) which leads to
;; _Z3fibi inlined into _Z5funcAi.
@@ -26,7 +26,7 @@
@factor = dso_local global i32 3, align 4, !dbg !0
- at fp = dso_local global ptr null, align 8
+ at fp = dso_local global ptr zeroinitializer, align 8
; INLINE: define dso_local i32 @_Z5funcAi
; INLINE-NOT: call i32 @_Z8funcLeafi
diff --git a/llvm/test/Transforms/SampleProfile/profile-topdown-order.ll b/llvm/test/Transforms/SampleProfile/profile-topdown-order.ll
index 3cb8cd1885c86..021cf1c62ad54 100644
--- a/llvm/test/Transforms/SampleProfile/profile-topdown-order.ll
+++ b/llvm/test/Transforms/SampleProfile/profile-topdown-order.ll
@@ -17,7 +17,7 @@
; DYNAMIC: ![[#PROF]] = !{!"function_entry_count", i64 27}
@factor = dso_local global i32 3, align 4, !dbg !0
- at fp = dso_local global ptr null, align 8
+ at fp = dso_local global ptr zeroinitializer, align 8
define dso_local i32 @_Z5funcAi(i32 %x) local_unnamed_addr #0 !dbg !40 {
entry:
diff --git a/llvm/test/Transforms/SampleProfile/uniqname.ll b/llvm/test/Transforms/SampleProfile/uniqname.ll
index 67988c7f753f4..0b3802bb13cc1 100644
--- a/llvm/test/Transforms/SampleProfile/uniqname.ll
+++ b/llvm/test/Transforms/SampleProfile/uniqname.ll
@@ -10,7 +10,7 @@ target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16
target triple = "x86_64-unknown-linux-gnu"
@cond = dso_local global i8 0, align 1
- at p = dso_local global ptr null, align 8
+ at p = dso_local global ptr zeroinitializer, align 8
; Check the callsite in inlined function with uniq suffix is annotated with
; profile correctly.
diff --git a/llvm/test/Transforms/Scalarizer/vector-gep.ll b/llvm/test/Transforms/Scalarizer/vector-gep.ll
index 3d8f1997dc383..1e441dff0cfb6 100644
--- a/llvm/test/Transforms/Scalarizer/vector-gep.ll
+++ b/llvm/test/Transforms/Scalarizer/vector-gep.ll
@@ -6,7 +6,7 @@
@vec = global <4 x ptr> <ptr null, ptr null, ptr null, ptr null>
@index = global i16 1
@ptr = global [4 x i16] [i16 1, i16 2, i16 3, i16 4]
- at ptrptr = global ptr null
+ at ptrptr = global ptr zeroinitializer
; constant index
define void @test1() {
diff --git a/llvm/test/Transforms/SimplifyCFG/PR27615-simplify-cond-br.ll b/llvm/test/Transforms/SimplifyCFG/PR27615-simplify-cond-br.ll
index bb1a4dd9a04ca..32b94859bfd7b 100644
--- a/llvm/test/Transforms/SimplifyCFG/PR27615-simplify-cond-br.ll
+++ b/llvm/test/Transforms/SimplifyCFG/PR27615-simplify-cond-br.ll
@@ -12,7 +12,7 @@ source_filename = "./csmith107.i.debug.ll"
@a = global i16 0, !dbg !0
@b = global i32 0, !dbg !4
- at c = global ptr null, !dbg !9
+ at c = global ptr zeroinitializer, !dbg !9
define i16 @fn1() !dbg !17 {
bb2:
diff --git a/llvm/test/Transforms/TypePromotion/ARM/calls.ll b/llvm/test/Transforms/TypePromotion/ARM/calls.ll
index b626dcaf9bf54..2ed467a30b1e1 100644
--- a/llvm/test/Transforms/TypePromotion/ARM/calls.ll
+++ b/llvm/test/Transforms/TypePromotion/ARM/calls.ll
@@ -97,7 +97,7 @@ entry:
ret void
}
- at a = global ptr null, align 4
+ at a = global ptr zeroinitializer, align 4
@b = global i32 0, align 4
define i32 @constexpr() {
diff --git a/llvm/test/Transforms/Util/call-promotion-utils-ptrcast-attribute.ll b/llvm/test/Transforms/Util/call-promotion-utils-ptrcast-attribute.ll
index dc00a5ef0e6e5..b52a4fb128ffb 100644
--- a/llvm/test/Transforms/Util/call-promotion-utils-ptrcast-attribute.ll
+++ b/llvm/test/Transforms/Util/call-promotion-utils-ptrcast-attribute.ll
@@ -3,7 +3,7 @@
; Test that CallPromotionUtils will promote calls which require pointer cast
; safely, i.e. drop incompatible attributes.
- at foo = common global ptr null, align 8
+ at foo = common global ptr zeroinitializer, align 8
; casting to i64 and pointer attribute at callsite dropped.
define i64 @func2(i64 %a) {
diff --git a/llvm/test/Transforms/Util/call-promotion-utils-ptrcast.ll b/llvm/test/Transforms/Util/call-promotion-utils-ptrcast.ll
index d4801c2946eed..3c84ef4baba15 100644
--- a/llvm/test/Transforms/Util/call-promotion-utils-ptrcast.ll
+++ b/llvm/test/Transforms/Util/call-promotion-utils-ptrcast.ll
@@ -2,7 +2,7 @@
; Test that CallPromotionUtils will promote calls which require pointer casts.
- at foo = common global ptr null, align 8
+ at foo = common global ptr zeroinitializer, align 8
; Check ptrcast arguments.
define i64 @func1(ptr %a) {
diff --git a/llvm/test/Transforms/Util/nofpclass.ll b/llvm/test/Transforms/Util/nofpclass.ll
index 06ac752da4656..1c5ac340d164a 100644
--- a/llvm/test/Transforms/Util/nofpclass.ll
+++ b/llvm/test/Transforms/Util/nofpclass.ll
@@ -3,7 +3,7 @@
; Test that CallPromotionUtils will promote calls which require pointer cast
; safely, i.e. drop incompatible attributes.
- at foo = common global ptr null, align 8
+ at foo = common global ptr zeroinitializer, align 8
; correct type, preserve attributes
define double @func_double(double %a) {
diff --git a/llvm/test/tools/gold/X86/common_thinlto.ll b/llvm/test/tools/gold/X86/common_thinlto.ll
index 38013f7e3b28a..8a9cdb9d2edc2 100644
--- a/llvm/test/tools/gold/X86/common_thinlto.ll
+++ b/llvm/test/tools/gold/X86/common_thinlto.ll
@@ -22,7 +22,7 @@ source_filename = "common1.c"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
- at P = common global ptr null, align 8
+ at P = common global ptr zeroinitializer, align 8
define i32 @main() {
entry:
diff --git a/llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-obj.test b/llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-obj.test
index 6023b99702e20..b3bec5aa7eee3 100644
--- a/llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-obj.test
+++ b/llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-obj.test
@@ -86,8 +86,8 @@ target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128-Fn32"
target triple = "arm64-unknown-macosx10.4.0"
@g_volatile_var = global i32 0, align 4, !dbg !0
- at g_func_ptr = global ptr null, align 8, !dbg !5
- at g_extern_func_ptr = global ptr null, align 8, !dbg !12
+ at g_func_ptr = global ptr zeroinitializer, align 8, !dbg !5
+ at g_extern_func_ptr = global ptr zeroinitializer, align 8, !dbg !12
; Function Attrs: minsize mustprogress nofree noinline norecurse nounwind optsize ssp memory(readwrite, argmem: none)
define void @func_mainBin_dec_01() local_unnamed_addr #0 !dbg !21 {
diff --git a/llvm/test/tools/llvm-objdump/BPF/core-relo-byte-offset.ll b/llvm/test/tools/llvm-objdump/BPF/core-relo-byte-offset.ll
index 320152d21e575..1c78c244d7df0 100644
--- a/llvm/test/tools/llvm-objdump/BPF/core-relo-byte-offset.ll
+++ b/llvm/test/tools/llvm-objdump/BPF/core-relo-byte-offset.ll
@@ -52,7 +52,7 @@
; CHECK: CO-RE <byte_off> [[[#bar]]] struct bar::f.k[7].b (0:0:1:7:1)
; CHECK: CO-RE <byte_off> [[[#bar]]] struct bar::[1].f.k[7].b (1:0:1:7:1)
- at g = dso_local global ptr null, align 8, !dbg !0
+ at g = dso_local global ptr zeroinitializer, align 8, !dbg !0
@"llvm.bar:0:0$0:0" = external global i64, !llvm.preserve.access.index !14 #0
@"llvm.bar:0:8$0:0:1" = external global i64, !llvm.preserve.access.index !14 #0
@"llvm.bar:0:4$0:0:0" = external global i64, !llvm.preserve.access.index !14 #0
diff --git a/llvm/test/tools/llvm-offload-wrapper/offload-wrapper.ll b/llvm/test/tools/llvm-offload-wrapper/offload-wrapper.ll
index 32aad0b6cf64e..51febcee4b41c 100644
--- a/llvm/test/tools/llvm-offload-wrapper/offload-wrapper.ll
+++ b/llvm/test/tools/llvm-offload-wrapper/offload-wrapper.ll
@@ -32,7 +32,7 @@
; HIP-NEXT: @llvm.compiler.used = appending global [1 x ptr] [ptr @__dummy.llvm_offload_entries], section "llvm.metadata"
; HIP-NEXT: @.fatbin_image = internal constant {{.*}}, section ".hip_fatbin"
; HIP-NEXT: @.fatbin_wrapper = internal constant %fatbin_wrapper { i32 1212764230, i32 1, ptr @.fatbin_image, ptr null }, section ".hipFatBinSegment", align 8
-; HIP-NEXT: @.hip.binary_handle = internal global ptr null
+; HIP-NEXT: @.hip.binary_handle = internal global ptr zeroinitializer
; HIP-NEXT: @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 101, ptr @.hip.fatbin_reg, ptr null }]
; HIP: define internal void @.hip.fatbin_reg() section ".text.startup" {
@@ -60,7 +60,7 @@
; CUDA-NEXT: @llvm.compiler.used = appending global [1 x ptr] [ptr @__dummy.llvm_offload_entries], section "llvm.metadata"
; CUDA-NEXT: @.fatbin_image = internal constant {{.*}}, section ".nv_fatbin"
; CUDA-NEXT: @.fatbin_wrapper = internal constant %fatbin_wrapper { i32 1180844977, i32 1, ptr @.fatbin_image, ptr null }, section ".nvFatBinSegment", align 8
-; CUDA-NEXT: @.cuda.binary_handle = internal global ptr null
+; CUDA-NEXT: @.cuda.binary_handle = internal global ptr zeroinitializer
; CUDA-NEXT: @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 101, ptr @.cuda.fatbin_reg, ptr null }]
; CUDA: define internal void @.cuda.fatbin_reg() section ".text.startup" {
diff --git a/llvm/tools/llvm-c-test/echo.cpp b/llvm/tools/llvm-c-test/echo.cpp
index bd640cd8d85ec..0152145bf365f 100644
--- a/llvm/tools/llvm-c-test/echo.cpp
+++ b/llvm/tools/llvm-c-test/echo.cpp
@@ -431,6 +431,10 @@ static LLVMValueRef clone_constant_impl(LLVMValueRef Cst, LLVMModuleRef M) {
return LLVMConstGEPWithNoWrapFlags(ElemTy, Ptr, Idx.data(), NumIdx,
LLVMGEPGetNoWrapFlags(Cst));
}
+ case LLVMIntToPtr: {
+ return LLVMConstIntToPtr(clone_constant(LLVMGetOperand(Cst, 0), M),
+ TypeCloner(M).Clone(Cst));
+ }
default:
fprintf(stderr, "%d is not a supported opcode for constant expressions\n",
Op);
diff --git a/llvm/tools/llvm-stress/llvm-stress.cpp b/llvm/tools/llvm-stress/llvm-stress.cpp
index 2fe5d6b7e5254..1a037ab84fc99 100644
--- a/llvm/tools/llvm-stress/llvm-stress.cpp
+++ b/llvm/tools/llvm-stress/llvm-stress.cpp
@@ -411,7 +411,7 @@ struct ConstModifier: public Modifier {
return PT->push_back(ConstantVector::getAllOnesValue(Ty));
break;
case 1: if (Ty->isIntOrIntVectorTy())
- return PT->push_back(ConstantVector::getNullValue(Ty));
+ return PT->push_back(Constant::getNullValue(Ty));
}
}
diff --git a/llvm/unittests/IR/InstructionsTest.cpp b/llvm/unittests/IR/InstructionsTest.cpp
index 8ef385692035a..0fc0e62eb27f5 100644
--- a/llvm/unittests/IR/InstructionsTest.cpp
+++ b/llvm/unittests/IR/InstructionsTest.cpp
@@ -1353,7 +1353,7 @@ TEST(InstructionsTest, ShuffleMaskIsReplicationMask) {
for (int OpVF : seq_inclusive(VF, 2 * VF + 1)) {
LLVMContext Ctx;
Type *OpVFTy = FixedVectorType::get(IntegerType::getInt1Ty(Ctx), OpVF);
- Value *Op = ConstantVector::getNullValue(OpVFTy);
+ Value *Op = Constant::getNullValue(OpVFTy);
ShuffleVectorInst *SVI = new ShuffleVectorInst(Op, Op, ReplicatedMask);
EXPECT_EQ(SVI->isReplicationMask(GuessedReplicationFactor, GuessedVF),
OpVF == VF);
More information about the llvm-commits
mailing list