Displaying 7 results from an estimated 7 matches for "appendt".
Did you mean:
append
2017 Sep 11
2
Building LLVM's fuzzers
Kostya Serebryany <kcc at google.com> writes:
> Justin,
> Calling appendToUsed has horrible complexity and if we call it in
> every function clang consumes tons of memory (6Gb when compiling one
> of the clang's source files). This killed my machine today :)
>
> The solution is to call appendToUsed once per module, instead of once
> per function.
Oh...
2017 Aug 25
2
Building LLVM's fuzzers
...new GlobalVariable(M, Ty, false,
> GlobalVariable::ExternalLinkag
> >>>>> e,
> >>>>> nullptr, getSectionEnd(Section));
> >>>>> SecEnd->setVisibility(GlobalValue::HiddenVisibility);
> >>>>> + appendToUsed(M, {SecStart, SecEnd});
> >>>>>
> >>>>> return std::make_pair(SecStart, SecEnd);
> >>>>> }
> >>>>>
> >>>>> I'm trying it out now.
> >>>>>
> >>>>
> >>>&...
2019 Jul 22
2
GlobalVariable I inserted gets removed by LTO
Hello llvm-dev@
I have a pass that puts a global constant data array into the module. And
another pass that gets runned by lld during LTO stage.
When I look at bytecode files corresponding to source TUs produced by
`clang -flto`, I can see GVs inserted by my pass #1. However, when pass #2
gets to run, these GV's are gone.
I figured out that passing -mllvm -compute-dead=0 to the linker fixes
2017 Aug 24
4
Building LLVM's fuzzers
...ule::CreateSecStartEnd(Module
>> &M, const char *Section,
>> new GlobalVariable(M, Ty, false, GlobalVariable::ExternalLinkage,
>> nullptr, getSectionEnd(Section));
>> SecEnd->setVisibility(GlobalValue::HiddenVisibility);
>> + appendToUsed(M, {SecStart, SecEnd});
>>
>> return std::make_pair(SecStart, SecEnd);
>> }
>>
>> I'm trying it out now.
>>
>
> LGTM (if this works), thanks!
>
I wouldn't expect that to work because for ELF targets llvm.used has no
effect on the object...
2017 Aug 24
2
Building LLVM's fuzzers
....cpp
@@ -256,6 +256,7 @@ SanitizerCoverageModule::CreateSecStartEnd(Module &M, const char *Section,
new GlobalVariable(M, Ty, false, GlobalVariable::ExternalLinkage,
nullptr, getSectionEnd(Section));
SecEnd->setVisibility(GlobalValue::HiddenVisibility);
+ appendToUsed(M, {SecStart, SecEnd});
return std::make_pair(SecStart, SecEnd);
}
I'm trying it out now.
Kostya Serebryany <kcc at google.com> writes:
> With -Wl,-gc-sections I get this:
> SimpleTest.cpp:(.text.sancov.module_ctor[sancov.module_ctor]+0x1b):
> undefined reference to `...
2017 Aug 24
3
Building LLVM's fuzzers
...st char *Section,
>>>> new GlobalVariable(M, Ty, false, GlobalVariable::ExternalLinkag
>>>> e,
>>>> nullptr, getSectionEnd(Section));
>>>> SecEnd->setVisibility(GlobalValue::HiddenVisibility);
>>>> + appendToUsed(M, {SecStart, SecEnd});
>>>>
>>>> return std::make_pair(SecStart, SecEnd);
>>>> }
>>>>
>>>> I'm trying it out now.
>>>>
>>>
>>> LGTM (if this works), thanks!
>>>
>>
>> I would...
2017 Aug 24
3
Building LLVM's fuzzers
> On Aug 24, 2017, at 2:55 PM, Kostya Serebryany <kcc at google.com> wrote:
>
> Interesting.
> This is a relatively new addition (fsanitize-coverage=pc-tables, which is now a part of -fsanitize=fuzzer).
> The tests worked (did they? On Mac?) so I thought everything is ok.
For tests we never compile the tested target with -O3 (and that wouldn’t be sufficient),
and for