[Diffusion] rL236546: propagate IR-level fast-math-flags to DAG nodes (NFC)

NAKAMURA Takumi geek4civic at gmail.com
Wed May 6 07:30:12 PDT 2015


It caused undefined behavior. Reverted in r236600.

  ==9953== Invalid read of size 8
  ==9953==    at 0xC4DD1C: llvm::SDUse::getNext() const (SelectionDAGNodes.h:259)
  ==9953==    by 0xC4DF05: llvm::SDNode::use_iterator::operator++() (SelectionDAGNodes.h:487)
  ==9953==    by 0xE263F0: CombineVLDDUP(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&) (ARMISelLowering.cpp:9118)
  ==9953==    by 0xE26596: PerformVDUPLANECombine(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&) (ARMISelLowering.cpp:9147)
  ==9953==    by 0xE2BC2C: llvm::ARMTargetLowering::PerformDAGCombine(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&) const (ARMISelLowering.cpp:9914)
  ==9953==    by 0x1D92D74: (anonymous namespace)::DAGCombiner::combine(llvm::SDNode*) (DAGCombiner.cpp:1411)
  ==9953==    by 0x1D916E9: (anonymous namespace)::DAGCombiner::Run(llvm::CombineLevel) (DAGCombiner.cpp:1257)
  ==9953==    by 0x1DFC142: llvm::SelectionDAG::Combine(llvm::CombineLevel, llvm::AliasAnalysis&, llvm::CodeGenOpt::Level) (DAGCombiner.cpp:13976)
  ==9953==    by 0x1F00802: llvm::SelectionDAGISel::CodeGenAndEmitDAG() (SelectionDAGISel.cpp:769)
  ==9953==    by 0x1EFF70D: llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction const>, llvm::ilist_iterator<llvm::Instruction const>, bool&) (SelectionDAGISel.cpp:613)
  ==9953==    by 0x1F02A75: llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (SelectionDAGISel.cpp:1304)
  ==9953==    by 0x1EFE7C4: llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (SelectionDAGISel.cpp:460)
  ==9953==  Address 0x631bdb0 is 32 bytes inside a block of size 80 free'd
  ==9953==    at 0x4C26B66: operator delete[](void*) (vg_replace_malloc.c:515)
  ==9953==    by 0x1E697C3: llvm::SelectionDAG::DeallocateNode(llvm::SDNode*) (SelectionDAG.cpp:710)
  ==9953==    by 0x1E6965B: llvm::SelectionDAG::DeleteNodeNotInCSEMaps(llvm::SDNode*) (SelectionDAG.cpp:696)
  ==9953==    by 0x1E695A1: llvm::SelectionDAG::DeleteNode(llvm::SDNode*) (SelectionDAG.cpp:686)
  ==9953==    by 0x1D8C855: (anonymous namespace)::DAGCombiner::deleteAndRecombine(llvm::SDNode*) (DAGCombiner.cpp:513)
  ==9953==    by 0x1D8EBAF: (anonymous namespace)::DAGCombiner::CombineTo(llvm::SDNode*, llvm::SDValue const*, unsigned int, bool) (DAGCombiner.cpp:848)
  ==9953==    by 0x1D8C078: (anonymous namespace)::DAGCombiner::CombineTo(llvm::SDNode*, llvm::SDValue, bool) (DAGCombiner.cpp:163)
  ==9953==    by 0x1D8C679: llvm::TargetLowering::DAGCombinerInfo::CombineTo(llvm::SDNode*, llvm::SDValue, bool) (DAGCombiner.cpp:483)
  ==9953==    by 0xE263B0: CombineVLDDUP(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&) (ARMISelLowering.cpp:9125)
  ==9953==    by 0xE26596: PerformVDUPLANECombine(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&) (ARMISelLowering.cpp:9147)
  ==9953==    by 0xE2BC2C: llvm::ARMTargetLowering::PerformDAGCombine(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&) const (ARMISelLowering.cpp:9914)
  ==9953==    by 0x1D92D74: (anonymous namespace)::DAGCombiner::combine(llvm::SDNode*) (DAGCombiner.cpp:1411)
  
  Failing Tests (1):
      LLVM :: CodeGen/ARM/vlddup.ll

See also; http://bb.pgr.jp/builders/msbuild-llvmclang-x64-msc18-DA/builds/223


USERS
  spatel (Author)

http://reviews.llvm.org/rL236546

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list