r255447 - Revert r255445: adding a new test case

2015-12-12 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Sat Dec 12 22:45:49 2015 New Revision: 255447 URL: http://llvm.org/viewvc/llvm-project?rev=255447=rev Log: Revert r255445: adding a new test case Removed: cfe/trunk/test/Profile/cxx-static.cpp Removed: cfe/trunk/test/Profile/cxx-static.cpp URL:

r255435 - [PGO] Stop using invalid char in instr variable names.

2015-12-12 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Sat Dec 12 11:28:37 2015 New Revision: 255435 URL: http://llvm.org/viewvc/llvm-project?rev=255435=rev Log: [PGO] Stop using invalid char in instr variable names. (This is part-2 of the patch of r255434 -- fixing test cases, second try) Modified:

r255436 - [PGO] add a test case with -no-integrated-as

2015-12-12 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Sat Dec 12 11:39:38 2015 New Revision: 255436 URL: http://llvm.org/viewvc/llvm-project?rev=255436=rev Log: [PGO] add a test case with -no-integrated-as Added: cfe/trunk/test/Profile/cxx-static.cpp Added: cfe/trunk/test/Profile/cxx-static.cpp URL:

r255437 - Revert 255436 : remove test that needs to be refined

2015-12-12 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Sat Dec 12 12:49:37 2015 New Revision: 255437 URL: http://llvm.org/viewvc/llvm-project?rev=255437=rev Log: Revert 255436 : remove test that needs to be refined Removed: cfe/trunk/test/Profile/cxx-static.cpp Removed: cfe/trunk/test/Profile/cxx-static.cpp URL:

r255445 - Resubmit new test case after adding more constraint

2015-12-12 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Sat Dec 12 21:03:35 2015 New Revision: 255445 URL: http://llvm.org/viewvc/llvm-project?rev=255445=rev Log: Resubmit new test case after adding more constraint Added: cfe/trunk/test/Profile/cxx-static.cpp Added: cfe/trunk/test/Profile/cxx-static.cpp URL:

r255366 - [PGO] Stop using invalid char in instr variable names.

2015-12-11 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Fri Dec 11 13:53:35 2015 New Revision: 255366 URL: http://llvm.org/viewvc/llvm-project?rev=255366=rev Log: [PGO] Stop using invalid char in instr variable names. (This is part-2 of the patch -- fixing test cases) Before the patch, -fprofile-instr-generate compile will fail

r255368 - [PGO] Revert r255366: solution incomplete, not handling lambda yet

2015-12-11 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Fri Dec 11 14:23:12 2015 New Revision: 255368 URL: http://llvm.org/viewvc/llvm-project?rev=255368=rev Log: [PGO] Revert r255366: solution incomplete, not handling lambda yet Modified: cfe/trunk/test/CoverageMapping/unused_names.c

Re: [PATCH] D15163: Attach maximum function count to Module when using PGO mode.

2015-12-10 Thread David Li via cfe-commits
davidxl added a comment. LGTM. Wait a little longer in case other reviews want to chime in. Repository: rL LLVM http://reviews.llvm.org/D15163 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

r255326 - [PGO] Add a test case to cover version-3 format

2015-12-10 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Thu Dec 10 22:02:57 2015 New Revision: 255326 URL: http://llvm.org/viewvc/llvm-project?rev=255326=rev Log: [PGO] Add a test case to cover version-3 format Added: cfe/trunk/test/Profile/Inputs/c-general.profdata.v3 (with props) Modified:

r254839 - Pass profile version info to name API (NFC)

2015-12-04 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Fri Dec 4 23:37:15 2015 New Revision: 254839 URL: http://llvm.org/viewvc/llvm-project?rev=254839=rev Log: Pass profile version info to name API (NFC) Modified: cfe/trunk/lib/CodeGen/CodeGenPGO.cpp Modified: cfe/trunk/lib/CodeGen/CodeGenPGO.cpp URL:

Re: [PATCH] D15163: Attach maximum function count to Module when using PGO mode.

2015-12-02 Thread David Li via cfe-commits
davidxl added a comment. Should also add a test case as a followup. Example: ./projects/compiler-rt/test/profile/instrprof-basic.c David Repository: rL LLVM http://reviews.llvm.org/D15163 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

Re: [PATCH] D8940: Clang changes for indirect call target profiling

2015-11-29 Thread David Li via cfe-commits
davidxl added a comment. Betul, is this patch up to date? http://reviews.llvm.org/D8940 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

r253886 - Disable frame pointer elimination when using -pg

2015-11-23 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Mon Nov 23 11:30:31 2015 New Revision: 253886 URL: http://llvm.org/viewvc/llvm-project?rev=253886=rev Log: Disable frame pointer elimination when using -pg (Re-apply patch after bug fixing) This diff makes sure that the driver does not pass -fomit-frame-pointer or

r253851 - Revert r253846 (build bot failure))

