Old fork of llvm-mirror, used on older RPCS3 builds
Go to file
David Blaikie 4e933df738 Opaque Pointer Types: GEP API migrations to specify the gep type explicitly
The changes to InstCombine (& SCEV) do seem a bit silly - it doesn't make
anything obviously better to have the caller access the pointers element
type (the thing I'm trying to remove) than the GEP itself, but it's a
helpful migration step. This will allow me to more obviously lock down
GEP (& Load, etc) API usage, then fix all the code that accesses pointer
element types except the places that need to be removed (most of the
InstCombines) anyway - at which point I'll need to just remove all that
code because it won't be meaningful anymore (there will be no pointer
types, so no bitcasts to combine)

SCEV looks like it'll need some restructuring - we'll have to do a bit
more work for GEP canonicalization, since it'll depend on how it's used
if we can even manage to canonicalize it to a non-ugly GEP. I guess we
can do some fun stuff like voting (do 2 out of 3 load from the GEP with
a certain type that gives a pretty GEP? Does every typed use of the GEP
use either a specific type or a generic type (i8*, etc)?)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233131 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-24 23:34:31 +00:00
autoconf [autoconf] Fix the build failure by quoting the strings. 2015-03-12 19:56:25 +00:00
bindings Go bindings: use MDNode::replaceAllUsesWith instead of MDTuple::replaceAllUsesWith. 2015-03-05 22:55:38 +00:00
cmake Re-land: Generate targets for each lit suite. 2015-03-23 20:04:00 +00:00
docs docs: Update llvm-cov docs for the -use-color flag 2015-03-19 18:22:46 +00:00
examples CMake: Disable ENABLE_EXPORTS for executables with MSVC 2015-03-18 20:09:13 +00:00
include [llvm-readobj] add support for macho universal binary. 2015-03-24 20:26:55 +00:00
lib Opaque Pointer Types: GEP API migrations to specify the gep type explicitly 2015-03-24 23:34:31 +00:00
projects Reverse the order libc++ and libc++abi are added in CMake. 2015-03-04 01:16:43 +00:00
test [dsymutil] Temporarily disable some tests on windows. 2015-03-24 23:11:07 +00:00
tools [llvm-readobj] add support for macho universal binary. 2015-03-24 20:26:55 +00:00
unittests Opaque Pointer Types: GEP API migrations to specify the gep type explicitly 2015-03-24 23:34:31 +00:00
utils Revert "Use std::bitset for SubtargetFeatures" 2015-03-24 12:56:59 +00:00
.arcconfig Updated phabricator server. 2014-04-07 03:57:04 +00:00
.clang-format
.clang-tidy Enable display of compiler diagnostics in clang-tidy by default. 2014-10-29 17:29:38 +00:00
.gitignore Add one more vim swap file pattern 2015-01-30 21:59:28 +00:00
CMakeLists.txt Re-land: Generate targets for each lit suite. 2015-03-23 20:04:00 +00:00
CODE_OWNERS.TXT Tom is also responsible for the 3.6 branch. 2015-03-16 18:15:27 +00:00
configure [autoconf] Fix the build failure by quoting the strings. 2015-03-12 19:56:25 +00:00
CREDITS.TXT Rise from the dead and update personal info 2014-08-25 17:51:04 +00:00
LICENSE.TXT Update for a new year. 2015-03-12 01:25:29 +00:00
llvm.spec.in
LLVMBuild.txt
Makefile [configure/make] Propagate names of build host tools when making BuildTools 2014-03-25 21:45:41 +00:00
Makefile.common
Makefile.config.in Add a check for misbehaving -Wcomment from gcc-4.7 and add 2014-11-05 00:35:15 +00:00
Makefile.rules Add support for SunOS function/data sections and associated 2015-03-03 20:54:29 +00:00
README.txt Revert test commit 2015-02-04 18:46:00 +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.