HomePhabricator

[LOOPINFO] Introduce the loop guard API. Summary: This is the first patch for…

Authored by Whitney on Jul 25 2019, 9:13 AM.

Description

[LOOPINFO] Introduce the loop guard API. Summary: This is the first patch for the loop guard. We introduced getLoopGuardBranch() and isGuarded(). This currently only works on simplified loop, as it requires a preheader and a latch to identify the guard. It will work on loops of the form: / GuardBB: / br cond1, Preheader, ExitSucc <== GuardBranch / Preheader: / br Header / Header: / ... / br Latch / Latch: / br cond2, Header, ExitBlock / ExitBlock: / br ExitSucc / ExitSucc: Prior discussions leading upto the decision to introduce the loop guard API: http://lists.llvm.org/pipermail/llvm-dev/2019-May/132607.html Reviewer: reames, kbarton, hfinkel, jdoerfert, Meinersbur, dmgreen Reviewed By: reames Subscribers: wuzish, hiraditya, jsji, llvm-commits, bmahjour, etiotto Tag: LLVM Differential Revision: https://reviews.llvm.org/D63885

llvm-svn: 367033

Details

Committed
WhitneyJul 25 2019, 9:13 AM
Parents
rGdbc0a5df8d5f: Allow prefetching from non-zero address spaces
Branches
Unknown
Tags
Unknown