[PATCH] D26348: Allow convergent attribute for function arguments
Nicolai Hähnle via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 16 15:04:09 PST 2016
nhaehnle updated this revision to Diff 78270.
nhaehnle added a comment.
@mehdi_amini: I changed Intrinsics.td like I suggested, so that only LangRef
should matter.
In LangRef, I removed the 'source of divergence' part and instead made the
definition of compatibility with two runs as discussed in the sub-thread
with @jlebar more explicit. I don't know if that's more to your taste, at
least I couldn't find anything clearly wrong with it yet.
@hfinkel: I'm not sure what you were replying to exactly. The current
version does not talk about control-dependencies anymore at all, because
that language does not make it obvious what should happen with Mehdi's
example, i.e. you're not allowed to eliminate the branches in:
if (cond) {
Tmp1 = Foo(v [convergent])
} else {
Tmp2 = Foo(v [convergent])
}
Tmp3 = phi [Tmp1, Tmp2]
"Control-dependencies on a value" doesn't really capture that. Unless you
understand that the control-dependencies of a value depend on which basic
block you're reading the value in. But that's not how people would
generally understand it, right?
https://reviews.llvm.org/D26348
Files:
docs/LangRef.rst
include/llvm/IR/Instructions.h
include/llvm/IR/Intrinsics.td
include/llvm/IR/IntrinsicsAMDGPU.td
lib/AsmParser/LLParser.cpp
lib/IR/Verifier.cpp
lib/Transforms/Scalar/GVNHoist.cpp
lib/Transforms/Utils/SimplifyCFG.cpp
test/Bitcode/attributes.ll
test/Transforms/GVNHoist/hoist-convergent.ll
test/Transforms/InstCombine/select-call.ll
test/Transforms/SimplifyCFG/convergent.ll
utils/TableGen/CodeGenIntrinsics.h
utils/TableGen/CodeGenTarget.cpp
utils/TableGen/IntrinsicEmitter.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26348.78270.patch
Type: text/x-patch
Size: 15792 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161116/f2df12ad/attachment.bin>
More information about the llvm-commits
mailing list