diff options
author | Reid Kleckner <rnk@google.com> | 2016-06-24 18:42:58 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2016-06-24 18:42:58 +0000 |
commit | c0b6cd2c104fdd3f7a8b147a73a3121de034ffea (patch) | |
tree | 3cf21dc3714d8cbabf9aa01b5b61bb8f25e895c0 /include | |
parent | efe34a4c9d9f7cf42c0c1043bf3a652bb1aead66 (diff) |
Revert "InstCombine rule to fold trunc when value available"
This reverts commit r273608.
Broke building code with sanitizers, where apparently these kinds of
loads, casts, and truncations are common:
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/24502
http://crbug.com/623099
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273703 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Analysis/Loads.h | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/include/llvm/Analysis/Loads.h b/include/llvm/Analysis/Loads.h index cf1f5bbfb44..9d24b7b2928 100644 --- a/include/llvm/Analysis/Loads.h +++ b/include/llvm/Analysis/Loads.h @@ -61,38 +61,6 @@ bool isSafeToLoadUnconditionally(Value *V, unsigned Align, /// to scan in the block, used by FindAvailableLoadedValue(). extern cl::opt<unsigned> DefMaxInstsToScan; -/// Scan the ScanBB block backwards checking to see if we have the value at -/// the memory address \p Ptr of type \p AccessTy locally available within a -/// small number of instructions. If the value is available, return it. -/// -/// If not, return the iterator for the last validated instruction that the -/// value would be live through. If we scanned the entire block and didn't -/// find something that invalidates *Ptr or provides it, ScanFrom would be -/// left at begin() and this returns null. ScanFrom could also be left -/// -/// MaxInstsToScan specifies the maximum instructions to scan in the block. -/// If it is set to 0, it will scan the whole block. You can also optionally -/// specify an alias analysis implementation, which makes this more precise. -/// -/// If AATags is non-null and a load or store is found, the AA tags from the -/// load or store are recorded there. If there are no AA tags or if no access -/// is found, it is left unmodified. -/// -/// IsAtomicMemOp specifies the atomicity of the memory operation that accesses -/// \p *Ptr. We verify atomicity constraints are satisfied when value forwarding -/// from another memory operation that has value \p *Ptr available. -/// -/// Note that we assume the \p *Ptr is accessed through a non-volatile but -/// potentially atomic load. Any other constraints should be verified at the -/// caller. -Value *FindAvailableLoadedValue(Value *Ptr, Type *AccessTy, bool IsAtomicMemOp, - BasicBlock *ScanBB, - BasicBlock::iterator &ScanFrom, - unsigned MaxInstsToScan, - AliasAnalysis *AA = nullptr, - AAMDNodes *AATags = nullptr, - bool *IsLoadCSE = nullptr); - /// FindAvailableLoadedValue - Scan the ScanBB block backwards (starting at /// the instruction before ScanFrom) checking to see if we have the value at /// the memory address *Ptr locally available within a small number of |