[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