llvm-project/llvm
Zhou Sheng c1cf629e41 Fix a PassManager pointer use-after-free bug.
The bug can be triggered when we require LoopInfo analysis ahead of DominatorTree construction in a Module Pass. The cause is that the LoopInfo analysis itself also invokes DominatorTree construction, therefore, when PassManager schedules LoopInfo, it will add DominatorTree first. Then after that, when the PassManger turns to schedule DominatorTree invoked by the above ModulePass, it finds there is already a DominatorTree, so it delete the redundant one. However, somehow it still try to access that pass pointer after free as code pasted below, which results in segment fault.

llvm-svn: 168581
2012-11-26 05:45:53 +00:00
..
autoconf Fix a pasto. 2012-11-19 19:31:02 +00:00
bindings [python] fix get_library() 2012-11-20 22:27:55 +00:00
cmake Removing SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG 2012-11-26 02:02:08 +00:00
docs Documentation: convert SourceLevelDebugging.html to reST 2012-11-22 11:56:02 +00:00
examples Fix gcc's -Wunused-but-set-variable warnings. 2012-11-26 00:56:44 +00:00
include Code Custodian: 2012-11-25 15:23:39 +00:00
lib Fix a PassManager pointer use-after-free bug. 2012-11-26 05:45:53 +00:00
projects Few more small CellSPU removals. 2012-11-14 22:13:56 +00:00
runtime libprofile/CommonProfiling.c: Fix according to C89. 2012-11-02 01:32:02 +00:00
test instcombine: Migrate toascii optimizations 2012-11-26 03:38:52 +00:00
tools libLTO: Add a utility method to initialize the disassemblers. 2012-11-24 16:59:10 +00:00
unittests Allow using MemoryBuffers with yaml::Stream directly. 2012-11-19 23:21:47 +00:00
utils Generalize matching of add_executable to add_XXX_executable. 2012-11-22 07:48:52 +00:00
.gitignore Add extra vim swap file pattern 2012-10-09 23:48:34 +00:00
CMakeLists.txt Kick off 3.3 cycle for LLVM trunk. 2012-11-17 22:01:08 +00:00
CODE_OWNERS.TXT Added me as the owner of the Sparc backend 2012-11-22 22:14:48 +00:00
CREDITS.TXT Finally add myself to the credits. 2012-11-16 18:44:36 +00:00
LICENSE.TXT Few more small CellSPU removals. 2012-11-14 22:13:56 +00:00
LLVMBuild.txt
Makefile [c-index-test] When building with BUILD_CLANG_ONLY=YES, include c-index-test. 2012-11-06 19:54:46 +00:00
Makefile.common [docs] Remove unsupported references to ExtraSource variable. 2012-05-15 21:32:27 +00:00
Makefile.config.in Re-enable support for --program-prefix. 2012-10-01 18:40:32 +00:00
Makefile.rules Use MACOSX_DEPLOYMENT_TARGET when it is set. <rdar://problem/12433905> 2012-10-12 21:48:14 +00:00
README.txt test commit 2012-07-11 17:34:12 +00:00
configure Fix a pasto. 2012-11-19 19:31:02 +00:00
llvm.spec.in

README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.