llvm/lib
Chris Lattner 9ee947c224 teach zext optimization how to deal with truncs that don't come from
the zext dest type.  This allows us to handle test52/53 in cast.ll,
and allows llvm-gcc to generate much better code for PR4216 in -m64
mode:

_test_bitfield:                                             ## @test_bitfield
	orl	$32962, %edi
	movl	%edi, %eax
	andl	$-25350, %eax
	ret

This also fixes a bug handling vector extends, ensuring that the
mask produced is a vector constant, not an integer constant.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93127 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-10 20:25:54 +00:00
..
Analysis "In order to ease automatic bindings generation, it would be helpful if boolean values were distinguishable from integers. The attached patch introduces "typedef int LLVMBool;", and uses LLVMBool instead of int throughout the C API, wherever a boolean value is called for." 2010-01-09 22:27:07 +00:00
Archive
AsmParser Compute isFunctionLocal in MDNode ctor or via argument in new function getWhenValsUnresolved(). 2010-01-10 07:14:18 +00:00
Bitcode Compute isFunctionLocal in MDNode ctor or via argument in new function getWhenValsUnresolved(). 2010-01-10 07:14:18 +00:00
CodeGen Revert an earlier change to SIGN_EXTEND_INREG for vectors. The VTSDNode 2010-01-09 02:13:55 +00:00
CompilerDriver
ExecutionEngine "In order to ease automatic bindings generation, it would be helpful if boolean values were distinguishable from integers. The attached patch introduces "typedef int LLVMBool;", and uses LLVMBool instead of int throughout the C API, wherever a boolean value is called for." 2010-01-09 22:27:07 +00:00
Linker Fixed linking of modules containing aliases to constant bitcasts. Existing behaviour first tried to replace the aliases with the global that they aliased (rather than the bitcast), causing a crash on an assert because the types didn't match. When this was fixed, it then did the same thing creating the new alias (creating an alias with a different type to its aliasee). 2010-01-09 16:27:31 +00:00
MC
Support Suppress use of uninitialized variable warning. 2010-01-09 08:30:33 +00:00
System
Target "In order to ease automatic bindings generation, it would be helpful if boolean values were distinguishable from integers. The attached patch introduces "typedef int LLVMBool;", and uses LLVMBool instead of int throughout the C API, wherever a boolean value is called for." 2010-01-09 22:27:07 +00:00
Transforms teach zext optimization how to deal with truncs that don't come from 2010-01-10 20:25:54 +00:00
VMCore fix a buggy assertion, CreateIntegerCast should allow 2010-01-10 20:21:42 +00:00
Makefile