llvm-6502/include/llvm/Transforms/Utils
Jingyue Wu f15b696b79 [NVPTX] Emit .pragma "nounroll" for loops marked with nounroll
Summary:
CUDA driver can unroll loops when jit-compiling PTX. To prevent CUDA
driver from unrolling a loop marked with llvm.loop.unroll.disable is not
unrolled by CUDA driver, we need to emit .pragma "nounroll" at the
header of that loop.

This patch also extracts getting unroll metadata from loop ID metadata
into a shared helper function.

Test Plan: test/CodeGen/NVPTX/nounroll.ll

Reviewers: eliben, meheff, jholewinski

Reviewed By: jholewinski

Subscribers: jholewinski, llvm-commits

Differential Revision: http://reviews.llvm.org/D7041

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227703 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-01 02:27:45 +00:00
..
ASanStackFrameLayout.h
BasicBlockUtils.h Teach SplitBlockPredecessors how to handle landingpad blocks. 2015-01-28 23:06:47 +00:00
BuildLibCalls.h [SimplifyLibCalls] Factor out fortified libcall handling. 2015-01-12 17:22:43 +00:00
BypassSlowDivision.h
Cloning.h
CmpInstAnalysis.h
CodeExtractor.h
CtorUtils.h
GlobalStatus.h
IntegerDivision.h
Local.h Inliner: Use replaceDbgDeclareForAlloca() instead of splicing the 2015-01-30 19:37:48 +00:00
LoopUtils.h
ModuleUtils.h
PromoteMemToReg.h
SimplifyIndVar.h
SimplifyLibCalls.h [SimplifyLibCalls] Don't confuse strcpy_chk for stpcpy_chk. 2015-01-27 21:52:16 +00:00
SSAUpdater.h
SSAUpdaterImpl.h
SymbolRewriter.h
UnifyFunctionExitNodes.h
UnrollLoop.h [NVPTX] Emit .pragma "nounroll" for loops marked with nounroll 2015-02-01 02:27:45 +00:00
ValueMapper.h
VectorUtils.h [PM] Move TargetLibraryInfo into the Analysis library. 2015-01-15 02:16:27 +00:00