similar to: [LLVMdev] Capabilities of Clang's PGO (e.g. improving code density)

Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] Capabilities of Clang's PGO (e.g. improving code density)"

2015 May 27
3
[LLVMdev] Capabilities of Clang's PGO (e.g. improving code density)
Thanks! CIL [LeeHu] for a few comments… From: Xinliang David Li [mailto:xinliangli at gmail.com] Sent: Wednesday, May 27, 2015 9:29 AM To: Lee Hunt Cc: llvmdev at cs.uiuc.edu Subject: Re: [LLVMdev] Capabilities of Clang's PGO (e.g. improving code density) On Tue, May 26, 2015 at 8:47 PM, Lee Hunt <leehu at exchange.microsoft.com<mailto:leehu at exchange.microsoft.com>> wrote:
2015 May 27
2
[LLVMdev] FW: Capabilities of Clang's PGO (e.g. improving code density)
David, Yes, that is very helpful. Thanks! --randy From: Xinliang David Li [mailto:xinliangli at gmail.com] Sent: Wednesday, May 27, 2015 12:53 PM To: Randy Chapman Cc: Lee Hunt; llvmdev at cs.uiuc.edu Subject: Re: FW: [LLVMdev] Capabilities of Clang's PGO (e.g. improving code density) On Wed, May 27, 2015 at 12:40 PM, Randy Chapman <randyc at microsoft.com<mailto:randyc at
2015 May 27
1
[LLVMdev] FW: Capabilities of Clang's PGO (e.g. improving code density)
Hi David! Thanks again for your help! I was wondering if you could clarify one thing for me? I find mention of “hot arc” optimization (-fprofile-arcs) , but I’m unclear if this is the same thing. Does Clang PGO do block reordering? It does reordering, but does not do splitting/partitioning. I take this to mean that PGO does block reordering within the function? I don’t see that the clang
2015 May 27
0
[LLVMdev] FW: Capabilities of Clang's PGO (e.g. improving code density)
Yes, thanks David! For the intra-procedural Basic Block Reordering, do you have any data as to how much improvement that gives speed-wise for any perf tests you’ve measured? I’m thinking this may speed things up for things like application launch by a couple %. For perf intensive code (e.g. spreadsheet recalc), I would expect it would be more. From: Randy Chapman Sent: Wednesday, May 27, 2015
2015 May 27
3
[LLVMdev] Capabilities of Clang's PGO (e.g. improving code density)
> On 2015 May 27, at 07:42, Diego Novillo <dnovillo at google.com> wrote: > > On Tue, May 26, 2015 at 11:47 PM, Lee Hunt <leehu at exchange.microsoft.com> wrote: > >> For example, from reading different pages on how Clang PGO, it’s unclear if >> it does “block reordering” (i.e. moving unexecuted code blocks to a distant >> code page, leaving only ‘hot’
2015 May 28
0
[LLVMdev] Capabilities of Clang's PGO (e.g. improving code density)
On 05/27/2015 11:13 AM, Duncan P. N. Exon Smith wrote: >> On 2015 May 27, at 07:42, Diego Novillo <dnovillo at google.com> wrote: >> >> On Tue, May 26, 2015 at 11:47 PM, Lee Hunt <leehu at exchange.microsoft.com> wrote: >> >>> For example, from reading different pages on how Clang PGO, it’s unclear if >>> it does “block reordering” (i.e. moving
2015 Jul 06
5
[LLVMdev] Why can't comparisons with negative zero be simplified?
In InstCombineCompares.cpp, routine InstCombiner::FoldFCmp_IntToFP_Cst, there are these lines: // Comparisons with zero are a special case where we know we won't lose // information. bool IsCmpZero = RHS.isPosZero(); // If the conversion would lose info, don't hack on this. if ((int)InputSize > MantissaWidth && !IsCmpZero) return nullptr; Why check for positive
2015 May 22
2
[LLVMdev] How to determine the architecture that clang/llvm will compile in CMake.
I've been working on getting the LLVM OpenMP library to build smoothly alongside llvm/clang using CMake, but one problem I'm having is determining exactly which CMake option designates the architecture the compiler will compile. I see LLVM_TARGET_ARCH, LLVM_TARGETS_TO_BUILD, LLVM_DEFAULT_TARGET_TRIPLE, etc. I thought I should just ask which one designates the architecture the compiler
2015 May 21
3
[LLVMdev] Moving Private Label Prefixes from MCAsmInfo to MCObjectFileInfo
Hi, I've been having trouble properly resolving an issue with our assembly syntax. The prefix our assembler uses for private local/global labels depends on the object file format. For ELF32 they begin with '$' and for ELF64 they begin with '.L'. The object file format depends on the ABI, but multiple ABI's are usable with the same target triple so we can't select
2015 Jun 25
2
[LLVMdev] Any known-reliable numbering scheme for basic blocks?
Hi all, Does anyone know of a good solution to the following? I'm trying to find a good way to stably associate distinct ID numbers with different BB in a module. As long as the module's IR hasn't changed in any way whatsoever, I'd like to be guaranteed to always generate the same ID <--> BB mapping. Or if the mapping is ambiguous, because two or more mappings between
2015 Jul 09
2
[LLVMdev] How to use get the memory location of a function argument correctly?
Hi all, i hope to get the MemoryLocation for argument %1 in a CallInst like "call void @function(i32* %1)", and i found an interface "getForArgument()" which seems available for this. However, i don't know how to correcly fill the 3rd argument TargetLibraryInfo in my own code and can't find an example in google. Does anybody know how to do it? Or some other advice for
2015 Jun 26
4
[LLVMdev] Function "llvm::PassManager::run" not defined.
Hi, I am trying to use GDB for debugging my llvm pass. I am following the documentation http://llvm.org/docs/WritingAnLLVMPass.html. When i am doing this the following error and warning messages I am getting. I tried to remove the warning by apt-get install libc6-dbg:i386 command for updating the libc6 but still getting the same. Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+:
2015 May 28
3
[LLVMdev] Easiest way to collect dynamic Instruction execution counts?
Hi, I'd like a simple and fast way to collect the number of times each Instruction was executed in a given run of the application. As far as I can tell, there are a number of approaches I can take: - Use PIN. This would require using DWARF debug info and Instruction debug info to attempt to map instructions in the binary to instructions in the bitcode; not 100% sure how accurate this will
2015 May 28
2
[LLVMdev] [RFC] Late May Update: Progress report on CMake build system's ability to replace autoconf
I sent out a patch for review. http://reviews.llvm.org/D10102 <http://reviews.llvm.org/D10102> -Chris > On May 28, 2015, at 9:48 AM, Yaron Keren <yaron.keren at gmail.com> wrote: > > Thanks! > > 2015-05-28 18:56 GMT+03:00 Chris Bieneman <beanz at apple.com <mailto:beanz at apple.com>>: > >> On May 28, 2015, at 8:37 AM, Yaron Keren
2015 May 29
2
[LLVMdev] [RFC] Late May Update: Progress report on CMake build system's ability to replace autoconf
Both Release and $CONFIG tblgen are built but the Release one is always used. At least with Visual C++ the Release tblgen is much faster than the Debug one. 2015-05-29 9:37 GMT+03:00 Mueller-Roemer, Johannes Sebastian < Johannes.Sebastian.Mueller-Roemer at igd.fraunhofer.de>: > Do they really allways put them into Release/bin or rather $<CONFIG>/bin? > > > > -- >
2015 Jul 16
2
[LLVMdev] [Clang] [lld] [llvm-link] Whole program / dead-code optimization
> > > Is there a reason why LLVM's link-time optimization won't work for you? > > http://llvm.org/docs/GoldPlugin.html > http://llvm.org/docs/LinkTimeOptimization.html > > Well the primary motivation to move to LLVM is licensing which is why we also ditched binutils since we can't package gcc for iOS due to the GPL. So in the end the gold plugin wouldn't
2015 Jul 18
2
[LLVMdev] [Clang] [lld] [llvm-link] Whole program / dead-code optimization
Thanks Nick. I've been pursuing Gao's technique but can't seem to get opt to remove obviously dead code from even the following trivial example: int mult(int a, int b){ return a*b; } int main(void){ return 0; } While mult is never called it still is not removed. I just can't seem to get opt to understand it's seeing the whole program so it can remove this
2015 May 25
2
[LLVMdev] GC Statepoint Transition Status?
Hi, I am looking to utilize LLVM as the backend in an existing compiler for a garbage collected language, and have a question regarding the current and future support for precise GC in LLVM. It appears that gc.root is being phased out, with with breaking changes such as this: http://reviews.llvm.org/D7004 <http://reviews.llvm.org/D7004> Does this mean that gc.statepoint is ready for
2015 May 29
0
[LLVMdev] [RFC] Late May Update: Progress report on CMake build system's ability to replace autoconf
Do they really allways put them into Release/bin or rather $<CONFIG>/bin? -- Johannes S. Mueller-Roemer, MSc Wiss. Mitarbeiter - Interactive Engineering Technologies (IET) Fraunhofer-Institut für Graphische Datenverarbeitung IGD Fraunhoferstr. 5 | 64283 Darmstadt | Germany Tel +49 6151 155-606 | Fax +49 6151 155-139 johannes.mueller-roemer at igd.fraunhofer.de |
2015 May 31
2
[LLVMdev] Error in building Gold on FreeBSD
I triend the command make all-gold -k But the error message that it says now is: /usr/binutils/gold/system.h:38:11:fatal error: 'libintl.h' file not found #include <libintl.h> On Saturday, May 30, 2015, John Criswell <jtcriswel at gmail.com> wrote: > Dear Aditya, > > Regarding the error, it looks like binutils is trying to build its > documentation. For