//===----------------------------------------------------------------------===//
bool CTargetMachine::addPassesToEmitAssembly(PassManager &PM, std::ostream &o) {
+ PM.add(createLowerGCPass());
PM.add(createLowerAllocationsPass());
PM.add(createLowerInvokePass());
PM.add(new CBackendNameAllUsedStructs());
//===----------------------------------------------------------------------===//
bool CTargetMachine::addPassesToEmitAssembly(PassManager &PM, std::ostream &o) {
+ PM.add(createLowerGCPass());
PM.add(createLowerAllocationsPass());
PM.add(createLowerInvokePass());
PM.add(new CBackendNameAllUsedStructs());
bool
SparcV9TargetMachine::addPassesToEmitAssembly(PassManager &PM, std::ostream &Out)
{
+ // FIXME: Implement efficient support for garbage collection intrinsics.
+ PM.add(createLowerGCPass());
+
// Replace malloc and free instructions with library calls.
PM.add(createLowerAllocationsPass());
/// generation for the UltraSparcV9.
///
void SparcV9JITInfo::addPassesToJITCompile(FunctionPassManager &PM) {
+ // FIXME: Implement efficient support for garbage collection intrinsics.
+ PM.add(createLowerGCPass());
+
// Replace malloc and free instructions with library calls.
PM.add(createLowerAllocationsPass());
// does to emit statically compiled machine code.
bool X86TargetMachine::addPassesToEmitAssembly(PassManager &PM,
std::ostream &Out) {
+ // FIXME: Implement efficient support for garbage collection intrinsics.
+ PM.add(createLowerGCPass());
+
// FIXME: Implement the invoke/unwind instructions!
PM.add(createLowerInvokePass());
/// not supported for this target.
///
void X86JITInfo::addPassesToJITCompile(FunctionPassManager &PM) {
+ // FIXME: Implement efficient support for garbage collection intrinsics.
+ PM.add(createLowerGCPass());
// FIXME: Implement the invoke/unwind instructions!
PM.add(createLowerInvokePass());