[PATCH] D91722: [DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands

Nathan Chancellor via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 28 16:36:51 PDT 2021


nathanchance added a comment.

This patch as 791930d74087b8ae8901172861a0fd21a211e436 <https://reviews.llvm.org/rG791930d74087b8ae8901172861a0fd21a211e436> causes assertion failures with several x86 Linux kernel configurations and a 32-bit ARM configuration:

  $ curl -LSso .config https://github.com/archlinux/svntogit-packages/raw/packages/linux/trunk/config
  
  $ make -skj"$(nproc)" LLVM=1 LLVM_IAS=1 olddefconfig arch/x86/events/intel/ds.o
  clang-13: /home/nathan/cbl/github/tc-build/llvm-project/llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1105: llvm::SDValue::SDValue(llvm::SDNode *, unsigned int): Assertion `(!Node || !ResNo || ResNo < Node->getNumValues()) && "Invalid result number for the given node!"' failed.
  PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
  Stack dump:
  0.	Program arguments: /home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13 -cc1 -triple x86_64-unknown-linux-gnu -S -disable-free -main-file-name ds.c -mrelocation-model static -fno-delete-null-pointer-checks -mllvm -warn-stack-size=2048 -mframe-pointer=none -relaxed-aliasing -fmath-errno -fno-rounding-math -no-integrated-as -mconstructor-aliases -mcmodel=kernel -target-cpu x86-64 -target-feature +retpoline-indirect-calls -target-feature +retpoline-indirect-branches -target-feature -sse -target-feature -mmx -target-feature -sse2 -target-feature -3dnow -target-feature -avx -target-feature -x87 -target-feature +retpoline-external-thunk -disable-red-zone -tune-cpu generic -mllvm -treat-scalable-fixed-error-as-warning -debug-info-kind=limited -dwarf-version=4 -debugger-tuning=gdb -fcoverage-compilation-dir=/home/nathan/cbl/src/linux-stable -nostdsysteminc -nobuiltininc -resource-dir /home/nathan/cbl/github/tc-build/build/llvm/stage1/lib/clang/13.0.0 -dependency-file arch/x86/events/intel/.ds.o.d -MT arch/x86/events/intel/ds.o -isystem /home/nathan/cbl/github/tc-build/build/llvm/stage1/lib/clang/13.0.0/include -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -I ./arch/x86/include -I ./arch/x86/include/generated -I ./include -I ./arch/x86/include/uapi -I ./arch/x86/include/generated/uapi -I ./include/uapi -I ./include/generated/uapi -D __KERNEL__ -D CC_USING_NOP_MCOUNT -D CC_USING_FENTRY -D KBUILD_MODFILE=\"arch/x86/events/intel/ds\" -D KBUILD_BASENAME=\"ds\" -D KBUILD_MODNAME=\"ds\" -D __KBUILD_MODNAME=kmod_ds -fmacro-prefix-map=./= -O2 -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -Werror=unknown-warning-option -Wno-sign-compare -Wno-frame-address -Wno-address-of-packed-member -Wno-format-invalid-specifier -Wno-gnu -Wno-unused-const-variable -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-array-bounds -Werror=date-time -Werror=incompatible-pointer-types -Wno-initializer-overrides -Wno-format -Wno-sign-compare -Wno-format-zero-length -Wno-pointer-to-enum-cast -Wno-tautological-constant-out-of-range-compare -std=gnu89 -fno-dwarf-directory-asm -fdebug-compilation-dir=/home/nathan/cbl/src/linux-stable -ferror-limit 19 -pg -mfentry -fwrapv -stack-protector 2 -mstack-alignment=8 -fcf-protection=none -fwchar-type=short -fno-signed-wchar -fgnuc-version=4.2.1 -fcolor-diagnostics -vectorize-loops -vectorize-slp -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/ds-e46a9b.s -x c arch/x86/events/intel/ds.c
  1.	<eof> parser at end of file
  2.	Code generation
  3.	Running pass 'Function Pass Manager' on module 'arch/x86/events/intel/ds.c'.
  4.	Running pass 'X86 DAG->DAG Instruction Selection' on function '@intel_pmu_enable_bts'
   #0 0x00000000029dc9c3 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x29dc9c3)
   #1 0x00000000029da82e llvm::sys::RunSignalHandlers() (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x29da82e)
   #2 0x00000000029dce8a SignalHandler(int) Signals.cpp:0:0
   #3 0x00007ff60aaf2960 __restore_rt sigaction.c:0:0
   #4 0x00007ff60a5e4ef5 raise (/usr/lib/libc.so.6+0x3cef5)
   #5 0x00007ff60a5ce862 abort (/usr/lib/libc.so.6+0x26862)
   #6 0x00007ff60a5ce747 _nl_load_domain.cold loadmsgcat.c:0:0
   #7 0x00007ff60a5dd646 (/usr/lib/libc.so.6+0x35646)
   #8 0x000000000396d4eb ProcessSDDbgValues(llvm::SDNode*, llvm::SelectionDAG*, llvm::InstrEmitter&, llvm::SmallVectorImpl<std::pair<unsigned int, llvm::MachineInstr*> >&, llvm::DenseMap<llvm::SDValue, llvm::Register, llvm::DenseMapInfo<llvm::SDValue>, llvm::detail::DenseMapPair<llvm::SDValue, llvm::Register> >&, unsigned int) ScheduleDAGSDNodes.cpp:0:0
   #9 0x000000000396b8ce llvm::ScheduleDAGSDNodes::EmitSchedule(llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x396b8ce)
  #10 0x000000000394b2ce llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x394b2ce)
  #11 0x00000000039488c1 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x39488c1)
  #12 0x0000000003945151 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x3945151)
  #13 0x0000000001ab0f45 (anonymous namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) X86ISelDAGToDAG.cpp:0:0
  #14 0x0000000001e814fd llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x1e814fd)
  #15 0x000000000231d188 llvm::FPPassManager::runOnFunction(llvm::Function&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x231d188)
  #16 0x00000000023256d1 llvm::FPPassManager::runOnModule(llvm::Module&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x23256d1)
  #17 0x000000000231dc51 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x231dc51)
  #18 0x00000000030603f3 (anonymous namespace)::EmitAssemblyHelper::EmitAssemblyWithNewPassManager(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) BackendUtil.cpp:0:0
  #19 0x000000000305a49d clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout const&, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x305a49d)
  #20 0x0000000003526e29 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) CodeGenAction.cpp:0:0
  #21 0x0000000003e4fcf4 clang::ParseAST(clang::Sema&, bool, bool) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x3e4fcf4)
  #22 0x000000000347e200 clang::FrontendAction::Execute() (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x347e200)
  #23 0x00000000033b82aa clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x33b82aa)
  #24 0x0000000003520d48 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x3520d48)
  #25 0x00000000018577fc cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x18577fc)
  #26 0x00000000018551bd ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
  #27 0x0000000001854f15 main (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x1854f15)
  #28 0x00007ff60a5cfb25 __libc_start_main (/usr/lib/libc.so.6+0x27b25)
  #29 0x0000000001851e0e _start (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x1851e0e)
  clang-13: error: unable to execute command: Aborted (core dumped)
  clang-13: error: clang frontend command failed due to signal (use -v to see invocation)
  ClangBuiltLinux clang version 13.0.0 (https://github.com/llvm/llvm-project 791930d74087b8ae8901172861a0fd21a211e436)
  Target: x86_64-unknown-linux-gnu
  Thread model: posix
  InstalledDir: /home/nathan/cbl/github/tc-build/build/llvm/stage1/bin
  clang-13: note: diagnostic msg: 
  ********************
  
  PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
  Preprocessed source(s) and associated run script(s) are located at:
  clang-13: note: diagnostic msg: /tmp/ds-6ee420.c
  clang-13: note: diagnostic msg: /tmp/ds-6ee420.sh
  clang-13: note: diagnostic msg: 
  
  ********************
  make[4]: *** [scripts/Makefile.build:271: arch/x86/events/intel/ds.o] Error 254
  make[4]: Target '__build' not remade because of errors.
  make[3]: *** [scripts/Makefile.build:514: arch/x86/events/intel] Error 2
  make[3]: Target '__build' not remade because of errors.
  make[2]: *** [scripts/Makefile.build:514: arch/x86/events] Error 2
  make[2]: Target '__build' not remade because of errors.
  make[1]: *** [Makefile:1851: arch/x86] Error 2
  make[1]: Target 'arch/x86/events/intel/ds.o' not remade because of errors.
  make: *** [Makefile:335: __build_one_by_one] Error 2
  make: Target 'olddefconfig' not remade because of errors.
  make: Target 'arch/x86/events/intel/ds.o' not remade because of errors.



  $ make -skj"$(nproc)" ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- LLVM=1 distclean aspeed_g5_defconfig kernel/fork.o
  clang-13: /home/nathan/cbl/github/tc-build/llvm-project/llvm/include/llvm/CodeGen/MachineRegisterInfo.h:830: void llvm::MachineRegisterInfo::updateDbgUsersToReg(llvm::Register, ArrayRef<llvm::MachineInstr *>) const: Assertion `MI->getOperand(0).isReg()' failed.
  PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
  Stack dump:
  0.	Program arguments: /home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13 -cc1 -triple armv6k-unknown-linux-gnueabi -S -disable-free -main-file-name fork.c -mrelocation-model static -meabi gnu -fno-delete-null-pointer-checks -mllvm -warn-stack-size=1024 -mframe-pointer=all -relaxed-aliasing -fmath-errno -fno-rounding-math -no-integrated-as -mconstructor-aliases -munwind-tables -target-cpu mpcore -target-feature +soft-float -target-feature +soft-float-abi -target-feature -vfp2 -target-feature -vfp2sp -target-feature -vfp3 -target-feature -vfp3d16 -target-feature -vfp3d16sp -target-feature -vfp3sp -target-feature -fp16 -target-feature -vfp4 -target-feature -vfp4d16 -target-feature -vfp4d16sp -target-feature -vfp4sp -target-feature -fp-armv8 -target-feature -fp-armv8d16 -target-feature -fp-armv8d16sp -target-feature -fp-armv8sp -target-feature -fullfp16 -target-feature -fp64 -target-feature -d32 -target-feature -neon -target-feature -crypto -target-feature -dotprod -target-feature -fp16fml -target-feature -bf16 -target-feature -mve -target-feature -mve.fp -target-feature -fpregs -target-feature +strict-align -target-abi aapcs-linux -msoft-float -mfloat-abi soft -mllvm -arm-global-merge=false -fallow-half-arguments-and-returns -mllvm -treat-scalable-fixed-error-as-warning -debug-info-kind=limited -dwarf-version=4 -debugger-tuning=gdb -fcoverage-compilation-dir=/home/nathan/cbl/src/linux-stable -nostdsysteminc -nobuiltininc -resource-dir /home/nathan/cbl/github/tc-build/build/llvm/stage1/lib/clang/13.0.0 -dependency-file kernel/.fork.o.d -MT kernel/fork.o -isystem /home/nathan/cbl/github/tc-build/build/llvm/stage1/lib/clang/13.0.0/include -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -I ./arch/arm/include -I ./arch/arm/include/generated -I ./include -I ./arch/arm/include/uapi -I ./arch/arm/include/generated/uapi -I ./include/uapi -I ./include/generated/uapi -D __KERNEL__ -D __LINUX_ARM_ARCH__=6 -U arm -D KBUILD_MODFILE=\"kernel/fork\" -D KBUILD_BASENAME=\"fork\" -D KBUILD_MODNAME=\"fork\" -D __KBUILD_MODNAME=kmod_fork -fmacro-prefix-map=./= -O2 -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -Werror=unknown-warning-option -Wno-frame-address -Wno-address-of-packed-member -Wno-format-invalid-specifier -Wno-gnu -Wno-unused-const-variable -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-array-bounds -Werror=date-time -Werror=incompatible-pointer-types -Wno-initializer-overrides -Wno-format -Wno-sign-compare -Wno-format-zero-length -Wno-pointer-to-enum-cast -Wno-tautological-constant-out-of-range-compare -std=gnu89 -fno-dwarf-directory-asm -fdebug-compilation-dir=/home/nathan/cbl/src/linux-stable -ferror-limit 19 -pg -fwrapv -stack-protector 2 -fno-signed-char -fwchar-type=short -fno-signed-wchar -fgnuc-version=4.2.1 -fcolor-diagnostics -vectorize-loops -vectorize-slp -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/fork-960b24.s -x c kernel/fork.c
  1.	<eof> parser at end of file
  2.	Code generation
  3.	Running pass 'Function Pass Manager' on module 'kernel/fork.c'.
  4.	Running pass 'Machine Copy Propagation Pass' on function '@copy_init_mm'
   #0 0x0000000002e414c3 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x2e414c3)
   #1 0x0000000002e3f32e llvm::sys::RunSignalHandlers() (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x2e3f32e)
   #2 0x0000000002e4198a SignalHandler(int) Signals.cpp:0:0
   #3 0x00007f40920e8960 __restore_rt sigaction.c:0:0
   #4 0x00007f4091bdaef5 raise (/usr/lib/libc.so.6+0x3cef5)
   #5 0x00007f4091bc4862 abort (/usr/lib/libc.so.6+0x26862)
   #6 0x00007f4091bc4747 _nl_load_domain.cold loadmsgcat.c:0:0
   #7 0x00007f4091bd3646 (/usr/lib/libc.so.6+0x35646)
   #8 0x00000000024dbf26 (anonymous namespace)::MachineCopyPropagation::runOnMachineFunction(llvm::MachineFunction&) MachineCopyPropagation.cpp:0:0
   #9 0x0000000002300fdd llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x2300fdd)
  #10 0x0000000002780de8 llvm::FPPassManager::runOnFunction(llvm::Function&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x2780de8)
  #11 0x0000000002789331 llvm::FPPassManager::runOnModule(llvm::Module&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x2789331)
  #12 0x00000000027818b1 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x27818b1)
  #13 0x00000000034c4dd3 (anonymous namespace)::EmitAssemblyHelper::EmitAssemblyWithNewPassManager(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) BackendUtil.cpp:0:0
  #14 0x00000000034bee7d clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout const&, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x34bee7d)
  #15 0x000000000398b579 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) CodeGenAction.cpp:0:0
  #16 0x00000000042b47b4 clang::ParseAST(clang::Sema&, bool, bool) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x42b47b4)
  #17 0x00000000038e2970 clang::FrontendAction::Execute() (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x38e2970)
  #18 0x000000000381ca1a clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x381ca1a)
  #19 0x0000000003985498 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x3985498)
  #20 0x0000000001ab19d5 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x1ab19d5)
  #21 0x0000000001aaf37d ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
  #22 0x0000000001aaf0d5 main (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x1aaf0d5)
  #23 0x00007f4091bc5b25 __libc_start_main (/usr/lib/libc.so.6+0x27b25)
  #24 0x0000000001aabfce _start (/home/nathan/cbl/github/tc-build/build/llvm/stage1/bin/clang-13+0x1aabfce)
  clang-13: error: unable to execute command: Aborted (core dumped)
  clang-13: error: clang frontend command failed due to signal (use -v to see invocation)
  ClangBuiltLinux clang version 13.0.0 (https://github.com/llvm/llvm-project 791930d74087b8ae8901172861a0fd21a211e436)
  Target: arm-unknown-linux-gnueabi
  Thread model: posix
  InstalledDir: /home/nathan/cbl/github/tc-build/build/llvm/stage1/bin
  clang-13: note: diagnostic msg: 
  ********************
  
  PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
  Preprocessed source(s) and associated run script(s) are located at:
  clang-13: note: diagnostic msg: /tmp/fork-a2b208.c
  clang-13: note: diagnostic msg: /tmp/fork-a2b208.sh
  clang-13: note: diagnostic msg: 
  
  ********************
  make[2]: *** [scripts/Makefile.build:271: kernel/fork.o] Error 254
  make[2]: Target '__build' not remade because of errors.
  make[1]: *** [Makefile:1851: kernel] Error 2
  make[1]: Target 'kernel/fork.o' not remade because of errors.
  make: *** [Makefile:335: __build_one_by_one] Error 2
  make: Target 'distclean' not remade because of errors.
  make: Target 'aspeed_g5_defconfig' not remade because of errors.
  make: Target 'kernel/fork.o' not remade because of errors.

A reduced reproducer for the first:

  $ cat ds.i
  intel_pmu_enable_bts_config, intel_pmu_enable_bts___trans_tmp_1,
      intel_pmu_enable_bts___ecx;
  long intel_pmu_enable_bts___eax;
  intel_pmu_enable_bts() {
    long debugctlmsr;
    intel_pmu_enable_bts___trans_tmp_1 = ({
      asm(""
          : "=c"(intel_pmu_enable_bts___ecx), "=a"(intel_pmu_enable_bts___eax));
      intel_pmu_enable_bts___eax;
    });
    debugctlmsr = intel_pmu_enable_bts___trans_tmp_1;
    debugctlmsr |= 6;
    if (intel_pmu_enable_bts_config)
      debugctlmsr |= 9;
    if (intel_pmu_enable_bts_config & 16)
      debugctlmsr |= 1;
    unsigned low = debugctlmsr;
    asm(".pushsection .discard.retpoline_safe\n\t"
        ".popsection\n"
        :
        : "S"(low));
  }
  
  $ clang -O2 -g -c -o /dev/null ds.i

A reduced reproducer for the second:

  $ cat fork.i
  typedef struct {
    int counter
  } atomic_t;
  enum { MM_SHMEMPAGES };
  dup_mm_err;
  atomic_long_read(atomic_t *v) { *(volatile *)v; }
  struct mm_struct {
    struct {
      int binfmt
    };
  } get_mm_counter(struct mm_struct *mm, int member) {
    atomic_long_read(&mm[member]);
  }
  dup_mm() {
    struct mm_struct *mm = kmem_cache_alloc(0);
    if (!mm)
      goto fail_nomem;
    if (dup_mm_err)
      goto free_pt;
    get_mm_counter(mm, MM_SHMEMPAGES);
    return mm;
  free_pt:
    mm->binfmt = 0;
  fail_nomem:
    return 0;
  }
  
  $ clang --target=arm-linux-gnueabi -march=armv6k -O2 -g -c -o /dev/null fork.i

The full preprocessed files are available here:

https://github.com/nathanchance/creduce-files/tree/fcef93c38903db773a8a46840b5e7b43a4444e85/791930d74087b8ae8901172861a0fd21a211e436-arm

https://github.com/nathanchance/creduce-files/tree/fcef93c38903db773a8a46840b5e7b43a4444e85/791930d74087b8ae8901172861a0fd21a211e436-x86


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D91722/new/

https://reviews.llvm.org/D91722



More information about the llvm-commits mailing list