2015-11-22 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Sun Nov 22 23:41:05 2015 New Revision: 253851 URL: http://llvm.org/viewvc/llvm-project?rev=253851=rev Log: Revert r253846 (build bot failure)) Removed: cfe/trunk/test/CodeGen/x86_64-profiling-keep-fp.c Modified: cfe/trunk/lib/Driver/Tools.cpp

r253846 - Disable frame pointer elimination when using -pg

2015-11-22 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Sun Nov 22 23:09:10 2015 New Revision: 253846 URL: http://llvm.org/viewvc/llvm-project?rev=253846=rev Log: Disable frame pointer elimination when using -pg This diff makes sure that the driver does not pass -fomit-frame-pointer or -momit-leaf-frame-pointer to the frontend

r252434 - [PGO] Code cleanup [NFC]

2015-11-08 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Sun Nov 8 18:04:16 2015 New Revision: 252434 URL: http://llvm.org/viewvc/llvm-project?rev=252434=rev Log: [PGO] Code cleanup [NFC] Use interfaces defined in LLVM to create FuncName and FuncNameVar. Modified: cfe/trunk/lib/CodeGen/CodeGenPGO.cpp Modified:

r252147 - Use profile data template file for covmap func record (NFC)

2015-11-04 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Wed Nov 4 23:46:39 2015 New Revision: 252147 URL: http://llvm.org/viewvc/llvm-project?rev=252147=rev Log: Use profile data template file for covmap func record (NFC) Modified: cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp Modified:

r251611 - Fix a soon to be invalid test

2015-10-28 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Wed Oct 28 23:04:07 2015 New Revision: 251611 URL: http://llvm.org/viewvc/llvm-project?rev=251611=rev Log: Fix a soon to be invalid test Remove a check that won't be valid when LLVM stops emitting runtime hook user function. Modified:

r251385 - Create undef reference to profile hook symbol

2015-10-26 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Tue Oct 27 00:15:35 2015 New Revision: 251385 URL: http://llvm.org/viewvc/llvm-project?rev=251385=rev Log: Create undef reference to profile hook symbol Create undef reference to profile hook symbol when PGO instrumentation is turned on. This allows LLVM to omit emission

Re: [PATCH] D14030: Use linker option to reference profile runtime hook (Linux)

2015-10-26 Thread Xinliang David Li via cfe-commits
On Mon, Oct 26, 2015 at 8:44 AM, Vedant Kumar wrote: > vsk added a comment. > > This looks good to me. Does this mean we will get rid of > `getInstrProfRuntimeHookVarUseFuncName`? > not yet -- note that this is only enabled for Linux toolchain only for now. If it works for all

[PATCH] D14030: Use linker option to reference profile runtime hook (Linux)

2015-10-23 Thread David Li via cfe-commits
davidxl created this revision. davidxl added a reviewer: bogner. davidxl added a subscriber: cfe-commits. Currently when profile instrumentation is on, the compiler emits a runtime hook use function (__llvm_profile_runtime_use) for every module that is instrumented. The generated function

Re: [PATCH] D13326: [PGO]: ToolChain class refactoring: move addProfileRT to be a virtal method: ToolChain::addProfileRTLibs

2015-10-22 Thread David Li via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL250994: clang driver toolchain refactoring (authored by davidxl). Changed prior to commit: http://reviews.llvm.org/D13326?vs=38091=38092#toc Repository: rL LLVM http://reviews.llvm.org/D13326

r250994 - clang driver toolchain refactoring

2015-10-22 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Thu Oct 22 01:15:31 2015 New Revision: 250994 URL: http://llvm.org/viewvc/llvm-project?rev=250994=rev Log: clang driver toolchain refactoring In this patch, the file static method addProfileRT is moved to be a virtual member function of base ToolChain class. This allows

Re: [PATCH] D13326: [PGO]: ToolChain class refactoring: move addProfileRT to be a virtal method: ToolChain::addProfileRTLibs

2015-10-22 Thread David Li via cfe-commits
davidxl updated this revision to Diff 38091. davidxl added a comment. Updated patch. http://reviews.llvm.org/D13326 Files: include/clang/Driver/ToolChain.h lib/Driver/ToolChain.cpp lib/Driver/ToolChains.cpp lib/Driver/ToolChains.h lib/Driver/Tools.cpp Index: lib/Driver/Tools.cpp

r251072 - Use newly introduced interfaces in LLVM (NFC)

2015-10-22 Thread Xinliang David Li via cfe-commits
Author: davidxl Date: Thu Oct 22 17:25:11 2015 New Revision: 251072 URL: http://llvm.org/viewvc/llvm-project?rev=251072=rev Log: Use newly introduced interfaces in LLVM (NFC) Replaced references to raw strings in instrumentation and coverage code. Modified:

Re: [PATCH] D13326: [PGO]: ToolChain class refactoring: move addProfileRT to be a virtal method: ToolChain::addProfileRTLibs

2015-10-21 Thread David Li via cfe-commits
davidxl added a comment. It turns out previous refactoring by another commit only covers half of the work. Will update the patch with Justin's comments and commit after testing. http://reviews.llvm.org/D13326 ___ cfe-commits mailing list

