[PATCH] D135858: [clang][Interp] Support pointer arithmethic in binary operators

2022-10-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 468058. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D135858/new/ https://reviews.llvm.org/D135858 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeExprGen.h clang/lib/AST/Interp/Interp.h clang/lib/AST/Interp/Opcod

[PATCH] D132975: [CMake] Add clang-bolt target

2022-10-15 Thread Amir Ayupov via Phabricator via cfe-commits
Amir added a comment. In D132975#3763264 , @phosek wrote: > This was already on my list of build system features I'd like to implement > and I'm glad someone else is already looking into it, thank you! I have two > high level comments about your approac

[PATCH] D71507: [perf-training] Make training data location configurable

2022-10-15 Thread Amir Ayupov via Phabricator via cfe-commits
Amir added a comment. Herald added a subscriber: wenlei. Herald added a project: All. Hi @smeenai, Sorry for asking on this diff, but... Do you have any pointers for training sets? Thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71507/new/

[PATCH] D136031: [DirectX backend] support ConstantBuffer to DXILResource.h

2022-10-15 Thread Xiang Li via Phabricator via cfe-commits
python3kgae updated this revision to Diff 468054. python3kgae added a comment. Rebase to fix stack patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136031/new/ https://reviews.llvm.org/D136031 Files: llvm/lib/Target/DirectX/CBufferDataLayout.

[PATCH] D130951: [HLSL] CodeGen hlsl resource binding.

2022-10-15 Thread Xiang Li via Phabricator via cfe-commits
python3kgae updated this revision to Diff 468053. python3kgae added a comment. Rebase for D136031 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130951/new/ https://reviews.llvm.org/D130951 Files: clang/lib/Code

[PATCH] D136033: Add an option to specify a workspece-level config file

2022-10-15 Thread Qingyuan Zheng via Phabricator via cfe-commits
daiyousei-qz created this revision. daiyousei-qz added reviewers: nridge, kadircet. Herald added a subscriber: arphaman. Herald added a project: All. daiyousei-qz requested review of this revision. Herald added subscribers: cfe-commits, ilya-biryukov. Herald added a project: clang-tools-extra. Add

[clang] 08901c8 - [clang] Use llvm::reverse (NFC)

2022-10-15 Thread Kazu Hirata via cfe-commits
Author: Kazu Hirata Date: 2022-10-15T21:54:13-07:00 New Revision: 08901c8a980d98672d456558fac3b2bee990bf61 URL: https://github.com/llvm/llvm-project/commit/08901c8a980d98672d456558fac3b2bee990bf61 DIFF: https://github.com/llvm/llvm-project/commit/08901c8a980d98672d456558fac3b2bee990bf61.diff L

[clang] 765af67 - [clang] Remove redundaunt typename (NFC)

2022-10-15 Thread Kazu Hirata via cfe-commits
Author: Kazu Hirata Date: 2022-10-15T21:07:02-07:00 New Revision: 765af675bce580cd6473ce7bfb9255f22db14414 URL: https://github.com/llvm/llvm-project/commit/765af675bce580cd6473ce7bfb9255f22db14414 DIFF: https://github.com/llvm/llvm-project/commit/765af675bce580cd6473ce7bfb9255f22db14414.diff L

[PATCH] D135951: [X86][1/2] SUPPORT RAO-INT

2022-10-15 Thread Phoebe Wang via Phabricator via cfe-commits
pengfei added inline comments. Comment at: llvm/lib/Target/X86/X86.td:259 + "Support RAO-INT instructions", + [FeatureSSE2]>; def FeatureINVPCID : SubtargetFeature<"invpcid", "HasINVPCID", "true", --

[PATCH] D135951: [X86][1/2] SUPPORT RAO-INT

2022-10-15 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added inline comments. Comment at: llvm/lib/Target/X86/X86.td:259 + "Support RAO-INT instructions", + [FeatureSSE2]>; def FeatureINVPCID : SubtargetFeature<"invpcid", "HasINVPCID", "true", -

[PATCH] D135951: [X86] SUPPORT RAO-INT

2022-10-15 Thread Phoebe Wang via Phabricator via cfe-commits
pengfei added inline comments. Comment at: llvm/lib/Target/X86/X86.td:259 + "Support RAO-INT instructions", + [FeatureSSE2]>; def FeatureINVPCID : SubtargetFeature<"invpcid", "HasINVPCID", "true", --

