[WebAssembly] Don't use setRequiresStructuredCFG(true).
authorDan Gohman <dan433584@gmail.com>
Thu, 18 Feb 2016 06:32:53 +0000 (06:32 +0000)
committerDan Gohman <dan433584@gmail.com>
Thu, 18 Feb 2016 06:32:53 +0000 (06:32 +0000)
commitd85ab7fc103b163494046317120ad57055a2b7db
tree08061988eeb96938752d45b07c019e7cc7c8c452
parentac697c5d8ecf96d4af15c29f72bbb8f898e3b8f5
[WebAssembly] Don't use setRequiresStructuredCFG(true).

While we still do want reducible control flow, the RequiresStructuredCFG
flag imposes more strict structure constraints than WebAssembly wants.
Unsetting this flag enables critical edge splitting and tail merging.

Also, disable TailDuplication explicitly, as it doesn't support virtual
registers, and was previously only disabled by the RequiresStructuredCFG
flag.

llvm-svn: 261190
llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
llvm/test/CodeGen/WebAssembly/cfg-stackify.ll