LLVM backend for 6502
Go to file
Philip Reames fb4ffccacb If a conditional branch jumps to the same target, remove the condition
Given that large parts of inst combine is restricted to instructions which have one use, getting rid of a use on the condition can help the effectiveness of the optimizer. Also, it allows the condition to potentially be deleted by instcombine rather than waiting for another pass.

I noticed this completely by accident in another test case. It's not anything that actually came from a real workload.

p.s. We should probably do the same thing for switch instructions.

Differential Revision: http://reviews.llvm.org/D8220



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231881 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-10 22:52:37 +00:00
autoconf Drop the hacks used for partial C99 math libraries. 2015-03-09 18:35:18 +00:00
bindings Go bindings: use MDNode::replaceAllUsesWith instead of MDTuple::replaceAllUsesWith. 2015-03-05 22:55:38 +00:00
cmake Add new LLVM_OPTIMIZED_TABLEGEN build setting which configures, builds and uses a release tablegen build when LLVM is configured with assertions enabled. 2015-03-10 20:48:02 +00:00
docs Introduce runtime unrolling disable matadata and use it to mark the scalar loop from vectorization. 2015-03-09 06:14:18 +00:00
examples Fix the build of the gold-plugin and examples. 2015-03-04 19:15:29 +00:00
include Remove the use of the subtarget in MCCodeEmitter creation and 2015-03-10 22:03:14 +00:00
lib If a conditional branch jumps to the same target, remove the condition 2015-03-10 22:52:37 +00:00
projects
test If a conditional branch jumps to the same target, remove the condition 2015-03-10 22:52:37 +00:00
tools Remove the use of the subtarget in MCCodeEmitter creation and 2015-03-10 22:03:14 +00:00
unittests DataLayout is mandatory, update the API to reflect it with references. 2015-03-10 02:37:25 +00:00
utils Teach raw_ostream to accept SmallString. 2015-03-10 07:33:23 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt Add new LLVM_OPTIMIZED_TABLEGEN build setting which configures, builds and uses a release tablegen build when LLVM is configured with assertions enabled. 2015-03-10 20:48:02 +00:00
CODE_OWNERS.TXT [CODE_OWNERS] Change the ownership of register allocators. 2015-03-05 22:15:17 +00:00
configure Drop the hacks used for partial C99 math libraries. 2015-03-09 18:35:18 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
README.txt

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

This directory and its subdirectories contain source code for LLVM,
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.