[PATCH] D135951: [X86] SUPPORT RAO-INT

2022-10-15 Thread Phoebe Wang via Phabricator via cfe-commits
pengfei updated this revision to Diff 468049. pengfei marked an inline comment as done. pengfei added a comment. Split atomic operations lowering into D136032 . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D135951/

[PATCH] D136031: [DirectX backend] support ConstantBuffer to DXILResource.h

2022-10-15 Thread Xiang Li via Phabricator via cfe-commits
python3kgae updated this revision to Diff 468047. python3kgae added a comment. Herald added a project: clang. Herald added a subscriber: cfe-commits. arc diff `git merge-base HEAD origin` --update D136031 to fix the apply patch issue Repository: rG LLVM Gith

[PATCH] D109460: [clang][Darwin] Try to guess the SDK root with xcrun when unspecified

2022-10-15 Thread Caleb Zulawski via Phabricator via cfe-commits
calebzulawski added a comment. Herald added a subscriber: MaskRay. Herald added a project: All. I'm interested in this feature--is there any reason this wasn't completed? If not, I might be able to take over implementing this. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION h

[clang-tools-extra] e323a90 - [clangd] Use std::decay_t (NFC)

2022-10-15 Thread Kazu Hirata via cfe-commits
Author: Kazu Hirata Date: 2022-10-15T14:59:23-07:00 New Revision: e323a904dce5bf248affef811791f4f8d4d45f02 URL: https://github.com/llvm/llvm-project/commit/e323a904dce5bf248affef811791f4f8d4d45f02 DIFF: https://github.com/llvm/llvm-project/commit/e323a904dce5bf248affef811791f4f8d4d45f02.diff L

[clang] ccd89be - [Driver] Remove legacy cc1 alias -mlink-cuda-bitcode

2022-10-15 Thread Fangrui Song via cfe-commits
Author: Fangrui Song Date: 2022-10-15T14:02:13-07:00 New Revision: ccd89be64567697d6d09a3a74e08eab81080d567 URL: https://github.com/llvm/llvm-project/commit/ccd89be64567697d6d09a3a74e08eab81080d567 DIFF: https://github.com/llvm/llvm-project/commit/ccd89be64567697d6d09a3a74e08eab81080d567.diff

[PATCH] D134410: [clang][CodeGen] Add noundef metadata to load instructions (preliminary)

2022-10-15 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. > I assume with this patch landed, many such cases may change code behavior. So > we will need to update msan to have a tool to detect cases like this anyway. I believe that updated msan should come first. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTI

[PATCH] D133036: [InstCombine] Treat passing undef to noundef params as UB

2022-10-15 Thread Nikita Popov via Phabricator via cfe-commits
nikic accepted this revision. nikic added a comment. This revision is now accepted and ready to land. The default switch has happened, so unblocking this. Comment at: clang/test/CodeGenOpenCL/overload.cl:23 generic int *local *genloc; generic int *global *genglob; + // C

[PATCH] D134410: [clang][CodeGen] Add noundef metadata to load instructions (preliminary)

2022-10-15 Thread Vitaly Buka via Phabricator via cfe-commits
vitalybuka added a reviewer: vitalybuka. vitalybuka added a comment. In D134410#3817190 , @vitalybuka wrote: >> Also I applied this patch with D134698 >> and used on our large test set, expecting significant number of

[PATCH] D136023: [CMake] Disable BOLT instrumentation of Clang on instrumented build

2022-10-15 Thread Amir Ayupov via Phabricator via cfe-commits
Amir updated this revision to Diff 468030. Amir added a comment. Add BOLT-PGO cmake cache file Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136023/new/ https://reviews.llvm.org/D136023 Files: clang/CMakeLists.txt clang/cmake/caches/BOLT-PGO.c

[clang] 0784de2 - [clang] Fix a warning

2022-10-15 Thread Kazu Hirata via cfe-commits
Author: Kazu Hirata Date: 2022-10-15T12:50:34-07:00 New Revision: 0784de20e2ad5a91f07f952ae6d9887e380bccd6 URL: https://github.com/llvm/llvm-project/commit/0784de20e2ad5a91f07f952ae6d9887e380bccd6 DIFF: https://github.com/llvm/llvm-project/commit/0784de20e2ad5a91f07f952ae6d9887e380bccd6.diff L

