Dan Gohman | 1880092 | 2009-09-11 18:01:28 +0000 | [diff] [blame] | 1 | ; RUN: opt < %s -globalopt -S | not grep global |
Chris Lattner | ed8d767 | 2004-10-09 21:50:05 +0000 | [diff] [blame] | 2 | |
Tanya Lattner | 5640bd1 | 2008-03-01 09:15:35 +0000 | [diff] [blame] | 3 | @G = internal global void ()* null ; <void ()**> [#uses=2] |
Chris Lattner | ed8d767 | 2004-10-09 21:50:05 +0000 | [diff] [blame] | 4 | |
Tanya Lattner | 5640bd1 | 2008-03-01 09:15:35 +0000 | [diff] [blame] | 5 | define internal void @Actual() { |
6 | ret void | ||||
Chris Lattner | ed8d767 | 2004-10-09 21:50:05 +0000 | [diff] [blame] | 7 | } |
8 | |||||
Tanya Lattner | 5640bd1 | 2008-03-01 09:15:35 +0000 | [diff] [blame] | 9 | define void @init() { |
10 | store void ()* @Actual, void ()** @G | ||||
11 | ret void | ||||
Chris Lattner | ed8d767 | 2004-10-09 21:50:05 +0000 | [diff] [blame] | 12 | } |
13 | |||||
Tanya Lattner | 5640bd1 | 2008-03-01 09:15:35 +0000 | [diff] [blame] | 14 | define void @doit() { |
David Blaikie | a79ac14 | 2015-02-27 21:17:42 +0000 | [diff] [blame^] | 15 | %FP = load void ()*, void ()** @G ; <void ()*> [#uses=1] |
Tanya Lattner | 5640bd1 | 2008-03-01 09:15:35 +0000 | [diff] [blame] | 16 | call void %FP( ) |
17 | ret void | ||||
Chris Lattner | ed8d767 | 2004-10-09 21:50:05 +0000 | [diff] [blame] | 18 | } |
Tanya Lattner | 5640bd1 | 2008-03-01 09:15:35 +0000 | [diff] [blame] | 19 |