Lines Matching refs:WebAssembly

1 //=- WebAssemblyISelLowering.cpp - WebAssembly DAG Lowering Implementation -==//
100 // WebAssembly does not produce floating-point exceptions on normal floating
107 Subtarget->hasAddr64() ? WebAssembly::SP64 : WebAssembly::SP32);
109 addRegisterClass(MVT::i32, &WebAssembly::I32RegClass);
110 addRegisterClass(MVT::i64, &WebAssembly::I64RegClass);
111 addRegisterClass(MVT::f32, &WebAssembly::F32RegClass);
112 addRegisterClass(MVT::f64, &WebAssembly::F64RegClass);
179 // WebAssembly doesn't have:
195 return WebAssembly::createFastISel(FuncInfo, LibInfo);
240 // WebAssembly register class.
247 return std::make_pair(0U, &WebAssembly::I32RegClass);
249 return std::make_pair(0U, &WebAssembly::I64RegClass);
274 // WebAssembly offsets are added as unsigned without wrapping. The
280 // WebAssembly has no scale register operands.
289 // WebAssembly Lowering private implementation.
327 "WebAssembly doesn't support language-specific or target-specific "
330 fail(DL, DAG, "WebAssembly doesn't support patch point yet");
332 // WebAssembly doesn't currently support explicit tail calls. If they are
337 fail(DL, DAG, "WebAssembly doesn't support tail call yet");
344 fail(DL, DAG, "WebAssembly doesn't support more than 1 returned value yet");
349 fail(DL, DAG, "WebAssembly hasn't implemented byval arguments");
351 fail(DL, DAG, "WebAssembly hasn't implemented nest arguments");
353 fail(DL, DAG, "WebAssembly hasn't implemented inalloca arguments");
355 fail(DL, DAG, "WebAssembly hasn't implemented cons regs arguments");
357 fail(DL, DAG, "WebAssembly hasn't implemented cons regs last arguments");
431 fail(DL, DAG, "WebAssembly hasn't implemented inalloca return values");
433 fail(DL, DAG, "WebAssembly hasn't implemented cons regs return values");
436 "WebAssembly hasn't implemented cons regs last return values");
465 // WebAssembly can't currently handle returning tuples.
474 assert(Outs.size() <= 1 && "WebAssembly can only return up to one value");
476 fail(DL, DAG, "WebAssembly doesn't support non-C calling conventions");
488 fail(DL, DAG, "WebAssembly hasn't implemented inalloca results");
490 fail(DL, DAG, "WebAssembly hasn't implemented cons regs results");
492 fail(DL, DAG, "WebAssembly hasn't implemented cons regs last results");
505 fail(DL, DAG, "WebAssembly doesn't support non-C calling conventions");
509 MF.getRegInfo().addLiveIn(WebAssembly::ARGUMENTS);
513 fail(DL, DAG, "WebAssembly hasn't implemented byval arguments");
515 fail(DL, DAG, "WebAssembly hasn't implemented inalloca arguments");
517 fail(DL, DAG, "WebAssembly hasn't implemented nest arguments");
519 fail(DL, DAG, "WebAssembly hasn't implemented cons regs arguments");
521 fail(DL, DAG, "WebAssembly hasn't implemented cons regs last arguments");
576 assert(GA->getTargetFlags() == 0 && "WebAssembly doesn't set target flags");
578 fail(DL, DAG, "WebAssembly only expects the 0 address space");
590 assert(ES->getTargetFlags() == 0 && "WebAssembly doesn't set target flags");
611 assert(JT->getTargetFlags() == 0 && "WebAssembly doesn't set target flags");
650 // WebAssembly Optimization Hooks