[clang] a867cb8 - [clang] Fix a warning

2022-10-15 Thread Kazu Hirata via cfe-commits
Author: Kazu Hirata Date: 2022-10-15T12:48:23-07:00 New Revision: a867cb849ad0ef2e56c63ce091b74aa0497beef8 URL: https://github.com/llvm/llvm-project/commit/a867cb849ad0ef2e56c63ce091b74aa0497beef8 DIFF: https://github.com/llvm/llvm-project/commit/a867cb849ad0ef2e56c63ce091b74aa0497beef8.diff L

[PATCH] D131858: [clang] Track the templated entity in type substitution.

2022-10-15 Thread David Rector via Phabricator via cfe-commits
davrec added inline comments. Comment at: clang/include/clang/AST/DeclTemplate.h:3427 +TemplateParameterList *getReplacedTemplateParameterList(Decl *D); + mizvekov wrote: > mizvekov wrote: > > davrec wrote: > > > davrec wrote: > > > > I don't object with making

[PATCH] D136023: [CMake] Disable BOLT instrumentation of Clang on instrumented build

2022-10-15 Thread Amir Ayupov via Phabricator via cfe-commits
Amir created this revision. Amir added reviewers: phosek, nikic, beanz. Herald added a subscriber: wenlei. Herald added a project: All. Amir requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This enables multi-stage PGO build optimized by BOL

[PATCH] D135951: [X86] SUPPORT RAO-INT

2022-10-15 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added inline comments. Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:31799 + // We can lower add/sub/or/xor/and into RAO-INT instructions when the result + // is unused. This should probably be in a separate patch. Repository: rG LLVM G

[PATCH] D135951: [X86] SUPPORT RAO-INT

2022-10-15 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added inline comments. Comment at: llvm/lib/Target/X86/X86.td:259 + "Support RAO-INT instructions", + [FeatureSSE2]>; def FeatureINVPCID : SubtargetFeature<"invpcid", "HasINVPCID", "true", -

[PATCH] D136022: [clang] Add time profile for constant evaluation

2022-10-15 Thread Evgeny Shulgin via Phabricator via cfe-commits
Izaron added a comment. We can use this file as an example: `ConstProfiler.cpp` https://reviews.llvm.org/P8296 The code does a really big constant evaluation. This is the generated json **before** the patch: `before.json` https://reviews.llvm.org/P8294 Giving this json to https://www.speedscope

[PATCH] D136022: [clang] Add time profile for constant evaluation

2022-10-15 Thread Evgeny Shulgin via Phabricator via cfe-commits
Izaron created this revision. Izaron added reviewers: aaron.ballman, cor3ntin, anton-afanasyev, mbs-modular, jloser. Herald added a project: All. Izaron requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Add time profiler for various constexp

[PATCH] D128750: [C++20] Implement P2113R0: Changes to the Partial Ordering of Constrained Functions

