Displaying 20 results from an estimated 1100 matches similar to: "How to include a opt pass in clang driver"
2018 Jun 25
2
How to include a opt pass in clang driver
Hi Eli,
I have tried that:
static void registerMyPass(const PassManagerBuilder &,
llvm::legacy::PassManagerBase &PM) {
PM.add(new MyPass());
}
static RegisterStandardPasses
RegisterMyPass(PassManagerBuilder::EP_OptimizerLast,
registerMyPass);
It still couldn't find my pass.
Regards,
Soham Sinha
PhD Student,
2017 Jul 10
2
Problems with registering of ModulePass (with Dependencies)
Hello,
I have created a ModulePass, that now needs LoopInfo information.
The ModulePass registration is taken from [1]. I use clang to directly invoke
it (This is also a hard requirement, because I need the fancy output of clang
warnings/remarks).
The problem is, that the dependency to the LoopInfoWrapperPass does not seem
to work. The error is:
--- snip ---
clang-4.0:
2010 Oct 21
2
[LLVMdev] statically linked passes
Hi,
I am trying to create a pass that should get statically linked into
opt (since I'm on both mac and native win32 and win32 does not support
LOADED_MODULEs, at least I get errors while trying to create one).
So I have it working with CMake on windows but when I try to run the
same code base on mac I get unresolved externals. Here is what I have
done so far in the build system:
Within
2020 Apr 22
3
how to add my own passes to LTO pass
Hi,
I have a module pass and I hope to use it to optimize a real-world program.
I need LTO,and I have got LTO plugin.
But How can I add my passes to LTO Pass. I can't find solution.
What should I do?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200422/76d2b046/attachment.html>
2018 Jan 29
2
Polly Dependency Analysis in MyPass
i put following line in CMakeLists.txt;
add_subdirectory(mypass)
then used make -j9
then i used following and run on canonicalize IR
$ opt -load lib/LLVMmypass.so -mypass vec-sum.preopt.ll
On Mon, Jan 29, 2018 at 9:39 PM, Michael Kruse <llvmdev at meinersbur.de>
wrote:
> 2018-01-29 10:18 GMT-06:00 hameeza ahmed <hahmed2305 at gmail.com>:
> > I tried writing
2011 May 30
1
[LLVMdev] opt refuses to load a pass
Hi,
I'm having problems while using a custom pass with opt. The pass
compiles and links just fine but, when I try to use it with opt:
opt -load LLVMmyPass.so -my-flag -f aes.bc -o aes_bb.bc
opt refuses to load it with the following error:
Error opening 'LLVMmyPass.so': LLVMmyPass.so: undefined symbol:
_ZN4llvm9DebugFlagE
-load request ignored.
and then complains that the flag
2018 Jun 26
2
How to force an unused function declaration in clang
clang doesn't seem to respect __attribute__((used)) in C functions. Even if
I declare a function like the following: __attribute__((used)) void
function(), then also it doesn't declare the function in its IR file if I
don't use the function. Is there any other way to force the declaration of
"unused" function declarations with clang.
I have hacked in clang 6.0.0 in
2008 Oct 15
2
R: "in-place" appending to a matrix.
Hello fellow R sufferers,
Is there a way to perform an appending operation in place?
Currently, the way my pseudo-code goes is like this
for (i in 1:1000) {
if (some condition) {
newRow <- myFunction(myArguments)
X <- rbind(X, newRow) # <- this is the bottleneck!!
}
}
As you can see, it works but as the matrix X gets the size of a few million
rows, the
2018 Jun 26
2
How to force an unused function declaration in clang
It does, when the function has a body. When it doesn't, it ignores
<https://godbolt.org/g/2BCvht>. The body might be provided later on in the
toolchain via linking a library.
Regards,
Soham Sinha
PhD Student, Department of Computer Science
Boston University
On Tue, Jun 26, 2018 at 10:25 AM Hans Wennborg <hans at chromium.org> wrote:
> It works for me:
>
>
2013 Dec 25
3
[LLVMdev] Crash in opt.cpp:739 when loading custom pass (only on system-wide debug install of llvm)
Hi,
I'm trying to write custom pass. However opt started crashed in opt.cpp.
After debugging it looks like PassInf->NormalCtor points to unmapped
memory (rest of struct contains correct data about my pass) - it pointed
high in user memory (0x756e672e006e6f69).
It happens only when I tried to install debug version of llvm
system-wide (I've check that it wasn't caused by stale .a
2018 Jun 26
2
How to force an unused function declaration in clang
For the same reason GCC allowed the attribute. Even if I want to use/inline
a function later on in the pipeline.
Regards,
Soham Sinha
PhD Student, Department of Computer Science
Boston University
On Tue, Jun 26, 2018 at 8:30 AM mayuyu.io <admin at mayuyu.io> wrote:
> Out of curiosity, how does an unused declaration affect the emitted object
> file
>
> Zhang
>
> > 在
2019 Aug 31
3
Usage of the jumptable attribute
Hello everyone,
I'm new to LLVM (which is a really great project by the way) and I hope
this is the right place for my question.
In the LLVM Language Reference Manual I found the "jumptable" function
attribute, which seems to be exactly what I need for my project (where I
want to add one level of indirection to every function call), but I have
trouble figuring out, how to use
2018 May 15
3
How to inline function from other file in IR
Hello,
How can I inline a function mentioned in other file?
I have an inline function *foo* in C source file (a.c) which is not
referenced in this file. I compile this file to a.ll (I notice that the
compiled a.ll doesn't have *foo*'s definition, probably because it was
inlined but not called anywhere)
I have another C source file b.c with function *bar*; I compile this to b.ll
I link
2018 May 17
1
How to inline function from other file in IR
Hi Soham,
“extern inline” keyword will help in this case, with this keyword compiler is forced to keeps the definition of the function and make it available for the external usage.
Also it retains the “inlinehint” attribute on the function, with that lto inliner may make it inline.
Best,
Ashutosh
From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Mehdi AMINI via llvm-dev
2018 May 10
2
Assembly file compilation flow
Hello,
LLVM MC blog post
<http://blog.llvm.org/2010/04/intro-to-llvm-mc-project.html> explains
fairly well how the backend MC project is working. However, it's not clear
to me how LLVM converts an assembly file (.s) to an object file. The driver
--verbose option is not giving me much information as well. I want to know
the flow. Like, What CodeGen phases does this file pass through? Is
2018 May 05
4
How to add assembly instructions in CodeGen
Hello,
I want to add assembly instructions at certain points in a function. This
is X86 specific. So I am working in the lib/Target/X86 folder. I create a
`MachineFunctionPass` in that folder. I register it in the
X86TargetMachine.cpp in addPreEmitPass(). I use BuildMI to insert my own
assembly instructions in the MachineFunctionPass. This works and my
assembly instructions are inserted at
2018 May 17
0
How to inline function from other file in IR
Hi Soham,
Are you intending to use the inline keyword in order to control the
inlining optimization?
The inline keyword is not doing this, it is changing the linkage type of
the symbol and instruct the compiler to discard it if there is no call
left, and also will instruct the linker to deduplicate. For instance if
multiple file include a header that defines an inline function, this
function
2018 May 07
0
How to add assembly instructions in CodeGen
One place to look might be in the MachineOutliner target hooks in X86InstrInfo and AArch64InstrInfo. The MachineOutliner runs extremely late in the pass pipeline so it might be a good place to look for some inspiration. Of course, because this is *extremely late* it might not do *exactly* what you need. (e.g, this is post-register allocation, post frame-lowering, etc.)
- Jessica
> On May 4,
2018 May 10
0
Assembly file compilation flow
Passing an assembly file to clang does not go through any CodeGen phases.
It operates entirely in the MC layer. No MachineFunctions will be created.
It just runs it through the MCAsmParser. Most of the setup for this is in
clang's tools/driver/cc1as_main.cpp in the function ExecuteAssembler
~Craig
On Thu, May 10, 2018 at 1:32 PM Soham Sinha via llvm-dev <
llvm-dev at lists.llvm.org>
2018 May 07
2
How to add assembly instructions in CodeGen
Hello Dean,
I looked at the XRay Instrumentation. That's a nice engineering effort. I
am sure you had your motivation to do this in CodeGen just like I wanted to
do. I don't understand all of your code but I get the idea that you are
adjusting the alignment with explicit bytes and no-op instructions. My
problem is also very much related to yours where my stack pointer ($rsp)
alignment