llvm-project/llvm
David Majnemer f20d7c4c61 Analysis: Make isSafeToSpeculativelyExecute fire less for divides
Divides and remainder operations do not behave like other operations
when they are given poison: they turn into undefined behavior.

It's really hard to know if the operands going into a div are or are not
poison.  Because of this, we should only choose to speculate if there
are constant operands which we can easily reason about.

This fixes PR21412.

llvm-svn: 221318
2014-11-04 23:49:08 +00:00
..
autoconf [OCaml] [autoconf] Migrate to ocamlfind. 2014-10-30 08:29:45 +00:00
bindings [OCaml] Fix mismatched CAMLparam/CAMLreturn. 2014-11-03 11:47:14 +00:00
cmake [cmake] Pass -O3 when linking. 2014-11-02 12:14:22 +00:00
docs Docs: give binutils/gold instructions for CMake too. 2014-11-04 02:16:03 +00:00
examples [CMake] llvm/examples: Update libdeps for unoptimized builds. 2014-10-31 15:27:16 +00:00
include ErrorOr: Be more explicit in the implicit conversion to bool docs 2014-11-04 21:01:48 +00:00
lib Analysis: Make isSafeToSpeculativelyExecute fire less for divides 2014-11-04 23:49:08 +00:00
projects
test Analysis: Make isSafeToSpeculativelyExecute fire less for divides 2014-11-04 23:49:08 +00:00
tools llvm-objdump: Pass DiceTableEntry by reference 2014-11-04 08:41:48 +00:00
unittests [Hexagon] Reverting 220584 to address ASAN errors. 2014-11-04 00:14:36 +00:00
utils Use findProgramByName. 2014-11-04 01:29:59 +00:00
.arcconfig
.clang-format
.clang-tidy Enable display of compiler diagnostics in clang-tidy by default. 2014-10-29 17:29:38 +00:00
.gitignore Initial version of Go bindings. 2014-10-16 22:48:02 +00:00
CMakeLists.txt Adding llvm-shlib to CMake build system with a few new bells and whistles 2014-10-23 17:22:14 +00:00
CODE_OWNERS.TXT Add Tom Stellard's role as 3.5 release manager. 2014-09-12 08:07:31 +00:00
CREDITS.TXT Rise from the dead and update personal info 2014-08-25 17:51:04 +00:00
LICENSE.TXT
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in [OCaml] [autoconf] Migrate to ocamlfind. 2014-10-30 08:29:45 +00:00
Makefile.rules Revert my earlier change to add "all" as a dependency to check. In 2014-09-19 18:44:27 +00:00
README.txt
configure [OCaml] [autoconf] Migrate to ocamlfind. 2014-10-30 08:29:45 +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 documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

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