forked from OSchip/llvm-project
Add support for accurate garbage collection to the LLVM code generators
llvm-svn: 13696
This commit is contained in:
parent
3ef067ff33
commit
6e4edd65ab
|
@ -1498,6 +1498,7 @@ void CWriter::visitVAArgInst(VAArgInst &I) {
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
bool CTargetMachine::addPassesToEmitAssembly(PassManager &PM, std::ostream &o) {
|
||||
PM.add(createLowerGCPass());
|
||||
PM.add(createLowerAllocationsPass());
|
||||
PM.add(createLowerInvokePass());
|
||||
PM.add(new CBackendNameAllUsedStructs());
|
||||
|
|
|
@ -125,6 +125,9 @@ SparcV9TargetMachine::SparcV9TargetMachine(IntrinsicLowering *il)
|
|||
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());
|
||||
|
||||
|
@ -199,6 +202,9 @@ SparcV9TargetMachine::addPassesToEmitAssembly(PassManager &PM, std::ostream &Out
|
|||
/// 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());
|
||||
|
||||
|
|
|
@ -59,6 +59,9 @@ X86TargetMachine::X86TargetMachine(const Module &M, IntrinsicLowering *IL)
|
|||
// 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());
|
||||
|
||||
|
@ -117,6 +120,8 @@ bool X86TargetMachine::addPassesToEmitAssembly(PassManager &PM,
|
|||
/// 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());
|
||||
|
|
Loading…
Reference in New Issue