llvm-6502/test/Assembler/2007-09-29-GC.ll
Gordon Henriksen 80a75bfae9 Adding a collector name attribute to Function in the IR. These
methods are new to Function:

  bool hasCollector() const;
  const std::string &getCollector() const;
  void setCollector(const std::string &);
  void clearCollector();

The assembly representation is as such:

  define void @f() gc "shadow-stack" { ...

The implementation uses an on-the-side table to map Functions to 
collector names, such that there is no overhead. A StringPool is 
further used to unique collector names, which are extremely
likely to be unique per process.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44769 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-10 03:18:06 +00:00

13 lines
218 B
LLVM

; RUN: llvm-as < %s | llvm-dis | grep {@f.*gc.*shadowstack}
; RUN: llvm-as < %s | llvm-dis | grep {@g.*gc.*java}
define void @f() gc "shadowstack" {
entry:
ret void
}
define void @g() gc "java" {
entry:
ret void
}