mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 17:32:19 +00:00
Add support for accurate garbage collection to the LLVM code generators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13696 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
df04097f87
commit
99c59e8e21
@ -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());
|
||||
|
@ -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…
x
Reference in New Issue
Block a user