Re: [PATCH] D13326: [PGO]: Eliminate __llvm_profile_register calls for Linux (clang changes)

2015-10-13 Thread David Li via cfe-commits
davidxl abandoned this revision. davidxl added a comment. The refactoring is done by a previous patch already. http://reviews.llvm.org/D13326 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

Re: [PATCH] D13326: [PGO]: Eliminate __llvm_profile_register calls for Linux (clang changes)

2015-10-06 Thread Xinliang David Li via cfe-commits
Clang FE refactoring change is not needed anymore. In commit 0d32e7d952bc80830183e0c2c6ec5027ca6b1450, Vasileios Kalintiris did the same thing for multi-lib support. David On Tue, Oct 6, 2015 at 12:13 AM, Justin Bogner wrote: > David Li writes: >>

Re: [PATCH] D13326: [PGO]: Eliminate __llvm_profile_register calls for Linux (clang changes)

2015-10-01 Thread David Li via cfe-commits
davidxl updated this revision to Diff 36316. davidxl added a comment. I have modified the implementation to not use linker script, so this clang patch becomes strictly refactoring with NFC. I think it is still a good thing to have this in so that similar tunings like this can be done in the

Re: [PATCH] D13319: Eliminate __llvm_profile_register calls

2015-09-30 Thread David Li via cfe-commits
davidxl added a comment. With this patch, 11M bytes (text section) can be shaved off clang build with instrumentation. http://reviews.llvm.org/D13319 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D13319: Eliminate __llvm_profile_register calls

2015-09-30 Thread David Li via cfe-commits
davidxl created this revision. davidxl added reviewers: bogner, rsmith. davidxl added subscribers: cfe-commits, llvm-commits. Herald added subscribers: srhines, danalbert, tberghammer. With PGO, the instrumented binary needs to dump __llvm_prf_data, __llvm_prf_cnts, and __llvm_prf_names data

Re: [PATCH] D13319: Eliminate __llvm_profile_register calls

2015-09-30 Thread David Li via cfe-commits
davidxl abandoned this revision. davidxl added a comment. Will split the patch into 3. http://reviews.llvm.org/D13319 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D13326: [PGO]: Eliminate __llvm_profile_register calls for Linux (clang changes)

2015-09-30 Thread David Li via cfe-commits
davidxl created this revision. davidxl added reviewers: rsmith, bogner. davidxl added a subscriber: cfe-commits. Herald added subscribers: srhines, danalbert, tberghammer. This is the patch-1. Driver tests are also added. See http://reviews.llvm.org/D13319 for description.

Re: [PATCH] D13326: [PGO]: Eliminate __llvm_profile_register calls for Linux (clang changes)

2015-09-30 Thread David Li via cfe-commits
davidxl removed subscribers: tberghammer, danalbert, srhines. davidxl updated this revision to Diff 36186. http://reviews.llvm.org/D13326 Files: include/clang/Driver/ToolChain.h lib/Driver/SanitizerArgs.cpp lib/Driver/ToolChain.cpp lib/Driver/ToolChains.cpp lib/Driver/ToolChains.h

[PATCH] D12716: Reduce PGO Instrumentation binary and profile data size (Patch-2)

2015-09-08 Thread David Li via cfe-commits
davidxl created this revision. davidxl added reviewers: cfe-commits, bogner, silvas, xur. See patch-1 for description http://reviews.llvm.org/D12716 Files: include/clang/Driver/Options.td include/clang/Frontend/CodeGenOptions.def include/clang/Frontend/CodeGenOptions.h

Re: [PATCH] D12247: [libc++] remove possible trailing padding from aligned_storage

2015-08-27 Thread David Li via cfe-commits
davidxl added a comment. yes -- the intention of Yiran's patch is not to change the size/alignment of the underlying storage, but to make the original padding space part of the type. http://reviews.llvm.org/D12247 ___ cfe-commits mailing list

Re: [PATCH] D12247: [libc++] remove possible trailing padding from aligned_storage

2015-08-26 Thread David Li via cfe-commits
davidxl added a subscriber: davidxl. davidxl added a comment. In libc++, placement new is used in many places. When selecting the buffer size for the placed object, it uses the 'actual' size of the buffer including the padding bytes from alignment, instead of the declared of the buffer. As a

Re: [PATCH] D12247: [libc++] remove possible trailing padding from aligned_storage

2015-08-26 Thread David Li via cfe-commits
davidxl added a comment. We certainly need a fix without breaking ABI. Is there a ABI conformance test for libcxx? http://reviews.llvm.org/D12247 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

Re: [PATCH] D12247: [libc++] remove possible trailing padding from aligned_storage

2015-08-26 Thread Xinliang David Li via cfe-commits
On Wed, Aug 26, 2015 at 3:38 PM, Eric Fiselier e...@efcs.ca wrote: EricWF added a comment. In http://reviews.llvm.org/D12247#233717, @yiranwang wrote: Hi Eric, Could you please explain a bit more what is broken specifically? As we can see, sizeof(), _Len, and _Align, and alignof() of

<    1   2   3   4