LLVM backend for 6502
Go to file
Sanjay Patel 8ae0800ae1 [x86] reassociate integer multiplies using machine combiner pass
Add i16, i32, i64 imul machine instructions to the list of reassociation
candidates.

A new bit of logic is needed to handle integer instructions: they have an
implicit EFLAGS operand, so we have to make sure it's dead in order to do
any reassociation with integer ops.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243756 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-31 16:21:55 +00:00
autoconf
bindings
cmake Use a specified list of languages in cmake project() command. 2015-07-28 14:43:53 +00:00
docs docs: Add information about helper scripts to HowToReleaseLLVM page 2015-07-31 01:02:35 +00:00
examples
include don't repeat function names in comments; NFC 2015-07-31 15:10:44 +00:00
lib [x86] reassociate integer multiplies using machine combiner pass 2015-07-31 16:21:55 +00:00
projects
resources
test [x86] reassociate integer multiplies using machine combiner pass 2015-07-31 16:21:55 +00:00
tools Fix lli with OrcLazyJIT: the default DataLayout was used. 2015-07-30 17:29:33 +00:00
unittests MCJITTests/MCJITCAPITest.cpp: Try to appease i686-win32. 2015-07-30 13:06:53 +00:00
utils Fix TableGen code generation for ReadNone attribute. 2015-07-30 21:16:34 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt Use a specified list of languages in cmake project() command. 2015-07-28 14:43:53 +00:00
CODE_OWNERS.TXT [WebAssembly] Initial WebAssembly backend 2015-06-29 23:51:55 +00:00
configure
CREDITS.TXT [WebAssembly] Initial WebAssembly backend 2015-06-29 23:51:55 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
README.txt Revert test commit at revision 233535. 2015-03-30 12:39:03 +00:00

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.