Displaying 15 results from an estimated 15 matches for "addextension".
2011 Nov 30
2
[LLVMdev] Instrumentation passes and -O0 optimization level
...> patch, it is totally fine. =D
>
Alex,
Now, the patch is actually a bit confusing to me.
EP_AlwaysEnabled should mean "works with O0 after inliner and with >= O1
somewhere late", but it doesn't look like it works this way (otherwise, you
wouldn't need to call PMBuilder.addExtension twice).
?
--kcc
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
-------------- next part --------------
An HTML attachment was...
2011 Nov 30
2
[LLVMdev] Instrumentation passes and -O0 optimization level
...;> Alex,
>> Now, the patch is actually a bit confusing to me.
>> EP_AlwaysEnabled should mean "works with O0 after inliner and with >= O1
>> somewhere late", but it doesn't look like it works this way (otherwise, you
>> wouldn't need to call PMBuilder.addExtension twice).
>> ?
> This was actually my question to Devang.
> Any other suggestions for the EP name?
OK, I withdraw my suggestion :)
-
Devang
2011 Nov 30
0
[LLVMdev] Instrumentation passes and -O0 optimization level
>
> Alex,
> Now, the patch is actually a bit confusing to me.
> EP_AlwaysEnabled should mean "works with O0 after inliner and with >= O1
> somewhere late", but it doesn't look like it works this way (otherwise, you
> wouldn't need to call PMBuilder.addExtension twice).
> ?
This was actually my question to Devang.
Any other suggestions for the EP name?
2011 Nov 30
0
[LLVMdev] Instrumentation passes and -O0 optimization level
...Now, the patch is actually a bit confusing to me.
> >> EP_AlwaysEnabled should mean "works with O0 after inliner and with >= O1
> >> somewhere late", but it doesn't look like it works this way (otherwise,
> you
> >> wouldn't need to call PMBuilder.addExtension twice).
> >> ?
> > This was actually my question to Devang.
> > Any other suggestions for the EP name?
>
> OK, I withdraw my suggestion :)
>
Does anyone else have comments to the original patch (attached)?
Thanks,
--kcc
>
> -
> Devang
>
>
--------...
2011 Nov 30
1
[LLVMdev] Instrumentation passes and -O0 optimization level
...ly a bit confusing to me.
>> >> EP_AlwaysEnabled should mean "works with O0 after inliner and with >=
>> O1
>> >> somewhere late", but it doesn't look like it works this way
>> (otherwise, you
>> >> wouldn't need to call PMBuilder.addExtension twice).
>> >> ?
>> > This was actually my question to Devang.
>> > Any other suggestions for the EP name?
>>
>> OK, I withdraw my suggestion :)
>>
>
> Does anyone else have comments to the original patch (attached)?
> Thanks,
>
I already...
2011 Nov 22
2
[LLVMdev] Instrumentation passes and -O0 optimization level
...lib/Transforms/IPO/PassManagerBuilder.cpp===================================================================---
lib/Transforms/IPO/PassManagerBuilder.cpp (revision 144800)+++
lib/Transforms/IPO/PassManagerBuilder.cpp (working copy)@@ -101,6
+101,7 @@ MPM.add(Inliner); Inliner = 0; }+
addExtensionsToPM(EP_EnabledOnOptLevel0, MPM); return; }
Index: tools/clang/lib/CodeGen/BackendUtil.cpp===================================================================---
tools/clang/lib/CodeGen/BackendUtil.cpp (revision 144800)+++
tools/clang/lib/CodeGen/BackendUtil.cpp (working copy)@@ -150,6
+15...
2018 May 29
0
Getting stack size of compiled functions from LLVM
...ded to LLVM, then it's not clear to me how to return the
> stack size information to the host C++ program either.
There currently aren't any hooks for this, but it probably wouldn't be
hard to implement, if you're interested in contributing upstream. (See
PassManagerBuilder::addExtension for IR optimization passes.)
-Eli
--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
2012 Oct 17
2
[LLVMdev] please advise on PassManager
...nted twice (which causes run-time
crash).
This happens only at -O0; at -O1 we get the correct order of events for
some reason (foo gets inlined, then foo and bar are instrumented).
The code looks like this:
tools/clang/lib/CodeGen/BackendUtil.cpp
if (LangOpts.AddressSanitizer) {
PMBuilder.addExtension(PassManagerBuilder::EP_OptimizerLast,
addAddressSanitizerPass);
PMBuilder.addExtension(PassManagerBuilder::EP_EnabledOnOptLevel0,
addAddressSanitizerPass);
}
lib/Transforms/IPO/PassManagerBuilder.cpp
void PassManagerBuilder::popu...
2018 May 29
2
Getting stack size of compiled functions from LLVM
Hi all,
I'm trying to get the amount of stack memory used by the functions I am
JIT compiling with LLVM.
I have a host C++ program, and I want to be able to access the stack
size from the host C++ program.
I see in PrologEpilogInserter.cpp that the computed stack size is read
from the MachineFunction corresponding to a Function, in order to issue
a warning if the stack size is too large.
2011 Nov 29
2
[LLVMdev] Instrumentation passes and -O0 optimization level
>
>> + EP_EnabledOnOptLevel0
>
> I'd rename this as EP_AlwaysEnabled
>
Renamed, see the attachment.
But note that one needs to add his pass at two extension points: at O0
and wherever else he wanted to add it.
Won't such a name confuse the user?
E.g. he may think that just adding a pass as "EP_AlwaysEnabled" should
be enough to have it at any optimization
2011 Nov 30
0
[LLVMdev] Instrumentation passes and -O0 optimization level
On Tue, Nov 29, 2011 at 8:56 AM, Alexander Potapenko <glider at google.com>wrote:
> PS. Should we move the discussion to cfe-commits or it's ok to
> continue the review process here?
>
For future reference, please send patches which touch both LLVM and Clang
to llvm-commits and cfe-commits. However, looking at the Clang side of the
patch, it is totally fine. =D
--------------
2018 Sep 12
2
How to make LLVM go faster?
...TargetLibraryInfoImpl tlii(Triple(module->getTargetTriple()));
PMBuilder->LibraryInfo = &tlii;
if (is_debug) {
PMBuilder->Inliner = createAlwaysInlinerLegacyPass(false);
} else {
target_machine->adjustPassManager(*PMBuilder);
PMBuilder->addExtension(PassManagerBuilder::EP_EarlyAsPossible,
addDiscriminatorsPass);
PMBuilder->Inliner =
createFunctionInliningPass(PMBuilder->OptLevel, PMBuilder->SizeLevel,
false);
}
addCoroutinePassesToExtensionPoints(*PMBuilder);
// Set up the per-function pass manager.
legacy::F...
2015 Jun 05
2
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
On Thu, Jun 4, 2015 at 5:33 PM, Reid Kleckner <rnk at google.com> wrote:
> On Thu, Jun 4, 2015 at 5:17 PM, Teresa Johnson <tejohnson at google.com> wrote:
>>
>> Agreed. Although I assume you mean invoke the new pass under a
>> ThinLTO-only option so that avail extern are not dropped in the
>> compile pass before the LTO link?
>
>
> No, this pass
2015 Jun 04
5
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
On Thu, Jun 4, 2015 at 3:58 PM, Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:
>
> > Personally, I think the right approach is to add a bool to
> createGlobalDCEPass defaulting to true named something like
> IsAfterInlining. In most standard pass pipelines, GlobalDCE runs after
> inlining for obvious reasons, so the default makes sense. The special case
> is
2015 Jun 08
2
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
...::CreatePasses() {
PMBuilder.DisableUnitAtATime = !CodeGenOpts.UnitAtATime;
PMBuilder.DisableUnrollLoops = !CodeGenOpts.UnrollLoops;
PMBuilder.MergeFunctions = CodeGenOpts.MergeFunctions;
+ PMBuilder.LTO = CodeGenOpts.LTO;
PMBuilder.RerollLoops = CodeGenOpts.RerollLoops;
PMBuilder.addExtension(PassManagerBuilder::EP_EarlyAsPossible,
Index: lib/Driver/Tools.cpp
===================================================================
--- lib/Driver/Tools.cpp (revision 237590)
+++ lib/Driver/Tools.cpp (working copy)
@@ -2676,6 +2676,10 @@ void Clang::ConstructJob(Compilation &C, const Job...