[cfe-commits] r143922 - in /cfe/trunk: include/clang/AST/APValue.h lib/AST/APValue.cpp lib/AST/ExprConstant.cpp lib/CodeGen/CGExprConstant.cpp test/SemaCXX/constant-expression-cxx11.cpp

Richard Smith richard at metafoo.co.uk
Wed Nov 9 19:34:03 PST 2011


On Thu, November 10, 2011 01:11, Eli Friedman wrote:
> On Mon, Nov 7, 2011 at 1:22 AM, Richard Smith
> <richard-llvm at metafoo.co.uk> wrote:
>
>> Author: rsmith
>> Date: Mon Nov  7 03:22:26 2011
>> New Revision: 143922
>>
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=143922&view=rev
>> Log:
>> Constant expression evaluation: support for arrays.
>>
>>
>> Modified:
>>    cfe/trunk/include/clang/AST/APValue.h
>>    cfe/trunk/lib/AST/APValue.cpp
>>    cfe/trunk/lib/AST/ExprConstant.cpp
>>    cfe/trunk/lib/CodeGen/CGExprConstant.cpp
>>    cfe/trunk/test/SemaCXX/constant-expression-cxx11.cpp
>>
>
> This commit appears to have caused a large compile-time regression on
> MultiSource/Benchmarks/Trimaran/netbench-crc.  Please investigate.

Hi Eli,

r144260 should remove the issue in the short term. This test contains two
large arrays whose initializers we can now evaluate, and the in-memory
representation of such arrays is currently quite wasteful in cases like this.
My current plan is to get all the functionality in place before reworking the
representation, though I do have a concrete plan for that rework, and could
bring that forward if there is a pressing need. How large a regression are you
seeing? The performance difference was quite modest on the machines we tested
with here.

Thanks,
Richard




More information about the cfe-commits mailing list