diff options
author | Dan Gohman <dan433584@gmail.com> | 2016-03-09 04:17:36 +0000 |
---|---|---|
committer | Dan Gohman <dan433584@gmail.com> | 2016-03-09 04:17:36 +0000 |
commit | ddfa1a6c18afd4cfe78778e7f29145801b6d8fbe (patch) | |
tree | 35bfca092ea550a269016b27d22b63675c7e7521 /llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp | |
parent | 05e5cbf4f2718f6768d424c887c375fcc36be319 (diff) | |
download | bcm5719-llvm-ddfa1a6c18afd4cfe78778e7f29145801b6d8fbe.tar.gz bcm5719-llvm-ddfa1a6c18afd4cfe78778e7f29145801b6d8fbe.zip |
[WebAssembly] Update comments about irreducible control flow.
llvm-svn: 262995
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp index be77222f873..1a7716a5d94 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp @@ -13,6 +13,10 @@ /// loops; they appear as CFG cycles that are not recorded in MachineLoopInfo /// due to being unnatural. /// +/// Note that LLVM has a generic pass that lowers irreducible control flow, but +/// it linearizes control flow, turning diamonds into two triangles, which is +/// both unnecessary and undesirable for WebAssembly. +/// /// TODO: The transformation implemented here handles all irreducible control /// flow, without exponential code-size expansion, though it does so by creating /// inefficient code in many cases. Ideally, we should add other |