1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
Go to file
Dan Gohman ad548e93f7 When LSR is replacing an instruction, call
ScalarEvolution::deleteValueFromRecords on it before doing the
replaceAllUsesWith, because ScalarEvolution looks at the instruction's
users to find SCEV references to the instruction's SCEV object in its
internal maps.

Move all of LSR's loop-related state clearing after processing the loop
and before cleaning up dead PHI nodes. This eliminates all of LSR's SCEV
references just before the calls to ScalarEvolution::deleteValueFromRecords
so that when ScalarEvolution drops its own SCEV references, the reference
counts will reach zero and the SCEVs will be deleted immediately.

These changes fix some compiler aborts involving ScalarEvolution holding
onto and reusing SCEV objects for instructions that have been deleted.
No regression test unfortunately; because the symptoms were due to
dangling pointers, reduced testcases ended up being fairly arbitrary.

llvm-svn: 51359
2008-05-21 00:54:12 +00:00
autoconf Added configure switches for PIC16 in configure.ac. 2008-05-14 08:03:23 +00:00
bindings Remove a duplicative binding. Patch by Mahadevan R. 2008-05-19 05:47:10 +00:00
docs Clarify that and/or/xor/sdiv etc all allow vectors. 2008-05-20 20:48:21 +00:00
examples API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.) 2008-05-16 19:29:10 +00:00
include Reverting r51218 because of breakage on PPC32. 2008-05-20 23:54:27 +00:00
lib When LSR is replacing an instruction, call 2008-05-21 00:54:12 +00:00
projects remove attributions from the rest of the llvm makefiles. 2007-12-29 20:11:13 +00:00
runtime Fixing the stack walker. 2008-01-24 05:16:36 +00:00
test Eliminate questionable syntax for stdin redirection. This probably also speeds things up a bit. 2008-05-20 22:07:21 +00:00
tools Add CommonLinkage, in a way that preserves the 2008-05-16 22:46:40 +00:00
utils Do not generate by TableGen the hard-coded standard, target-independent part of 2008-05-14 10:17:11 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 "The two generated files in the AsmParser.vcproj are pointing to the 2008-05-20 17:27:57 +00:00
Xcode Merge LLVMBuilder and FoldingBuilder, calling 2008-04-13 06:22:09 +00:00
build-for-llvm-top.sh Allow the configure options to be set according to the llvm-top options. 2007-08-31 19:53:42 +00:00
configure Added configure switches for PIC16 in configure.ac. 2008-05-14 08:03:23 +00:00
CREDITS.TXT merge of use-diet branch to trunk 2008-05-10 08:32:32 +00:00
LICENSE.TXT scoped_ptr.h was removed. 2008-02-09 22:50:06 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile a happier version of happiness 2008-03-21 22:17:07 +00:00
Makefile.common remove attributions from the rest of the llvm makefiles. 2007-12-29 20:11:13 +00:00
Makefile.config.in Reverting r48974. See PR2183 for details. 2008-03-31 16:46:23 +00:00
Makefile.rules Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better. 2008-05-15 10:04:30 +00:00
ModuleInfo.txt Update to include clean and install commands. 2007-07-20 20:54:41 +00:00
README.txt test 2007-04-20 20:49:25 +00:00

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.