hanchenye-llvm-project/llvm
Evan Cheng e4b8ac9fef Add a peephole optimization to optimize pairs of bitcasts. e.g.
v2 = bitcast v1
...
v3 = bitcast v2
...
   = v3
=>
v2 = bitcast v1
...
   = v1
if v1 and v3 are of in the same register class.

bitcast between i32 and fp (and others) are often not nops since they
are in different register classes. These bitcast instructions are often
left because they are in different basic blocks and cannot be
eliminated by dag combine.

rdar://9104514

llvm-svn: 127668
2011-03-15 05:13:13 +00:00
..
autoconf Check that the AsmParser exists for the native target to enable initialization 2011-03-14 22:12:35 +00:00
bindings Fix compiling the ocaml kaleidoscope tutorials 2011-02-09 18:32:02 +00:00
cmake Whe we build a shared library, add its list of used libraries to the 2011-03-12 16:48:54 +00:00
docs rip out llvm 2.8 release notes to make room for llvm 2.9 notes. 2011-03-10 07:43:44 +00:00
examples Fix compiling the ocaml kaleidoscope tutorials 2011-02-09 18:32:02 +00:00
include - Add "Bitcast" target instruction property for instructions which perform 2011-03-15 05:09:26 +00:00
lib Add a peephole optimization to optimize pairs of bitcasts. e.g. 2011-03-15 05:13:13 +00:00
projects
runtime Implementation of path profiling. 2011-01-29 01:09:53 +00:00
test Add a peephole optimization to optimize pairs of bitcasts. e.g. 2011-03-15 05:13:13 +00:00
tools Make llvm::Consumer a class (to remove a MSVC warning since Consumer is later forward declared as a struct) 2011-03-14 23:07:21 +00:00
unittests Fixes warnings emitted by Visual Studio 2010 compiler. 2011-03-01 23:11:57 +00:00
utils - Add "Bitcast" target instruction property for instructions which perform 2011-03-15 05:09:26 +00:00
website
.gitignore
CMakeLists.txt Change the next release number to 3.0svn. 2011-03-08 03:00:02 +00:00
CREDITS.TXT
LICENSE.TXT
Makefile
Makefile.common
Makefile.config.in
Makefile.rules Makefile.rules: [PR2928] "make install" may install include files along explicit pattern, not to install CMake's building stuff. 2011-03-09 09:11:27 +00:00
ModuleInfo.txt
README.txt Test commit. 2011-02-11 19:11:57 +00:00
build-for-llvm-top.sh
configure Check that the AsmParser exists for the native target to enable initialization 2011-03-14 22:12:35 +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 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.