
According to the IR verifier, "Declaration[s] may not be in a Comdat!" This is a re-commit of 76b3f0b4d5a0b8c54147c4c73a30892bbca76467 and 87d7838202267a011639fcbf97263556ccf091dc with updates to the test: * Force emission of the extra-module, to trigger the bug after D138264, by providing a second symbol @g, and making the comdat nodeduplicate. (Technically only one is needed, but two should be safer.) * Name the comdat $f to avoid failure on Windows: LLVM ERROR: Associative COMDAT symbol 'c' does not exist. * Mark the test as UNSUPPORTED on macOS, MachO doesn't support COMDATs. Differential Revision: https://reviews.llvm.org/D142443
13 lines
135 B
LLVM
13 lines
135 B
LLVM
define i32 @g() {
|
|
entry:
|
|
ret i32 0
|
|
}
|
|
|
|
$f = comdat nodeduplicate
|
|
|
|
define i32 @f() comdat {
|
|
entry:
|
|
%0 = call i32 @g()
|
|
ret i32 %0
|
|
}
|