Thanks. I just reproduced it on release w/o asserts build and fixed locally. The other problem is fixed as well, I'll try re-landing now. I'll keep an eye on the bot later today and will revert again if necessary.
On Fri, Sep 11, 2015 at 6:02 PM, H.J. Lu <hjl.to...@gmail.com> wrote: > On Fri, Sep 11, 2015 at 4:45 PM, Evgenii Stepanov <euge...@google.com> wrote: >> 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). > > I got > > [hjl@gnu-mic-2 llvm-clang]$ > /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 > ; ModuleID = > '/export/gnu/import/git/llvm/tools/clang/test/CodeGen/always_inline.c' > target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" > target triple = "x86_64-pc-linux-gnu" > > ; Function Attrs: nounwind uwtable > define i32 @f1() #0 { > %1 = call i32 @f0.alwaysinline() > ret i32 %1 > } > > ; Function Attrs: alwaysinline inlinehint nounwind uwtable > define internal i32 @f2.alwaysinline() #1 { > ret i32 7 > } > > ; Function Attrs: inlinehint nounwind uwtable > define i32 @f2() #2 { > entry: > %0 = musttail call i32 @f2.alwaysinline() #2 > ret i32 %0 > } > > ; Function Attrs: nounwind uwtable > define i32 @f3() #0 { > %1 = call i32 @f2.alwaysinline() > ret i32 %1 > } > > ; Function Attrs: alwaysinline nounwind uwtable > define internal i32 @f0.alwaysinline() #3 { > ret i32 1 > } > > attributes #0 = { nounwind uwtable "disable-tail-calls"="false" > "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" > "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" > "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" > "target-cpu"="x86-64" "target-features"="+sse,+sse2" > "unsafe-fp-math"="false" "use-soft-float"="false" } > attributes #1 = { alwaysinline inlinehint nounwind uwtable > "disable-tail-calls"="false" "less-precise-fpmad"="false" > "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" > "no-infs-fp-math"="false" "no-nans-fp-math"="false" > "stack-protector-buffer-size"="8" "target-cpu"="x86-64" > "target-features"="+sse,+sse2" "unsafe-fp-math"="false" > "use-soft-float"="false" } > attributes #2 = { inlinehint nounwind uwtable > "disable-tail-calls"="false" "less-precise-fpmad"="false" > "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" > "no-infs-fp-math"="false" "no-nans-fp-math"="false" > "stack-protector-buffer-size"="8" "target-cpu"="x86-64" > "target-features"="+sse,+sse2" "unsafe-fp-math"="false" > "use-soft-float"="false" } > attributes #3 = { alwaysinline nounwind uwtable > "disable-tail-calls"="false" "less-precise-fpmad"="false" > "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" > "no-infs-fp-math"="false" "no-nans-fp-math"="false" > "stack-protector-buffer-size"="8" "target-cpu"="x86-64" > "target-features"="+sse,+sse2" "unsafe-fp-math"="false" > "use-soft-float"="false" } > > !llvm.ident = !{!0} > > !0 = !{!"clang version 3.8.0 (http://llvm.org/git/clang.git > 4c682cf50f928f82e286df97d10a3d1fcf68e1a1) > (http://llvm.org/git/llvm.git > 125be70dbf9784ef4fab69633afa067c1cceffc9)"} > [hjl@gnu-mic-2 llvm-clang]$ > [hjl@gnu-mic-2 llvm-clang]$ > /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 > /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 > ^ > [hjl@gnu-mic-2 llvm-clang]$ _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits