LLVM backend for 6502
Go to file
Louis Gerbarg c0adfbb49d Add ExtractValue instruction to SimplifyCFG's ComputeSpeculationCost
Since ExtractValue is not included in ComputeSpeculationCost CFGs containing
ExtractValueInsts cannot be simplified. In particular this interacts with
InstCombineCompare's tendency to insert add.with.overflow intrinsics for
certain idiomatic math operations, preventing optimization.

This patch adds ExtractValue to the ComputeSpeculationCost. Test case included

rdar://14853450

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208434 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-09 17:02:46 +00:00
autoconf
bindings [OCaml] Add an ocamlfind package llvm.all_backends. 2014-05-01 21:00:52 +00:00
cmake Disable -Wcomment when building with GCC. 2014-05-06 09:46:06 +00:00
docs IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
examples Try to fix the msvc build. 2014-04-29 23:37:02 +00:00
include Run clang-format in small sections of code to make a patch easier to read. 2014-05-09 15:49:02 +00:00
lib Add ExtractValue instruction to SimplifyCFG's ComputeSpeculationCost 2014-05-09 17:02:46 +00:00
projects
test Add ExtractValue instruction to SimplifyCFG's ComputeSpeculationCost 2014-05-09 17:02:46 +00:00
tools Use range loops. 2014-05-08 19:30:17 +00:00
unittests Remove use of = default/= delete as they're unsupported on MSVC2012 2014-05-09 02:26:36 +00:00
utils Move late partial-unrolling thresholds into the processor definitions 2014-05-08 09:14:44 +00:00
.arcconfig Updated phabricator server. 2014-04-07 03:57:04 +00:00
.clang-format
.gitignore
CMakeLists.txt [CMake] Add build rules for llvm-PerfectShuffle utility 2014-05-07 16:54:00 +00:00
CODE_OWNERS.TXT
configure
CREDITS.TXT Test commit. 2014-04-10 22:25:51 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules [Build] Add rule to generate fully-expanded .td file 2014-05-06 03:49:45 +00:00
README.txt Trivial test commit. 2014-04-26 19:05:45 +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 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.