Basis of dropping uses in llvm.assume.
authorTyker <tyker1@outlook.com>
Wed, 11 Mar 2020 23:39:05 +0000 (00:39 +0100)
committerTyker <tyker1@outlook.com>
Thu, 12 Mar 2020 09:10:22 +0000 (10:10 +0100)
commitf16f139db40e6bf6462ca831eb1ec423c50aeef2
treeffae5bfa957f78f21faba99010f0c7b0365c7e6d
parent61211fec864917cfc24988c21853d19747e6a1e4
Basis of dropping uses in llvm.assume.

Summary: This patch adds the basic utilities to deal with dropable uses. dropable uses are uses that we rather drop than prevent transformations, for now they are limited to uses in llvm.assume.

Reviewers: jdoerfert, sstefan1

Reviewed By: jdoerfert

Subscribers: uenoku, lebedev.ri, mgorny, hiraditya, dexonsmith, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D73404
llvm/docs/LangRef.rst
llvm/include/llvm/IR/User.h
llvm/include/llvm/IR/Value.h
llvm/lib/IR/KnowledgeRetention.cpp
llvm/lib/IR/User.cpp
llvm/lib/IR/Value.cpp
llvm/lib/IR/Verifier.cpp
llvm/unittests/IR/KnowledgeRetentionTest.cpp