Mirror of official llvm git repository located at http://llvm.org/git/llvm. Updated every five minutes.
Go to file
Chris Lattner e597f00e1a fix a really nasty bug that Evan was tracking in SCCP. When resolving
undefs in branches/switches, we have two cases: a branch on a literal
undef or a branch on a symbolic value which is undef.  If we have a
literal undef, the code was correct: forcing it to a constant is the
right thing to do.

If we have a branch on a symbolic value that is undef, we should force
the symbolic value to a constant, which then makes the successor block
live.  Forcing the condition of the branch to being a constant isn't 
safe if later paths become live and the value becomes overdefined.  This
is the case that 'forcedconstant' is designed to handle, so just use it.

This fixes rdar://7765019 but there is no good testcase for this, the
one I have is too insane to be useful in the future.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100478 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 22:14:48 +00:00
autoconf Fixed spurious warning problem noticed by Daniel Dunbar. The configure script 2010-03-25 13:59:09 +00:00
bindings Add OCaml tutorial to the examples. 2010-03-08 19:32:27 +00:00
cmake Tell Valgrind when we modify already-executed machine code so it knows 2010-03-15 04:57:55 +00:00
docs Update to note that clang has a baseline now. Dropping x86-32 for MacOS. 2010-04-05 18:35:37 +00:00
examples Fix the ocaml kaleidoscope tutorial to fix linking external libraries. 2010-03-21 23:15:13 +00:00
include Introduce MaybeOwningPtr, a smart pointer that may (or may not) have 2010-04-05 21:09:22 +00:00
lib fix a really nasty bug that Evan was tracking in SCCP. When resolving 2010-04-05 22:14:48 +00:00
projects Testing subversion commit access 2010-02-23 15:11:17 +00:00
runtime disable this for mingw as well, we really need a 'has no dynamic linking' predicate. 2010-03-06 18:54:37 +00:00
test Don't do code sinking on unreachable blocks. It's unprofitable and hazardous. 2010-04-05 19:17:22 +00:00
tools fix an ugly wart in the MCInstPrinter api where the 2010-04-04 05:04:31 +00:00
unittests Fix SmallVector's insert to handle non-random-access iterators. 2010-03-26 18:53:37 +00:00
utils Replace TSFlagsFields and TSFlagsShifts with a simpler TSFlags field. 2010-04-05 03:10:20 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
build-for-llvm-top.sh Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
CMakeLists.txt CMake: Add options for using static runtime on MSVC++ build. 2010-03-18 13:52:05 +00:00
configure Fixed spurious warning problem noticed by Daniel Dunbar. The configure script 2010-03-25 13:59:09 +00:00
CREDITS.TXT Adding the MicroBlaze backend. 2010-02-23 19:15:24 +00:00
LICENSE.TXT 2010 is upon us. 2010-01-09 18:40:31 +00:00
llvm.spec.in
Makefile modernize the do-all-for-me target to run lit 2010-03-21 22:23:02 +00:00
Makefile.common Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Makefile.config.in Rewrite makefiles to explicitly reference DESTDIR to fix bug 3153. 2010-03-04 20:56:19 +00:00
Makefile.rules Second try of initial ARM/Thumb disassembler check-in. It consists of a tablgen 2010-04-02 22:27:38 +00:00
ModuleInfo.txt Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
README.txt Give packagers some advice about how to build LLVM so it's useful to 2010-02-26 00:54:42 +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.

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