llvm-project/llvm
Jingyue Wu baabe5091c Canonicalize addrspacecast ConstExpr between different pointer types
As a follow-up to r210375 which canonicalizes addrspacecast
instructions, this patch canonicalizes addrspacecast constant
expressions.

Given clang uses ConstantExpr::getAddrSpaceCast to emit addrspacecast
cosntant expressions, this patch is also a step towards having the
frontend emit canonicalized addrspacecasts.

Piggyback a minor refactor in InstCombineCasts.cpp

Update three affected tests in addrspacecast-alias.ll,
access-non-generic.ll and constant-fold-gep.ll and added one new test in
constant-fold-address-space-pointer.ll

llvm-svn: 211004
2014-06-15 21:40:57 +00:00
..
autoconf Remove path_tclsh.m4. 2014-06-02 12:54:32 +00:00
bindings [OCaml] Unbreak Llvm_target.TargetMachine.set_verbose_asm 2014-06-09 17:34:34 +00:00
cmake Remove clang-specific libxml2 check from CMake 2014-06-06 05:08:42 +00:00
docs Docs: remove extra {} around result types. 2014-06-13 14:24:23 +00:00
examples Try to fix the msvc build. 2014-04-29 23:37:02 +00:00
include Add specialization of FoldingSetTrait for std::pair. 2014-06-15 14:42:25 +00:00
lib Canonicalize addrspacecast ConstExpr between different pointer types 2014-06-15 21:40:57 +00:00
projects Remove projects/sample. 2014-03-12 22:40:22 +00:00
test Canonicalize addrspacecast ConstExpr between different pointer types 2014-06-15 21:40:57 +00:00
tools Finishing touch for the std::error_code transition. 2014-06-13 17:20:48 +00:00
unittests Adding llvm::sys::swapByteOrder() for the common use-case of byte-swapping a value in place 2014-06-14 12:52:55 +00:00
utils Remove broken include. 2014-06-13 15:21:50 +00:00
.arcconfig Updated phabricator server. 2014-04-07 03:57:04 +00:00
.clang-format
.gitignore Remove projects/sample. 2014-03-12 22:40:22 +00:00
CMakeLists.txt Delete trailing whitespace. 2014-06-12 21:27:03 +00:00
CODE_OWNERS.TXT ARM Linux support 2014-04-02 23:03:28 +00:00
CREDITS.TXT Update Credits. 2014-05-29 19:59:58 +00:00
LICENSE.TXT Remove projects/sample. 2014-03-12 22:40:22 +00:00
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
Makefile.rules autoconf: Fix libLLVM-Major-Minor-Patch.so symlink 2014-05-15 19:50:25 +00:00
README.txt Trivial test commit. 2014-04-26 19:05:45 +00:00
configure Touch configure to force clang's config.h.in reconfiguration on the build servers 2014-06-06 10:36:38 +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 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.