LLVM backend for 6502
Go to file
Meador Inge 30d8f0e977 Normalize memcmp constant folding results.
The library call simplifier folds memcmp calls with all constant arguments
to a constant.  For example:

  memcmp("foo", "foo", 3) ->  0
  memcmp("hel", "foo", 3) ->  1
  memcmp("foo", "hel", 3) -> -1

The folding is implemented in terms of the system memcmp that LLVM gets
linked with.  It currently just blindly uses the value returned from
the system memcmp as the folded constant.

This patch normalizes the values returned from the system memcmp to
(-1, 0, 1) so that we get consistent results across multiple platforms.
The test cases were adjusted accordingly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167726 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-12 14:00:45 +00:00
autoconf
bindings
cmake
docs Update the vectorizer docs. 2012-11-11 06:47:51 +00:00
examples
include Add method for replacing instructions to LibCallSimplifier 2012-11-11 03:51:43 +00:00
lib Normalize memcmp constant folding results. 2012-11-12 14:00:45 +00:00
projects Add --enable-werror and --enable-cxx11 to projects/sample/ 2012-11-12 06:11:12 +00:00
runtime
test Normalize memcmp constant folding results. 2012-11-12 14:00:45 +00:00
tools [ASan] Add llvm-symbolizer from to tools/ 2012-11-12 11:33:29 +00:00
unittests do not play preprocessor tricks with 'private', use public interfaces instead; this appeases the VC++ buildbots 2012-11-12 13:34:59 +00:00
utils Simplify the SmallVector pretty printer for LLDB a bit and make it work with reference types. 2012-11-10 09:45:32 +00:00
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT
configure
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
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.