llvm-6502/lib
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
..
Analysis Switch llvm.cttz and llvm.ctlz to accept a second i1 parameter which 2011-12-12 04:26:04 +00:00
Archive build/CMake: Finish removal of add_llvm_library_dependencies. 2011-11-29 19:25:30 +00:00
AsmParser Push StringRefs through the metadata interface. 2011-12-06 11:50:26 +00:00
Bitcode Fix 80-column. 2011-12-08 00:38:45 +00:00
CodeGen [fast-isel] SelectInsertValue seems to be causing miscompiles for ARM. Disable while I investigate. 2011-12-10 21:27:40 +00:00
DebugInfo build/CMake: Finish removal of add_llvm_library_dependencies. 2011-11-29 19:25:30 +00:00
ExecutionEngine ExecutionEngine: refactor interface 2011-12-12 04:20:36 +00:00
Linker build/CMake: Finish removal of add_llvm_library_dependencies. 2011-11-29 19:25:30 +00:00
MC Handle reloc_signed_4byte in here. Not doing so was a regression from my 2011-12-09 19:57:29 +00:00
Object build/CMake: Finish removal of add_llvm_library_dependencies. 2011-11-29 19:25:30 +00:00
Support Support/FileSystem: Implement recursive_directory_iterator and make 2011-12-08 22:50:09 +00:00
TableGen Check for error after InstantiateMultclassDef. 2011-12-02 18:33:03 +00:00
Target Remove some remants of the old palign pattern fragment that were still hanging around. Also remove a cast from inside getShuffleVPERM2X128Immediate and getShuffleVPERMILPImmediate since the only caller already had done the cast. 2011-12-11 19:12:35 +00:00
Transforms Switch llvm.cttz and llvm.ctlz to accept a second i1 parameter which 2011-12-12 04:26:04 +00:00
VMCore Switch llvm.cttz and llvm.ctlz to accept a second i1 parameter which 2011-12-12 04:26:04 +00:00
CMakeLists.txt Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
LLVMBuild.txt build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
Makefile Remove more of llvmc and dependencies. 2011-09-20 00:34:27 +00:00