extract-linkonce.ll 547 B

123456789101112131415161718192021222324
  1. ; RUN: llvm-extract -func foo -S < %s | FileCheck %s
  2. ; RUN: llvm-extract -delete -func foo -S < %s | FileCheck --check-prefix=DELETE %s
  3. ; Test that linkonce definitions are mapped to weak so that they are not
  4. ; dropped.
  5. ; CHECK: @bar = external global i32
  6. ; CHECK: define weak i32* @foo() {
  7. ; CHECK-NEXT: ret i32* @bar
  8. ; CHECK-NEXT: }
  9. ; DELETE: @bar = weak global i32 42
  10. ; DELETE: declare i32* @foo()
  11. @bar = linkonce global i32 42
  12. define linkonce i32* @foo() {
  13. ret i32* @bar
  14. }
  15. define void @g() {
  16. call i32* @foo()
  17. ret void
  18. }