- Jan 10, 2010
-
-
Chris Lattner authored
lshr+ashr instead of trunc+sext. We want to avoid type conversions whenever possible, it is easier to codegen expressions without truncates and extensions. llvm-svn: 93107
-
Chris Lattner authored
llvm-svn: 93106
-
Chris Lattner authored
llvm-svn: 93105
-
Chris Lattner authored
bits known clear in the result and don't care about the # casts eliminated. TD is also dead but keeping it for now. llvm-svn: 93098
-
Chris Lattner authored
1) don't try to optimize a sext or zext that is only used by a trunc, let the trunc get optimized first. This avoids some pointless effort in some common cases since instcombine scans down a block in the first pass. 2) Change the cost model for zext elimination to consider an 'and' cheaper than a zext. This allows us to do it more aggressively, and for the next patch to simplify the code quite a bit. llvm-svn: 93097
-
Chris Lattner authored
more expressions to be promoted and casts eliminated. llvm-svn: 93096
-
Chris Lattner authored
llvm-svn: 93095
-
Julien Lerouge authored
llvm-svn: 93093
-
Chris Lattner authored
llvm-svn: 93092
-
Chris Lattner authored
llvm-svn: 93091
-
Chris Lattner authored
commonIntCastTransforms into the callers, eliminating a switch, and allowing the static predicate methods to be moved down to live next to the corresponding function. No functionality change. llvm-svn: 93089
-
Chris Lattner authored
llvm-svn: 93082
-
- Jan 09, 2010
-
-
Chris Lattner authored
llvm-svn: 93080
-
Chris Lattner authored
"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." Patch by James Y Knight! llvm-svn: 93079
-
Jeffrey Yasskin authored
jump. People clearly weren't finding the extra requirements in CodeGenerator.html. llvm-svn: 93070
-
Chris Lattner authored
llvm-svn: 93069
-
Chris Lattner authored
llvm-svn: 93068
-
Chris Lattner authored
llvm-svn: 93067
-
Chris Lattner authored
llvm-svn: 93066
-
http://llvm.org/PR5729Jeffrey Yasskin authored
R11, and then asserting that the target was in R9. Since R9 isn't reserved for the target anymore, and is used as an argument, this patch changes the assertion. llvm-svn: 93065
-
Chris Lattner authored
llvm-svn: 93062
-
Dan Gohman authored
so that unnamed blocks are handled. llvm-svn: 93059
-
Dan Gohman authored
highlighting rule for identifiers. llvm-svn: 93056
-
Dan Gohman authored
follow LLVM source convention. Before: case X: { stuff; } After: case X: { stuff; } llvm-svn: 93055
-
David Chisnall authored
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). Linking modules containing aliases to GEPs is still not quite right. GEPs that are equivalent to bitcasts will be replaced by bitcasts, GEPs that are not will just break. Aliases to GEPs that are not equivalent to bitcasts are horribly broken anyway (it might be worth adding an assert when creating the alias to prevent these being created; they just cause problems later). llvm-svn: 93052
-
Duncan Sands authored
llvm-svn: 93046
-
Chris Lattner authored
base is the right expression type. This fixes PR5981. llvm-svn: 93045
-
Dan Gohman authored
really does need to be a vector type, because TargetLowering::getOperationAction for SIGN_EXTEND_INREG uses that type, and it needs to be able to distinguish between vectors and scalars. Also, fix some more issues with legalization of vector casts. llvm-svn: 93043
-
Chris Lattner authored
llvm-svn: 93042
-
Devang Patel authored
Disable copy ctor and operator= for NamedMDSymTable. Hide typedef that should be public. llvm-svn: 93041
-
Dale Johannesen authored
llvm-svn: 93040
-
Devang Patel authored
llvm-svn: 93039
-
Julien Lerouge authored
llvm-svn: 93038
-
Devang Patel authored
llvm-svn: 93037
-
Devang Patel authored
llvm-svn: 93032
-
Evan Cheng authored
Dan pointed out checking whether a node is dead by comparing its opcode to ISD::DELETED_NODE is not safe. Use a DAGUpdateListener to remove dead nodes from work list instead. llvm-svn: 93031
-
Dale Johannesen authored
llvm-svn: 93030
-
Evan Cheng authored
Fix a critical bug in 64-bit atomic operation lowering for 32-bit. The results of the cmpxchg8b instructions are being thrown away when it branches back to the top of the checking loop. This means the loop always compares against the old value and this can result in a dead lock. llvm-svn: 93028
-
- Jan 08, 2010
-
-
Eric Christopher authored
llvm-svn: 93027
-
Eric Christopher authored
llvm-svn: 93026
-