[PATCH] D17742: Perform InstructioinCombiningPass before SampleProfile pass.

Diego Novillo via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 1 12:03:12 PST 2016


On Tue, Mar 1, 2016 at 2:39 PM, Dehao Chen <danielcdh at gmail.com> wrote:

>
>   call void bitcast (void (%"class.llvm::SmallVectorImpl"*)*
> @_ZN4llvm15SmallVectorImplIjED2Ev to void
> (%"class.llvm::SmallVector"*)*)(%"class.llvm::SmallVector"* %3) #7, !dbg
> !4175
>
> I just spent ~2 hours to generate a small C++ file to produce this "call
> with bitcast" pattern, but whatever I tried, front end will not give me
> exactly the same pattern. Shall I just keep the record in the commit log
> about how to reproduce with FoldingSet.bc?
>

Not really.  Just wanted a motivation for the change.  Adding a pass as a
pre-requisite for the sampler profiler means adding compile time.  Do you
think this will trigger a lot in general?  I'm somewhat concerned about
compile time inflation, but if it's useful in general for the sample
profiling case, then I don't mind.


================
> Comment at: test/Transforms/SampleProfile/cov-zero-samples.ll:3
> @@ -2,3 +2,3 @@
>  ;
> -; CHECK: remark: cov-zero-samples.cc:9:25: Applied 404065 samples from
> profile (offset: 2.1)
> +; CHECK: remark: cov-zero-samples.cc:9:29: Applied 404065 samples from
> profile (offset: 2.1)
>  ; CHECK: remark: cov-zero-samples.cc:10:9: Applied 443089 samples from
> profile (offset: 3)
> ----------------
> dnovillo wrote:
> > Why did the discriminators change here?  Was this because of
> instcombine?  What did it do?
> This is not changing discriminator but column number.
> inst-combine optimized the code to combine some instructions together and
> used the LOC of one instruction as the new instruction's LOC.
>

Ah, thanks.


Diego.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160301/b69be05f/attachment.html>


More information about the llvm-commits mailing list