Introduce MetadataBase, a base class for MDString and MDNode.

Derive MDString directly from MetadataBase. 
Introduce new bitcode block to hold metadata.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76759 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel
2009-07-22 17:43:22 +00:00
parent dbe77cfa0b
commit e54abc90fe
16 changed files with 231 additions and 130 deletions

View File

@@ -1,11 +1,13 @@
; RUN: llvm-as < %s | llvm-dis | not grep undef
declare i8 @llvm.something(metadata %a)
declare i8 @llvm.something(metadata %a, i32 %b, metadata %c)
@llvm.foo = internal constant metadata !{i17 123, null, metadata !"foobar"}
;; Simple MDNode
!21 = metadata !{i17 123, null, metadata !"foobar"}
define void @foo() {
%x = call i8 @llvm.something(metadata !{metadata !"f\00oa", i42 123})
;; Intrinsic using MDNode and MDString
%x = call i8 @llvm.something(metadata !21, i32 42, metadata !"bar")
ret void
}

View File

@@ -1,4 +0,0 @@
; RUN: llvm-as < %s | llc -f -o /dev/null
@llvm.foo = constant metadata !{i17 123, null, metadata !"foobar"}
@llvm.bar = constant metadata !"barbar"