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

Chris Lattner sabre at nondot.org
Thu Nov 11 09:13:45 PST 2010


On Nov 11, 2010, at 1:28 AM, Nick Lewycky wrote:

> 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?

Our general approach is to put miscellaneous missed optimizations into README files.  IMO, only correctness and serious performance issues (e.g. regressions) should be in bugzilla.

-Chris

> 
> 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