switch GC_LABEL to use an MCSymbol operand instead of a label ID operand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98474 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2010-03-14 07:27:07 +00:00
parent f14645cc64
commit aba9bcb9b6
7 changed files with 40 additions and 44 deletions

View File

@@ -38,12 +38,10 @@
#include "llvm/ADT/StringMap.h"
namespace llvm {
class AsmPrinter;
class GCStrategy;
class Constant;
class MCAsmInfo;
class MCSymbol;
namespace GC {
/// PointKind - The type of a collector-safe point.
@@ -60,9 +58,9 @@ namespace llvm {
///
struct GCPoint {
GC::PointKind Kind; //< The kind of the safe point.
unsigned Num; //< Usually a label.
MCSymbol *Label; //< A label.
GCPoint(GC::PointKind K, unsigned N) : Kind(K), Num(N) {}
GCPoint(GC::PointKind K, MCSymbol *L) : Kind(K), Label(L) {}
};
/// GCRoot - Metadata for a pointer to an object managed by the garbage
@@ -123,8 +121,8 @@ namespace llvm {
/// addSafePoint - Notes the existence of a safe point. Num is the ID of the
/// label just prior to the safe point (if the code generator is using
/// MachineModuleInfo).
void addSafePoint(GC::PointKind Kind, unsigned Num) {
SafePoints.push_back(GCPoint(Kind, Num));
void addSafePoint(GC::PointKind Kind, MCSymbol *Label) {
SafePoints.push_back(GCPoint(Kind, Label));
}
/// getFrameSize/setFrameSize - Records the function's frame size.