2022-10-15 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added inline comments. Comment at: clang/lib/Sema/SemaTemplateDeduction.cpp:5511-5539 + template ::value, bool> = true> + bool operator()(T1 *PS1, T2 *PS2) { +return hasEqualTemplateArgumentList( +PS1->getTemplateArgsAsWritten()->arguments(), +PS2->

[PATCH] D135871: [clang-format][NFC] Handle language specific stuff at the top...

2022-10-15 Thread Björn Schäpers via Phabricator via cfe-commits
HazardyKnusperkeks added inline comments. Comment at: clang/lib/Format/TokenAnnotator.cpp:3121 + return 1; +if (Right.is(tok::period)) + return 500; owenpan wrote: > Otherwise, it wouldn't be NFC. It was Left == :: || Right == . Repository: rG L

[PATCH] D135951: [X86] SUPPORT RAO-INT

2022-10-15 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon added inline comments. Comment at: llvm/lib/Target/X86/X86ISelLowering.h:801 +RXOR, +RAND, + very pedantic, but are these likely to get confused with ROR / RAND instructions? Would it be better to use a RAO_ prefix? Comment at:

[PATCH] D128750: [C++20] Implement P2113R0: Changes to the Partial Ordering of Constrained Functions

2022-10-15 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added inline comments. Comment at: clang/lib/Sema/SemaTemplateDeduction.cpp:5511-5539 + template ::value, bool> = true> + bool operator()(T1 *PS1, T2 *PS2) { +return hasEqualTemplateArgumentList( +PS1->getTemplateArgsAsWritten()->arguments(), +PS2->

[PATCH] D136019: [clang][lex] Avoid `DirectoryLookup` copies

2022-10-15 Thread Juergen Ributzka via Phabricator via cfe-commits
ributzka added a comment. We could invoke clang with the `-stats` option and compare the result against the expected number of stat calls. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136019/new/ https://reviews.llvm.org/D136019

[PATCH] D136019: [clang][lex] Avoid `DirectoryLookup` copies

2022-10-15 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. The change looks good to me. And based on the scope of D121685 it should be sufficient. Do you have any ideas for testing? If it would require significant testing infrastructure work, we can do that separately. But if you have some sim

[PATCH] D131858: [clang] Track the templated entity in type substitution.

2022-10-15 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added inline comments. Comment at: clang/include/clang/AST/DeclTemplate.h:3427 +TemplateParameterList *getReplacedTemplateParameterList(Decl *D); + mizvekov wrote: > davrec wrote: > > davrec wrote: > > > I don't object with making this public, and I ca

[PATCH] D136019: [clang][lex] Avoid `DirectoryLookup` copies

2022-10-15 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 created this revision. jansvoboda11 added reviewers: ributzka, friss, vsapsai, arphaman. Herald added a project: All. jansvoboda11 requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This patch fixes a performance regression introd

[PATCH] D135951: [X86][WIP] SUPPORT RAO-INT

2022-10-15 Thread Phoebe Wang via Phabricator via cfe-commits
pengfei updated this revision to Diff 468020. pengfei added a comment. Add atomic operations lowering for RAO-INT instructions. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D135951/new/ https://reviews.llvm.org/D135951 Files: clang/docs/ReleaseN

[PATCH] D131858: [clang] Track the templated entity in type substitution.

2022-10-15 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added inline comments. Comment at: clang/include/clang/AST/DeclTemplate.h:3427 +TemplateParameterList *getReplacedTemplateParameterList(Decl *D); + davrec wrote: > davrec wrote: > > I don't object with making this public, and I can see the argument for

[PATCH] D135097: Remove redundant option '-menable-unsafe-fp-math'.

2022-10-15 Thread Yi Kong via Phabricator via cfe-commits
kongyi added a comment. In D135097#3859917 , @jrtc27 wrote: > It also will fail if the configured default target triple is one where the > default program address space is non-zero, and maybe other things (do any > targets do pre-IR name mangling for C?

[PATCH] D128750: [C++20] Implement P2113R0: Changes to the Partial Ordering of Constrained Functions

2022-10-15 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added inline comments. Comment at: clang/lib/Sema/SemaTemplateDeduction.cpp:5511-5539 + template ::value, bool> = true> + bool operator()(T1 *PS1, T2 *PS2) { +return hasEqualTemplateArgumentList( +PS1->getTemplateArgsAsWritten()->arguments(), +PS2->

[clang] f118280 - [clang] Fix func-attr.c test

2022-10-15 Thread Yi Kong via cfe-commits
Author: Yi Kong Date: 2022-10-15T23:16:26+09:00 New Revision: f118280b0407c40b1aacf40ad6777d777e333c88 URL: https://github.com/llvm/llvm-project/commit/f118280b0407c40b1aacf40ad6777d777e333c88 DIFF: https://github.com/llvm/llvm-project/commit/f118280b0407c40b1aacf40ad6777d777e333c88.diff LOG:

[PATCH] D91000: [clang-tidy] Add bugprone-unsafe-functions checker.

2022-10-15 Thread Whisperity via Phabricator via cfe-commits
whisperity added a comment. In D91000#3770071 , @whisperity wrote: > In D91000#3197851 , @aaron.ballman > wrote: > >> In terms of whether we should expose the check in C++: I think we shouldn't. >> [...] >> >> I t

[PATCH] D128750: [C++20] Implement P2113R0: Changes to the Partial Ordering of Constrained Functions

2022-10-15 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added inline comments. Comment at: clang/lib/Sema/SemaTemplateDeduction.cpp:5511-5539 + template ::value, bool> = true> + bool operator()(T1 *PS1, T2 *PS2) { +return hasEqualTemplateArgumentList( +PS1->getTemplateArgsAsWritten()->arguments(), +PS2->

[PATCH] D132131: [clang-format] Adds a formatter for aligning trailing comments over empty lines

2022-10-15 Thread Yusuke Kadowaki via Phabricator via cfe-commits
yusuke-kadowaki updated this revision to Diff 468015. yusuke-kadowaki marked 2 inline comments as done. yusuke-kadowaki added a comment. - Rebased - Remove more braces - Update rst Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132131/new/ https://r

[PATCH] D135013: [clang][Interp] Array initialization via ImplicitValueInitExpr

2022-10-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Ah it's the array filler which we don't handle at all right now :( CHANGES SINCE LAST ACTION https://reviews.llvm.org/D135013/new/ https://reviews.llvm.org/D135013 ___ cfe-commits mailing list cfe-commits@lists.llvm.org htt

[PATCH] D136018: [Clang] Fix crash when checking misaligned member with dependent type

2022-10-15 Thread Jun Zhang via Phabricator via cfe-commits
junaire created this revision. junaire added reviewers: aaron.ballman, shafik. Herald added a project: All. junaire requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. If the type is dependent, we should just discard it and not checking its ali

[PATCH] D131858: [clang] Track the templated entity in type substitution.

2022-10-15 Thread David Rector via Phabricator via cfe-commits
davrec added inline comments. Comment at: clang/include/clang/AST/DeclTemplate.h:3427 +TemplateParameterList *getReplacedTemplateParameterList(Decl *D); + davrec wrote: > I don't object with making this public, and I can see the argument for making > this its

[PATCH] D136017: [clang][Interp] Materializing primitive temporaries

2022-10-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, tahonermann, shafik. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Utilitze the existing support for temporary declara

[PATCH] D131858: [clang] Track the templated entity in type substitution.

2022-10-15 Thread David Rector via Phabricator via cfe-commits
davrec added a comment. I like the late changes, just need to add comments to the public methods, and maybe move `getReplacedTemplateParameterList` over to `Decl`. Comment at: clang/include/clang/AST/DeclTemplate.h:3427 +TemplateParameterList *getReplacedTemplateParameterLis

[PATCH] D136013: [clang][Interp] Fix ignoring expression return values

2022-10-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 468006. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136013/new/ https://reviews.llvm.org/D136013 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/test/AST/Interp/literals.cpp clang/test/AST/Interp/records.cpp Index: clang/test/AST/Inter

[PATCH] D135989: [clang][Sema] Use size of char for void types

2022-10-15 Thread serge via Phabricator via cfe-commits
serge-sans-paille added a comment. Thanks for clarifying! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D135989/new/ https://reviews.llvm.org/D135989 ___ cfe-commits mailing list cfe-commits@lists.llvm.or

[PATCH] D136013: [clang][Interp] Fix ignoring expression return values

2022-10-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 468001. tbaeder retitled this revision from "[clang][Interp] Fix ignoring unary operators and This exprs" to "[clang][Interp] Fix ignoring expression return values". CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136013/new/ https://reviews.llvm.org/

[PATCH] D136012: [clang][Interp] Fix record members of reference type

2022-10-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 468000. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136012/new/ https://reviews.llvm.org/D136012 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeStmtGen.cpp clang/lib/AST/Interp/Interp.h clang/test/AST/Interp/re

[PATCH] D136013: [clang][Interp] Fix ignoring unary operators and This exprs

2022-10-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, tahonermann, shafik. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Randomly noticed this. We need to honor DiscardResu

[PATCH] D136012: [clang][Interp] Fix record members of reference type

2022-10-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, tahonermann, shafik. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. When assigning to them, we can't classify the exp

[PATCH] D135513: [clang][Interp] Check instance pointers before calling functions on them

2022-10-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 467997. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D135513/new/ https://reviews.llvm.org/D135513 Files: clang/lib/AST/Interp/EvalEmitter.cpp clang/lib/AST/Interp/Function.cpp clang/lib/AST/Interp/Interp.cpp clang/lib/AST/Interp/Interp.h c