[PATCH] D12087: always_inline codegen rewrite

Evgenii Stepanov via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 11 16:45:33 PDT 2015


Does it say that there is no entry basic block? I.e. the output
apparently looks like

define void @h() #1 {
  store void ()* @f1, void ()** @p, align 8

Could you confirm it? Never seen this behavior.

I'm going to revert the change due to this and also one broken gdb
test (something wrong with debug info in the code that has been
always-inlined twice).



On Fri, Sep 11, 2015 at 4:24 PM, H.J. Lu <hjl.tools at gmail.com> wrote:
> On Fri, Sep 11, 2015 at 1:31 PM, Evgeniy Stepanov via cfe-commits
> <cfe-commits at lists.llvm.org> wrote:
>> eugenis closed this revision.
>> eugenis added a comment.
>>
>> r247465, thanks for the review!
>>
>
> On Fedora 22/x86-64, I got
>
> FAIL: Clang :: CodeGen/always_inline.c (3049 of 26132)
> ******************** TEST 'Clang :: CodeGen/always_inline.c' FAILED
> ********************
> Script:
> --
> /export/build/gnu/llvm-clang/build-x86_64-linux/./bin/clang  -target
> x86_64-pc-linux-gnu -emit-llvm -S -o -
> /export/gnu/import/git/llvm/tools/clang/test/CodeGen/always_inline.c |
> /export/build/gnu/llvm-clang/build-x86_64-linux/./bin/FileCheck
> /export/gnu/import/git/llvm/tools/clang/test/CodeGen/always_inline.c
> /export/build/gnu/llvm-clang/build-x86_64-linux/./bin/clang  -target
> x86_64-pc-linux-gnu -mllvm -disable-llvm-optzns -emit-llvm -S -o -
> /export/gnu/import/git/llvm/tools/clang/test/CodeGen/always_inline.c |
> /export/build/gnu/llvm-clang/build-x86_64-linux/./bin/FileCheck
> /export/gnu/import/git/llvm/tools/clang/test/CodeGen/always_inline.c
> --check-prefix=CHECK-NO-OPTZNS
> --
> Exit Code: 1
>
> Command Output (stderr):
> --
> /export/gnu/import/git/llvm/tools/clang/test/CodeGen/always_inline.c:26:26:
> error: expected string not found in input
> // CHECK-NO-OPTZNS-NEXT: entry:
>                          ^
> <stdin>:24:18: note: scanning from here
> define i32 @f3() #0 {
>                  ^
> <stdin>:29:12: note: possible intended match here
> ; Function Attrs: alwaysinline nounwind uwtable
>            ^
>
> --
>
> ********************
> Testing: 0 ..
> FAIL: Clang :: CodeGen/always_inline-wrappers.c (3052 of 26132)
> ******************** TEST 'Clang :: CodeGen/always_inline-wrappers.c'
> FAILED ********************
> Script:
> --
> /export/build/gnu/llvm-clang/build-x86_64-linux/./bin/clang -cc1
> -internal-isystem
> /export/build/gnu/llvm-clang/build-x86_64-linux/bin/../lib/clang/3.8.0/include
> -nostdsysteminc -disable-llvm-optzns -emit-llvm
> /export/gnu/import/git/llvm/tools/clang/test/CodeGen/always_inline-wrappers.c
> -o - | /export/build/gnu/llvm-clang/build-x86_64-linux/./bin/FileCheck
> /export/gnu/import/git/llvm/tools/clang/test/CodeGen/always_inline-wrappers.c
> --check-prefix=CHECK --check-prefix=CHECK-INLINE
> /export/build/gnu/llvm-clang/build-x86_64-linux/./bin/clang -cc1
> -internal-isystem
> /export/build/gnu/llvm-clang/build-x86_64-linux/bin/../lib/clang/3.8.0/include
> -nostdsysteminc -disable-llvm-optzns -emit-llvm
> /export/gnu/import/git/llvm/tools/clang/test/CodeGen/always_inline-wrappers.c
> -o - | /export/build/gnu/llvm-clang/build-x86_64-linux/./bin/FileCheck
> /export/gnu/import/git/llvm/tools/clang/test/CodeGen/always_inline-wrappers.c
> --check-prefix=CHECK-USE
> /export/build/gnu/llvm-clang/build-x86_64-linux/./bin/clang -cc1
> -internal-isystem
> /export/build/gnu/llvm-clang/build-x86_64-linux/bin/../lib/clang/3.8.0/include
> -nostdsysteminc -disable-llvm-optzns -fno-inline -emit-llvm
> /export/gnu/import/git/llvm/tools/clang/test/CodeGen/always_inline-wrappers.c
> -o - | /export/build/gnu/llvm-clang/build-x86_64-linux/./bin/FileCheck
> /export/gnu/import/git/llvm/tools/clang/test/CodeGen/always_inline-wrappers.c
> --check-prefix=CHECK
> /export/build/gnu/llvm-clang/build-x86_64-linux/./bin/clang -cc1
> -internal-isystem
> /export/build/gnu/llvm-clang/build-x86_64-linux/bin/../lib/clang/3.8.0/include
> -nostdsysteminc -disable-llvm-optzns -fno-inline -emit-llvm
> /export/gnu/import/git/llvm/tools/clang/test/CodeGen/always_inline-wrappers.c
> -o - | /export/build/gnu/llvm-clang/build-x86_64-linux/./bin/FileCheck
> /export/gnu/import/git/llvm/tools/clang/test/CodeGen/always_inline-wrappers.c
> --check-prefix=CHECK-USE
> --
> Exit Code: 1
>
> Command Output (stderr):
> --
> /export/gnu/import/git/llvm/tools/clang/test/CodeGen/always_inline-wrappers.c:85:20:
> error: expected string not found in input
> // CHECK-USE-NEXT: entry:
>                    ^
> <stdin>:47:18: note: scanning from here
> define void @g() #1 {
>                  ^
> <stdin>:58:12: note: possible intended match here
> ; Function Attrs: nounwind
>            ^
> /export/gnu/import/git/llvm/tools/clang/test/CodeGen/always_inline-wrappers.c:96:20:
> error: CHECK-USE-NEXT: is not on the line after the previous match
> // CHECK-USE-NEXT: entry:
>                    ^
> <stdin>:79:1: note: 'next' match was here
> entry:
> ^
> <stdin>:59:17: note: previous match ended here
> define void @h() #1 {
>                 ^
> <stdin>:60:1: note: non-matching line after previous match is here
>  store void ()* @f1, void ()** @p, align 8
> ^
>
> --
>
>
> --
> H.J.


More information about the cfe-commits mailing list