LLVM backend for 6502
Go to file
Meador Inge fa9d1372c9 instcombine: Split out the __stpcpy_chk simplifications from StrCpyChkOpt
r166198 migrated the strcpy optimization to instcombine.  The strcpy
simplifier that was migrated from Transforms/Scalar/SimplifyLibCalls.cpp
was also doing some __strcpy_chk simplifications.  Those fortified
simplifications were migrated as well, but introduced a bug in the
__stpcpy_chk simplifier in the process.  This happened because the
__strcpy_chk and __stpcpy_chk simplifiers were both mapped to StrCpyChkOpt
which was updated with simplifications that worked for __strcpy_chk, but
not __stpcpy_chk.

This patch fixes the problem by adding proper test coverage and creating a
new simplifier for __stpcpy_chk (instead of sharing one with __strcpy_chk).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167082 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-31 00:20:51 +00:00
autoconf Add mips64-* and mips64el-* triples to configure scripts 2012-10-29 19:49:45 +00:00
bindings Fix a build error for ocaml bindings that was introduced with the TargetData --> DataLayout changes. 2012-10-19 20:36:22 +00:00
cmake CMake: Include private headers / tablegen files in generated Xcode projects. 2012-10-23 21:36:55 +00:00
docs Typo. 2012-10-29 21:49:46 +00:00
examples Back out r166591, not sure why this made it through since I cancelled the command. Bleh, sorry about this! 2012-10-24 17:25:11 +00:00
include [inline asm] Get the mayLoad/mayStore directly from the MIOp_ExtraInfo operand. 2012-10-30 20:39:19 +00:00
lib instcombine: Split out the __stpcpy_chk simplifications from StrCpyChkOpt 2012-10-31 00:20:51 +00:00
projects Add mips64-* and mips64el-* triples to configure scripts 2012-10-29 19:49:45 +00:00
runtime
test instcombine: Split out the __stpcpy_chk simplifications from StrCpyChkOpt 2012-10-31 00:20:51 +00:00
tools Align the data section correctly when loading an ELF file. 2012-10-29 10:47:07 +00:00
unittests Fix isEliminableCastPair to work correctly in the presence of pointers 2012-10-30 16:03:32 +00:00
utils Don't return false when the function's return type is a pointer. 2012-10-25 21:25:08 +00:00
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT
configure Add mips64-* and mips64el-* triples to configure scripts 2012-10-29 19:49:45 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile Don't try to install c-index-test with BUILD_CLANG_ONLY. rdar://12492703 2012-10-24 22:56:32 +00:00
Makefile.common
Makefile.config.in
Makefile.rules
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.