Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LCSSA is broken due to use of DenseMap #1549

Closed
llvmbot opened this issue Feb 5, 2007 · 4 comments
Closed

LCSSA is broken due to use of DenseMap #1549

llvmbot opened this issue Feb 5, 2007 · 4 comments
Labels
bugzilla Issues migrated from bugzilla compile-fail Use [accepts-invalid] and [rejects-valid] instead

Comments

@llvmbot
Copy link
Collaborator

llvmbot commented Feb 5, 2007

Bugzilla Link 1177
Resolution FIXED
Resolved on Mar 06, 2010 13:59
Version trunk
OS Linux
Reporter LLVM Bugzilla Contributor

Extended Description

I'm getting this glibc detected failure:
/proj/llvm/llvm-3/Debug/bin/opt: malloc(): memory corruption: 0x08de9f1c

Occurring at:

llvm::DenseMapllvm::DominatorTreeBase::Node*,llvm::Value*::grow()+0x34
llvm::DenseMapllvm::DominatorTreeBase::Node*,llvm::Value*::InsertIntoBucket(llvm::DominatorTreeBase::Node*
const&, llvm::Value* const&, std::pair<llvm::DominatorTreeBase::Node*,
llvm::Value*>)
llvm::DenseMapllvm::DominatorTreeBase::Node*,llvm::Value*::operator[](llvm::DominatorTreeBase::Node

const&)
(anonymous
namespace)::LCSSA::GetValueForBlock(llvm::DominatorTreeBase::Node*,llvm::Instruction*,
llvm::DenseMap<llvm::DominatorTreeBase::Node*, llvm::Value*>&)
(anonymous
namespace)::LCSSA::ProcessInstruction(llvm::Instruction*,std::vector<llvm::BasicBlock*,
std::allocatorllvm::BasicBlock* > const&)
(anonymous namespace)::LCSSA::visitSubloop(llvm::Loop*)
(anonymous namespace)::LCSSA::visitSubloop(llvm::Loop*)
(anonymous namespace)::LCSSA::runOnFunction(llvm::Function&)
llvm::FPPassManager::runOnFunction(llvm::Function&)
CGPassManager::runOnModule(llvm::Module&)
llvm::MPPassManager::runOnModule(llvm::Module&)
llvm::PassManagerImpl::run(llvm::Module&)
llvm::PassManager::run(llvm::Module&)
main

@lattner
Copy link
Collaborator

lattner commented Feb 5, 2007

can you run valgrind on it plz?

@llvmbot
Copy link
Collaborator Author

llvmbot commented Feb 5, 2007

valgrind output from "opt"
This is the output of valgrind when opt is run as:

valgrind opt -std-compile-opts Output/rem.linked.rbc -o Output/rem.linked.bc -f

in llvm-test/SingleSource/UnitTests/SignlessTypes

@lattner
Copy link
Collaborator

lattner commented Feb 5, 2007

This is because LCSSA is using invalidated iterators.

@llvmbot
Copy link
Collaborator Author

llvmbot commented Feb 5, 2007

Reverting this patch fixed the problem:

http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070129/043914.html

Resolved.

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 3, 2021
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla compile-fail Use [accepts-invalid] and [rejects-valid] instead
Projects
None yet
Development

No branches or pull requests

2 participants