llvm-6502/include/llvm/ADT
David Majnemer dfe81adbce InstCombine: Don't miscompile (x lshr C1) udiv C2
We have a transform that changes:
  (x lshr C1) udiv C2
into:
  x udiv (C2 << C1)

However, it is unsafe to do so if C2 << C1 discards any of C2's bits.

This fixes PR21255.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219634 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-13 21:48:30 +00:00
..
APFloat.h [ADT] Add an (ADL-friendly) abs free function for APFloat that returns 2014-10-10 08:27:22 +00:00
APInt.h InstCombine: Don't miscompile (x lshr C1) udiv C2 2014-10-13 21:48:30 +00:00
APSInt.h APSInt: Simplify code to reduce the number of copies. No functionality change. 2014-10-12 15:36:31 +00:00
ArrayRef.h
BitVector.h
DAGDeltaAlgorithm.h
DeltaAlgorithm.h
DenseMap.h
DenseMapInfo.h
DenseSet.h
DepthFirstIterator.h
edit_distance.h
EquivalenceClasses.h
FoldingSet.h
GraphTraits.h
Hashing.h
ilist_node.h
ilist.h
ImmutableList.h
ImmutableMap.h
ImmutableSet.h
IndexedMap.h
IntEqClasses.h
IntervalMap.h
IntrusiveRefCntPtr.h
iterator_range.h Reformat some stuff I missed in recent previous commits 2014-10-08 23:09:42 +00:00
iterator.h
MapVector.h Add size_t MapVector::erase(KeyT) similar to the one in std::map. 2014-10-07 21:15:51 +00:00
None.h
Optional.h Add an emplace(...) method to llvm::Optional<T>. 2014-10-01 02:12:35 +00:00
PackedVector.h
PointerIntPair.h
PointerUnion.h
PostOrderIterator.h
PriorityQueue.h
SCCIterator.h
ScopedHashTable.h
SetOperations.h
SetVector.h
SmallBitVector.h
SmallPtrSet.h
SmallSet.h
SmallString.h
SmallVector.h
SparseBitVector.h
SparseMultiSet.h
SparseSet.h
Statistic.h
STLExtras.h
StringExtras.h
StringMap.h
StringRef.h Solve Visual C++ warning C4805 on getAsInteger<bool>. 2014-10-04 19:58:30 +00:00
StringSet.h
StringSwitch.h
TinyPtrVector.h
Triple.h
Twine.h Fix typo in comment 2014-10-03 11:55:31 +00:00
UniqueVector.h
VariadicFunction.h