Lang Hames | 7b6f99f | 2014-01-08 16:31:16 +0000 | [diff] [blame] | 1 | ; This first line will generate the .o files for the next run line |
NAKAMURA Takumi | eccd28d | 2014-01-13 05:55:10 +0000 | [diff] [blame] | 2 | ; RUN: rm -rf %t.cachedir %t.cachedir2 %t.cachedir3 |
| 3 | ; RUN: mkdir -p %t.cachedir %t.cachedir2 %t.cachedir3 |
Eric Christopher | 79cc1e3 | 2014-09-02 22:28:02 +0000 | [diff] [blame] | 4 | ; RUN: %lli -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll -enable-cache-manager -object-cache-dir=%t.cachedir %s |
Lang Hames | 7b6f99f | 2014-01-08 16:31:16 +0000 | [diff] [blame] | 5 | |
NAKAMURA Takumi | 52f9d38 | 2014-01-10 10:38:23 +0000 | [diff] [blame] | 6 | ; Collect generated objects. |
NAKAMURA Takumi | 52f9d38 | 2014-01-10 10:38:23 +0000 | [diff] [blame] | 7 | ; RUN: find %t.cachedir -type f -name 'multi-module-?.o' -exec mv -v '{}' %t.cachedir2 ';' |
| 8 | |
Lang Hames | 7b6f99f | 2014-01-08 16:31:16 +0000 | [diff] [blame] | 9 | ; This line tests MCJIT object loading |
Eric Christopher | 79cc1e3 | 2014-09-02 22:28:02 +0000 | [diff] [blame] | 10 | ; RUN: %lli -extra-object=%t.cachedir2/multi-module-b.o -extra-object=%t.cachedir2/multi-module-c.o %s |
NAKAMURA Takumi | 52f9d38 | 2014-01-10 10:38:23 +0000 | [diff] [blame] | 11 | |
Lang Hames | 7b6f99f | 2014-01-08 16:31:16 +0000 | [diff] [blame] | 12 | ; These lines put the object files into an archive |
NAKAMURA Takumi | 52f9d38 | 2014-01-10 10:38:23 +0000 | [diff] [blame] | 13 | ; RUN: llvm-ar r %t.cachedir3/load-object.a %t.cachedir2/multi-module-b.o |
| 14 | ; RUN: llvm-ar r %t.cachedir3/load-object.a %t.cachedir2/multi-module-c.o |
Lang Hames | 7b6f99f | 2014-01-08 16:31:16 +0000 | [diff] [blame] | 15 | |
| 16 | ; This line test MCJIT archive loading |
Eric Christopher | 79cc1e3 | 2014-09-02 22:28:02 +0000 | [diff] [blame] | 17 | ; RUN: %lli -extra-archive=%t.cachedir3/load-object.a %s |
Lang Hames | 7b6f99f | 2014-01-08 16:31:16 +0000 | [diff] [blame] | 18 | |
| 19 | declare i32 @FB() |
| 20 | |
| 21 | define i32 @main() { |
| 22 | %r = call i32 @FB( ) ; <i32> [#uses=1] |
| 23 | ret i32 %r |
| 24 | } |