[PATCH] D107476: [ARM] Define ComplexPatternFuncMutatesDAG

Dimitry Andric via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 23 07:54:47 PST 2021


dim added subscribers: emaste, dim.
dim added a comment.

David, in this particular change, does "valid and handled successfully" mean "not crash or assert"? I just ran into the following assertion when building part of llvm (13.0.0) itself under FreeBSD 12:

  Assertion failed: (NodeToMatch->getOpcode() != ISD::DELETED_NODE && "NodeToMatch was removed partway through selection"), function SelectCodeCommon, file /home/dim/src/llvm/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp, line 3573.
  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/dim/ins/llvmorg-14-init-00920-gf88ad8d00f9/bin/clang -cc1 -triple armv6kz-unknown-freebsd12.3-gnueabihf -S --mrelax-relocations -disable-free -disable-llvm-verifier -discard-value-names -mrelocation-model static -mconstructor-aliases -target-cpu arm1176jzf-s -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 -sha2 -target-feature -aes -target-feature -fp16fml -target-feature +strict-align -target-abi aapcs-linux -mfloat-abi hard -fallow-half-arguments-and-returns -ffunction-sections -fdata-sections -O1 -std=c++14 -fdeprecated-macro -fno-rtti -fno-signed-char -faddrsig -fexperimental-new-pass-manager PPCISelLowering-009095.ii
  1.      <eof> parser at end of file
  2.      Code generation
  3.      Running pass 'Function Pass Manager' on module 'PPCISelLowering-009095.cpp'.
  4.      Running pass 'ARM Instruction Selection' on function '@_ZN4llvm17PPCTargetLoweringC2ERKNS_16PPCTargetMachineERKNS_12PPCSubtargetE'

And bisecting for the commit that fixed this assertion, I ended up here (and at rG77e8f4eeeeed516a1c79365a4b8128da463d96c4 <https://reviews.llvm.org/rG77e8f4eeeeed516a1c79365a4b8128da463d96c4> obviously). Interestingly it crashes during the compilation of the PowerPC instruction selection sources, but when it is targeting ARMv6.

Similar to yours this test case is rather big, namely the preprocessed `PPCISelLowering.cpp` file, but I'm reducing it too. I would like to see if the end result looks similar to your case here.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D107476



More information about the llvm-commits mailing list