aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
diff options
context:
space:
mode:
authorDan Gohman <dan433584@gmail.com>2015-11-25 18:13:18 +0000
committerDan Gohman <dan433584@gmail.com>2015-11-25 18:13:18 +0000
commit9c54d3b4c6a66b970b37014e5b5c0b1af631dcfe (patch)
treeef636f747be5b88683d2e96510b6e4b932c3c875 /llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
parent5de07b078d47b476819e341178e25d9d58042429 (diff)
downloadllvm-9c54d3b4c6a66b970b37014e5b5c0b1af631dcfe.zip
llvm-9c54d3b4c6a66b970b37014e5b5c0b1af631dcfe.tar.gz
llvm-9c54d3b4c6a66b970b37014e5b5c0b1af631dcfe.tar.bz2
[WebAssembly] Clean up several FIXME comments.
llvm-svn: 254079
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp')
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
index 493e4be..2933294 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
@@ -134,9 +134,8 @@ FunctionPass *WebAssemblyPassConfig::createTargetRegisterAllocator(bool) {
//===----------------------------------------------------------------------===//
void WebAssemblyPassConfig::addIRPasses() {
- // FIXME: the default for this option is currently POSIX, whereas
- // WebAssembly's MVP should default to Single.
if (TM->Options.ThreadModel == ThreadModel::Single)
+ // In "single" mode, atomics get lowered to non-atomics.
addPass(createLowerAtomicPass());
else
// Expand some atomic operations. WebAssemblyTargetLowering has hooks which
@@ -168,8 +167,9 @@ void WebAssemblyPassConfig::addPreRegAlloc() {
}
void WebAssemblyPassConfig::addPostRegAlloc() {
- // FIXME: the following passes dislike virtual registers. Disable them for now
- // so that basic tests can pass. Future patches will remedy this.
+ // TODO: The following CodeGen passes don't currently support code containing
+ // virtual registers. Consider removing their restrictions and re-enabling
+ // them.
//
// Fails with: Regalloc must assign all vregs.
disablePass(&PrologEpilogCodeInserterID);