1. fc6d3a4 Convert InsertValueInst and ExtractValueInst APIs to use ArrayRef. by Jay Foad · 13 years ago
  2. 5fdd6c8 Second attempt at de-constifying LLVM Types in FunctionType::get(), by Jay Foad · 13 years ago
  3. 2280ebd Revert r134893 and r134888 (and related patches in other trees). It was causing by Bill Wendling · 13 years ago
  4. f362aff De-constify Types in FunctionType::get(). by Jay Foad · 13 years ago
  5. b5a12dd Don't duplicate the work done by a gep into a "bitcast" if the gep has by Rafael Espindola · 13 years ago
  6. e2e86f6 Reapply a fixed version of r133285. by Bob Wilson · 13 years ago
  7. fc87cdc PR10267: Don't combine an equality compare with an AND into an inequality compare when the AND has more than one use. by Benjamin Kramer · 13 years ago
  8. f1ac465 Generalize @llvm.ctlz, @llvm.cttz, and @llvm.ctpop to work on vectors of integers, and fix the one optimization pass that I'm aware of that needs updating for this. At least one current target, ARM NEON, can implement these operations on vectors directly. by Owen Anderson · 13 years ago
  9. 00805fa PR10180: Fix a instcombine crash with FP vectors. by Eli Friedman · 13 years ago
  10. b065b06 Revamp the "ConstantStruct::get" methods. Previously, these were scattered by Chris Lattner · 13 years ago
  11. 66638b2 Revert r133285. Causing odd failures on Dragonegg. by Chad Rosier · 13 years ago
  12. 3761c34 Relocate NUW test to cover all binary ops in a dynamic alloca expr. by Stuart Hastings · 13 years ago
  13. 7ac8f8f Avoid fusing bitcasts with dynamic allocas if the amount-to-allocate by Stuart Hastings · 13 years ago
  14. e7fdcad InstCombine: Fold A-b == C --> b == A-C if A and C are constants. by Benjamin Kramer · 13 years ago
  15. ffd0ae6 InstCombine: Shrink ((zext X) & C1) == C2 to fold away the cast if the "zext" and the "and" have one use. by Benjamin Kramer · 13 years ago
  16. 7e7c9cc Simplify code. No functionality changes, name changes aside. by Benjamin Kramer · 13 years ago
  17. f100282 Reapply 132348 with fixes. rdar://problem/6501862 by Stuart Hastings · 13 years ago
  18. 3200c4b Revert to pacify a buildbot. rdar://problem/6501862 by Stuart Hastings · 13 years ago
  19. df48e84 Followup to 132316; accept arbitrary constants, add with a constant, by Stuart Hastings · 13 years ago
  20. acbf107 (1 - X) * (-2) -> (x - 1) * 2, for all positive nonzero powers of 2 by Stuart Hastings · 13 years ago
  21. 2c5cc68 ConstantFoldInstOperands doesn't like compares, hand it off to instsimplify instead. by Benjamin Kramer · 13 years ago
  22. 17c1bb5 InstCombine: Make switch folding with equality compares more aggressive by trying instsimplify on the arm where we know the compared value. by Benjamin Kramer · 13 years ago
  23. a311c34 Final step of instcombine debuginfo; switch a couple more places over to InsertNewInstWith, and use setDebugLoc for the cases which can't be easily handled by the automated mechanisms. by Eli Friedman · 13 years ago
  24. 6266031 Renamed llvm.x86.sse42.crc32 intrinsics; crc64 doesn't exist. by Chad Rosier · 13 years ago
  25. a831a9b PR9998: ashr exact %x, 31 is not equivalent to sdiv exact %x, -2147483648. by Eli Friedman · 13 years ago
  26. a4d4aeb Make instcombine O(N) instead of O(N^2) in code where the same simplifiable constant is used many times. by Eli Friedman · 13 years ago
  27. 613f1a3 rearrange two transforms, since one subsumes the other. Make the shift-exactness by Chris Lattner · 13 years ago
  28. 05cd886 Transform any logical shift of a power of two into an exact/NUW shift when by Chris Lattner · 13 years ago
  29. 6083bb9 use the valuetracking isPowerOfTwo function, which is more powerful than checking by Chris Lattner · 13 years ago
  30. 6c9b8d3 add some random notes. by Chris Lattner · 13 years ago
  31. 1add46d Carve out a place in instcombine to put transformations which work knowing that their by Chris Lattner · 13 years ago
  32. cd89d4d Revert "InstCombine: Turn mul.with.overflow(X, 2) into the cheaper add.with.overflow(X, X)" by Benjamin Kramer · 13 years ago
  33. c21b205 InstCombine: Turn mul.with.overflow(X, 2) into the cheaper add.with.overflow(X, X) by Benjamin Kramer · 13 years ago
  34. 2e64960 Revert r131664 and fix it in instcombine instead. rdar://9467055 by Evan Cheng · 13 years ago
  35. aaa7f49 Add comment. by Evan Cheng · 13 years ago
  36. 6fd5a60 Make the demanded bits/elements optimizations preserve debug line information. by Eli Friedman · 13 years ago
  37. e6f364b More instcombine cleanup, towards improving debug line info. by Eli Friedman · 13 years ago
  38. 107ffd5 More instcombine simplifications towards better debug locations. by Eli Friedman · 13 years ago
  39. 59f1591 More instcombine cleanup aimed towards improving debug line info. by Eli Friedman · 13 years ago
  40. 976e7e1 Switch more inst insertion in instcombine to IRBuilder. by Eli Friedman · 13 years ago
  41. 1eca76a Switch more inst insertion in instcombine to IRBuilder. by Eli Friedman · 13 years ago
  42. e87ca45 Switch inst insertion in instcombine transform to IRBuilder. by Eli Friedman · 13 years ago
  43. d116611 Fix inelegant initialization. by Stuart Hastings · 13 years ago
  44. ef819d0 Start trying to make InstCombine preserve more debug info. The idea here is to set the debug location on the IRBuilder, which will be then right location in most cases. This should magically give many transformations debug locations, and fixing places which are missing a debug location will usually just means changing the code creating it to use the IRBuilder. by Eli Friedman · 13 years ago
  45. 3e22cb9 Use ReplaceInstUsesWith instead of replaceAllUsesWith where appropriate in instcombine. by Eli Friedman · 13 years ago
  46. ca1ef48 X86 pmovsx/pmovzx ignore the upper half of their inputs. rdar://problem/6945110 by Stuart Hastings · 13 years ago
  47. 67f071e Avoid combining GEPs that might overflow at runtime. rdar://problem/9267970 by Stuart Hastings · 13 years ago
  48. b6e7cd6 PR9838: Fix transform introduced in r127064 to not trigger when only one side of the icmp is an exact shift. by Eli Friedman · 13 years ago
  49. 00676a6 Remove unused variable. by Duncan Sands · 13 years ago
  50. f24ed77 Move some rem transforms out of instcombine and into instsimplify. by Duncan Sands · 13 years ago
  51. 7d6eb5a InstCombine: Turn (zext A) udiv (zext B) into (zext (A udiv B)). Same for urem or constant B. by Benjamin Kramer · 13 years ago
  52. 23b02cd Use SimplifyDemandedBits on div instructions. by Benjamin Kramer · 13 years ago
  53. 3224806 Balance parentheses. by Benjamin Kramer · 13 years ago
  54. c2e31c1 InstCombine: turn (C1 << A) << C2) into (C1 << C2) << A) by Benjamin Kramer · 13 years ago
  55. b0884f3 We require threse bits to be zero, too. by Benjamin Kramer · 13 years ago
  56. e12d583 Fix a comment. by Benjamin Kramer · 13 years ago
  57. 264ac87 InstCombine: Merge "(trunc x) == C1 & (and x, CA) == C2" into a single and+icmp. by Benjamin Kramer · 13 years ago
  58. 089a246 Stop trying to have instcombine preserve LCSSA form: this was not by Duncan Sands · 13 years ago
  59. 325eeb1 Transform: "icmp eq (trunc (lshr(X, cst1)), cst" to "icmp (and X, mask), cst" by Chris Lattner · 13 years ago
  60. 5036ce4 some random cleanups, no functionality change. by Chris Lattner · 13 years ago
  61. 86f72a8 Rename a misleadingly-named variable. by Frits van Bommel · 13 years ago
  62. 4130278 Fix bug when checking phi operands in InstCombiner::visitPHINode(), by Jay Foad · 13 years ago
  63. 7a2bdde Fix a ton of comment typos found by codespell. Patch by by Chris Lattner · 13 years ago
  64. 3ec01b7 Add an instcombine for constructs like a | -(b != c); a select is more by Eli Friedman · 13 years ago
  65. f93f7b2 Reapply r129401 with patch for clang. by Bill Wendling · 13 years ago
  66. f9b2dc6 Revert r129401 for now. Clang is using the old way of doing things. by Bill Wendling · 13 years ago
  67. d5f323d Remove the unaligned load intrinsics in favor of using native unaligned loads. by Bill Wendling · 13 years ago
  68. 562b84b Don't include Operator.h from InstrTypes.h. by Jay Foad · 13 years ago
  69. 0286ca8 InstCombine optimizes gep(bitcast(x)) even when the bitcasts casts away address by Nadav Rotem · 13 years ago
  70. f5b7593 While SimplifyDemandedBits constant folds this, we can't rely on it here. by Benjamin Kramer · 13 years ago
  71. 406a650 Fix comment. by Benjamin Kramer · 13 years ago
  72. 5337fab Tweaks to the icmp+sext-to-shifts optimization to address Frits' comments: by Benjamin Kramer · 13 years ago
  73. ce1498b Fix build. by Benjamin Kramer · 13 years ago
  74. 0baa94a InstCombine: Turn icmp + sext into bitwise/integer ops when the input has only one unknown bit. by Benjamin Kramer · 13 years ago
  75. 0a30c42 InstCombine: Move (sext icmp) transforms into their own method. No intended functionality change. by Benjamin Kramer · 13 years ago
  76. 0ff8a4f Instcombile optimization: extractelement(cast) -> cast(extractelement) by Nadav Rotem · 13 years ago
  77. 7ebdc37 InstCombine: APFloat can't perform arithmetic on PPC double doubles, don't even try. by Benjamin Kramer · 13 years ago
  78. 00e00d6 InstCombine: Fix transform to use the swapped predicate. by Benjamin Kramer · 13 years ago
  79. 68b4bd0 InstCombine: fold fcmp (fneg x), (fneg y) -> fcmp x, y by Benjamin Kramer · 13 years ago
  80. 0db5018 InstCombine: fold fcmp pred (fneg x), C -> fcmp swap(pred) x, -C by Benjamin Kramer · 13 years ago
  81. b194bdc InstCombine: Shrink "fcmp (fpext x), C" to "fcmp x, C" if C can be losslessly converted to the type of x. by Benjamin Kramer · 13 years ago
  82. cd0274c InstCombine: fold fcmp (fpext x), (fpext y) -> fcmp x, y. by Benjamin Kramer · 13 years ago
  83. 5467396 InstCombine: If the divisor of an fdiv has an exact inverse, turn it into an fmul. by Benjamin Kramer · 13 years ago
  84. 3ecfc86 Remove PHINode::reserveOperandSpace(). Instead, add a parameter to by Jay Foad · 13 years ago
  85. d8b4fb4 (Almost) always call reserveOperandSpace() on newly created PHINodes. by Jay Foad · 13 years ago
  86. 9822b86 InstCombine: Add a few missing combines for ANDs and ORs of sign bit tests. by Benjamin Kramer · 13 years ago
  87. 2bf026e Remove tabs I accidentally added. by Nick Lewycky · 13 years ago
  88. fd4a5497 Make more use of PHINode::getNumIncomingValues(). by Jay Foad · 13 years ago
  89. f56762a Add some debug output when -instcombine uses RAUW. This can make debug output for those cases much clearer since without this it only showed that the original instruction was removed, not what it was replaced with. by Frits van Bommel · 13 years ago
  90. 675619c Teach the transformation that moves binary operators around selects to preserve by Nick Lewycky · 13 years ago
  91. d655e6e Use APInt's umul_ov instead of rolling our own overflow detection. by Benjamin Kramer · 13 years ago
  92. 98cd750 Add a small missed optimization: turn X == C ? X : Y into X == C ? C : Y. This by Nick Lewycky · 13 years ago
  93. 813c9a0 Try to not lose variable's debug info during instcombine. by Devang Patel · 14 years ago
  94. b9b80c3 If we don't know how long a string is we can't fold an _chk version to the by Eric Christopher · 14 years ago
  95. 948d9e7 This case is solved by Scalar Replacement of Aggregates (DT) and by Jin-Gu Kang · 14 years ago
  96. 198e97c Add comment as following: by Jin-Gu Kang · 14 years ago
  97. c5c03f9 This patch removes some of useless instructions generated by bitfield access. by Jin-Gu Kang · 14 years ago
  98. 6b49725 InstCombine: Fix a thinko where transform an icmp under the assumption that it's a zero comparison when it's not. by Benjamin Kramer · 14 years ago
  99. 6b96fe7 InstCombine: Turn umul_with_overflow into mul nuw if we can prove that it cannot overflow. by Benjamin Kramer · 14 years ago
  100. c6b018b PR9346: Prevent SimplifyDemandedBits from incorrectly introducing INT_MIN % -1. by Eli Friedman · 14 years ago