[llvm-commits] [llvm] r118608 - /llvm/trunk/lib/Target/README.txt

Nick Lewycky nicholas at mxc.ca
Thu Nov 11 01:28:21 PST 2010


Hi Chris, why did this go into README.txt? It looks like the problem is 
that we aren't emitting a vtable for c28, making this another testcase 
for PR3100?

Chris Lattner wrote:
> Author: lattner
> Date: Tue Nov  9 13:37:28 2010
> New Revision: 118608
>
> URL: http://llvm.org/viewvc/llvm-project?rev=118608&view=rev
> Log:
> add a case we fail to devirt.
>
> Modified:
>      llvm/trunk/lib/Target/README.txt
>
> Modified: llvm/trunk/lib/Target/README.txt
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/README.txt?rev=118608&r1=118607&r2=118608&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/README.txt (original)
> +++ llvm/trunk/lib/Target/README.txt Tue Nov  9 13:37:28 2010
> @@ -1963,3 +1963,23 @@
>           ret i32 %b
>   }
>   //===---------------------------------------------------------------------===//
> +
> +clang -O3 fails to devirtualize this virtual inheritance case: (GCC PR45875)
> +
> +struct c1 {};
> +struct c10 : c1{
> +  virtual void foo ();
> +};
> +struct c11 : c10, c1{
> +  virtual void f6 ();
> +};
> +struct c28 : virtual c11{
> +  void f6 ();
> +};
> +void check_c28 () {
> +  c28 obj;
> +  c11 *ptr =&obj;
> +  ptr->f6 ();
> +}
> +
> +//===---------------------------------------------------------------------===//
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>




More information about the llvm-commits mailing list