Displaying 8 results from an estimated 8 matches for "ahmadsharif".
2008 Sep 20
0
[LLVMdev] Run-time optimization using profile data
On Sat, Sep 20, 2008 at 12:12 PM, madiyaan <ahmadsharif at hotmail.com> wrote:
> Hello:
>
> I am new to llvm. I am looking for an example somewhere, or a
> walkthrough/guide on how to do runtime optimization using llvm. Ideally, I
> would like to:
>
> 1. Compile the program from C to LLVM or native with LLVM information
> embe...
2008 Sep 20
2
[LLVMdev] Run-time optimization using profile data
Hello:
I am new to llvm. I am looking for an example somewhere, or a
walkthrough/guide on how to do runtime optimization using llvm. Ideally, I
would like to:
1. Compile the program from C to LLVM or native with LLVM information
embedded in the binary.
2. Run the binary under LLVM's interpreter, and profile the data. I hope
LLVM has support for all this, and I don't have to insert my own
2009 Sep 17
0
[LLVMdev] Forcing function inline not working
...{
entry:
call void @foo()
ret i32 0
}
define linkonce_odr void @foo() nounwind alwaysinline {
entry:
%tmp = load i32* @a ; <i32> [#uses=1]
%inc = add i32 %tmp, 1 ; <i32> [#uses=1]
store i32 %inc, i32* @a
ret void
}
Javier
On Thu, 17 Sep 2009 09:45:14 -0700 (PDT), madiyaan
<ahmadsharif at hotmail.com>
wrote:
> Thanks for your message. However, even with using version 2.5 of llvm the
> function is not inlined. Can you try this with your llvm with the same
opt
> flags, which are as follows?
>
> -O3 -debug-only=inline -mem2reg
>
> If it does work for you, c...
2009 Sep 17
2
[LLVMdev] Forcing function inline not working
Thanks for your message. However, even with using version 2.5 of llvm the
function is not inlined. Can you try this with your llvm with the same opt
flags, which are as follows?
-O3 -debug-only=inline -mem2reg
If it does work for you, can you tell me the exact flags you used for clang
or llvm-gcc to produce the .bc file and the exact flags you specified when
you invoked opt?
Does the inlining
2008 Nov 02
0
[LLVMdev] Strange behaviour with profile data loading
Hello:
I am following the example code in BasicBlockPlacement.cpp. That
transformation relies on basic block execution frequencies that have been
read from a profile file. This is how it loads the profile data:
1. In getAnalysisUsage, it calls addRequired<ProfileInfo>(), and
2. In the runOnFunction, it calls getAnalysis<ProfileInfo>() which returns a
ProfileInfo object pointer.
2008 Dec 04
0
[LLVMdev] Dumping profile information at an arbitrary point in time
Hello:
I have been able to successfully add a profiling pass to my PassManager. I
now want to dump this profile information arbitrary (like maybe after 1
second of running the program).
The problem is that the profile functions are in a separate library which is
loaded dynamically. I cannot call:
EdgeProfAtExitHandler();
directly because of linker problems (EdgeProfAtExitHandler() is
2008 Sep 30
2
[LLVMdev] Inserting MachineBasicBlock(s) before a MachineBasicBlock
I want to be able to do two things with LLVM (both just before code
emission):
1. Insert a MachineBasicBlock just before a MachineBasicBlock.
There is a function called AddPredecessor(). However, the comment says that
it does not update the actual CFG. I want to redirect all CFG edges that are
incoming to this MachineBasicBlock to the new one I create, and add just one
outgoing edge (no branch)
2009 Sep 17
2
[LLVMdev] Forcing function inline not working
I have the following code:
static inline void foo() __attribute((always_inline));
int a;
static inline void foo()
{
a++;
}
int main(int argc, char *argv[])
{
foo();
return 0;
}
However, the code generated by llvm 2.4 toolchain does not inline this
function. opt retains the function call. Here is the output when I try to
compile with -debug-only=inline: