1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
Go to file
Dan Gohman 922033d119 Teach SCEVExpander to expand arithmetic involving pointers into GEP
instructions. It attempts to create high-level multi-operand GEPs,
though in cases where this isn't possible it falls back to casting
the pointer to i8* and emitting a GEP with that. Using GEP instructions
instead of ptrtoint+arithmetic+inttoptr helps pointer analyses that
don't use ScalarEvolution, such as BasicAliasAnalysis.

Also, make the AddrModeMatcher more aggressive in handling GEPs.
Previously it assumed that operand 0 of a GEP would require a register
in almost all cases. It now does extra checking and can do more
matching if operand 0 of the GEP is foldable. This fixes a problem
that was exposed by SCEVExpander using GEPs.

llvm-svn: 72093
2009-05-19 02:15:55 +00:00
autoconf Test for the presence of GCC atomic builtins at configure time. If not found, 2009-05-18 23:58:51 +00:00
bindings Rename PaddedSize to AllocSize, in the hope that this 2009-05-09 07:06:46 +00:00
cmake termios.h contains the winsize structure we need to determine the 2009-05-18 17:21:34 +00:00
docs Test commit. 2009-05-19 01:56:08 +00:00
examples silence a warning. 2009-04-15 00:16:05 +00:00
include Teach SCEVExpander to expand arithmetic involving pointers into GEP 2009-05-19 02:15:55 +00:00
lib Teach SCEVExpander to expand arithmetic involving pointers into GEP 2009-05-19 02:15:55 +00:00
projects Revert r67655 and r67656, as they are breaking the build. I'm 2009-03-25 00:52:11 +00:00
runtime Drop toy GC runtime. 2009-03-02 03:46:48 +00:00
test Teach SCEVExpander to expand arithmetic involving pointers into GEP 2009-05-19 02:15:55 +00:00
tools Make sure the CXXFLAGS setting is picked up by 2009-05-16 04:00:00 +00:00
unittests Fix a compile warning. 2009-05-18 03:44:24 +00:00
utils Add -submit-aux option to NewNightlyTest.pl 2009-05-18 23:24:26 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 Update hand-crafted VC++ build. 2009-02-02 19:22:02 +00:00
Xcode Remove Stacker.html from Xcode project. 2008-10-14 23:23:59 +00:00
build-for-llvm-top.sh Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
CMakeLists.txt CMake: Added notes pointing to the LLVM CMake documentation. 2009-04-04 22:52:02 +00:00
configure Test for the presence of GCC atomic builtins at configure time. If not found, 2009-05-18 23:58:51 +00:00
CREDITS.TXT Initial test commit 2009-04-28 06:15:00 +00:00
LICENSE.TXT Now that we have atomics support properly detected by configure, 2009-05-19 00:08:29 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile Change 'make install' to install tblgen, for better support of out-of-tree targets, 2009-05-08 17:32:47 +00:00
Makefile.common Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Makefile.config.in Add a --enable-profiling option to configure to build Debug+Profile and 2009-04-17 14:49:22 +00:00
Makefile.rules Work around the fact that GNU libstdc++'s debug mode uses RTTI. 2009-05-15 18:13:31 +00:00
ModuleInfo.txt Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
README.txt README.txt: test commit w/blank line appended 2009-03-23 21:00: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 HTML documentation provided in docs/index.html for further
assistance with LLVM.