LLVM backend for 6502
Go to file
Chandler Carruth ccbf1e36d3 Switch llvm.cttz and llvm.ctlz to accept a second i1 parameter which
indicates whether the intrinsic has a defined result for a first
argument equal to zero. This will eventually allow these intrinsics to
accurately model the semantics of GCC's __builtin_ctz and __builtin_clz
and the X86 instructions (prior to AVX) which implement them.

This patch merely sets the stage by extending the signature of these
intrinsics and establishing auto-upgrade logic so that the old spelling
still works both in IR and in bitcode. The upgrade logic preserves the
existing (inefficient) semantics. This patch should not change any
behavior. CodeGen isn't updated because it can use the existing
semantics regardless of the flag's value.

Note that this will be followed by API updates to Clang and DragonEgg.

Reviewed by Nick Lewycky!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146357 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-12 04:26:04 +00:00
autoconf configure: Don't warn about compiler-rt checked out into projects/. 2011-12-07 22:07:03 +00:00
bindings Minor fixes in Makefiles for the OCaml bindings: 2011-11-09 12:00:39 +00:00
cmake Use a simpler and more reliable command for converting from HEAD to 2011-12-10 10:18:47 +00:00
docs Random cleanups. No description changes. 2011-12-09 22:41:40 +00:00
examples EngineBuilder: support for custom TargetOptions. Fixes the 2011-12-07 23:58:57 +00:00
include Switch llvm.cttz and llvm.ctlz to accept a second i1 parameter which 2011-12-12 04:26:04 +00:00
lib Switch llvm.cttz and llvm.ctlz to accept a second i1 parameter which 2011-12-12 04:26:04 +00:00
projects
runtime
test Fixed bug 9905: Failure in code selection for llvm intrinsics sqrt/exp (fix for FSQRT, FSIN, FCOS, FPOWI, FPOW, FLOG, FLOG2, FLOG10, FEXP, FEXP2). Third attempt: simplified checks in test for armv7-apple-darwin11. 2011-12-11 14:35:48 +00:00
tools The second part of support for generating dwarf for assembly source files. This 2011-12-09 18:09:40 +00:00
unittests re-enable unittest 2011-12-12 04:20:41 +00:00
utils ARM: NEON SHLL instruction immediate operand range checking. 2011-12-07 01:07:24 +00:00
.gitignore git: Add tools/lldb to the ignore list. 2011-11-10 22:55:50 +00:00
CMakeLists.txt llvm/CMakeLists.txt: Fix LLVM_LIT_TOOLS_DIR since r143728. Cygwin does not need optional tools dir. MSVC and mingw may need one. 2011-12-11 03:07:53 +00:00
configure configure: Don't warn about compiler-rt checked out into projects/. 2011-12-07 22:07:03 +00:00
CREDITS.TXT CREDITS.TXT: Add a line. (test commit) 2011-10-29 23:42:14 +00:00
LICENSE.TXT Happy new year. 2011-06-12 15:26:54 +00:00
llvm.spec.in
LLVMBuild.txt build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
Makefile llvm-config: Replace with C++ version (was llvm-config-2). 2011-12-01 20:18:09 +00:00
Makefile.common
Makefile.config.in Add an optional separate install prefix for internal components. rdar://10217046 2011-11-28 07:59:52 +00:00
Makefile.rules Add a deterministic finite automaton based packetizer for VLIW architectures 2011-12-01 21:10:21 +00:00
README.txt Undo test commit 2011-11-22 20:05:48 +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.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.