Displaying 5 results from an estimated 5 matches for "elimavailextern".
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 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 08
2
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
...t is
cleaner for controlling the output type. Let me know what you think of
saving the overall LTO setting in CodeGenOpts/PassManagerBuilder, or
if is it better to record just the individual behaviors we want (i.e.
change the new field in CodeGenOpts/PassManagerBuilder from "LTO" to
"ElimAvailExtern" or something like that).
Patches attached. I modified an existing available external clang test
to check for the new O2 (LTO vs not) behaviors.
Thanks,
Teresa
On Thu, Jun 4, 2015 at 9:20 PM, Eric Christopher <echristo at gmail.com> wrote:
>
>
> On Thu, Jun 4, 2015 at 8:17 PM...
2015 Jun 08
4
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
.../ here is a compile-time savings.
>
> More than the compile time savings, it actually increases the power of
> GlobalDCE and can reduce object file size, so I'd mention that instead.
Ok, right in your case that is the benefit. Will update the comment.
>
> + MPM.add(createElimAvailExternPass());
> + }
>
> + // Drop initializers of available externally global variables.
> + for (Module::global_iterator I = M.global_begin(), E = M.global_end();
> + I != E; ++I) {
> + if (!I->hasAvailableExternallyLinkage())
> + continue;
> + if (I-&g...
2015 Jul 29
1
[LLVMdev] Error when i am using command make -j4 command in cygwin to compile safecode
...llvm[2]: Compiling DeadMachineInstructionElim.cpp for Release+Asserts build
llvm[2]: Compiling DwarfEHPrepare.cpp for Release+Asserts build
llvm[3]: Compiling RuntimeDyldMachO.cpp for Release+Asserts build
llvm[3]: Compiling TailRecursionElimination.cpp for Release+Asserts build
llvm[3]: Compiling ElimAvailExtern.cpp for Release+Asserts build
llvm[2]: Compiling EarlyIfConversion.cpp for Release+Asserts build
llvm[3]: Compiling ExtractGV.cpp for Release+Asserts build
llvm[3]: Building Release+Asserts Archive Library libLLVMRuntimeDyld.a
make[3]: Leaving directory '/home/NIKHILREDDY/WORK/LLVM_OBJ/lib/Exec...