Displaying 20 results from an estimated 6000 matches similar to: "tool options to generate spill code"
2019 Oct 25
3
register spilling and printing live variables
Hello,
I have studied register allocation in theoretical aspects and exploring the
same in the implementation level.
I need a minimal testcase for register spilling to analyze spilling
procedure in llvm. I tried with a testcase taking 20 variables but all the
20 variables are getting stored in the stack using %rbp. Maybe my live
variable analysis is wrong. Please help me with a minimal testcase
2019 Sep 12
3
Taint flow tracking
Let in a program a variable 'x' is tainted. There is an assignment 'y=x'
where y is untainted.
How to check the taintflow in the output or data flow graph ?
Any suggestions?
Thank you. Have a great day.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190912/5bb3655c/attachment.html>
2020 Jan 02
6
error in building llvm with default options
hello,
I am trying to build LLVM with default options. I am getting the following
error message after make.
[100%] Building C object
tools/llvm-c-test/CMakeFiles/llvm-c-test.dir/metadata.c.o
[100%] Building C object
tools/llvm-c-test/CMakeFiles/llvm-c-test.dir/module.c.o
[100%] Building C object
tools/llvm-c-test/CMakeFiles/llvm-c-test.dir/object.c.o
[100%] Building C object
2019 Dec 21
2
accessing stack frame after returning from the function
Hello,
I have a few general questions.
1. Whether the memory contents assigned for a function are accessible after
we return from that function? If yes, how can we access it?
2. Does llvm delete the stackframe assigned for a specific function, after
we return from that function?
3. If not, how can we delete the stackframe or clear the memory content
after we return from the function? Where do
2017 Oct 15
2
question about mem2reg
Hello,
I just upgraded my llvm to 5.0.0. I applied mem2reg pass as follows:
opt -mem2reg m2rtttl.bc > m2rtttl.opt
But after that, I compared m2rtttl.bc and m2rtttl.opt. I noticed that there are no difference between m2rtttl.bc and m2rtttl.opt. Did I apply llvm in the correct way?
Thanks a lot for the help!
Best,
Linhai
-------------- next part
2017 Jun 22
8
How to prevent optimizing away a call + its arguments
On Wed, Jun 21, 2017 at 05:25:04PM -0700, Mehdi AMINI via llvm-dev wrote:
> Hi Kuba,
>
> Try:
>
> __attribute__(optnone)
>
> See
> https://clang.llvm.org/docs/AttributeReference.html#optnone-clang-optnone
Actually, it should be enough to use:
__attribute__((noinline))
void please_do_not_optimize_me_away(int arg1, void *arg2) {
asm
2017 Jun 21
2
How to prevent optimizing away a call + its arguments
Hi llvm-dev,
I have a C function:
__attribute__((__visibility__("default")))
__attribute__((used))
__attribute__((noinline))
void please_do_not_optimize_me_away(int arg1, void *arg2) {
asm volatile("" :::);
}
(the purpose is that this function will be used dynamically at runtime, perhaps by interposing the function, or via the debugger)
I really thought this will not get
2017 Sep 22
5
Effectiveness of llvm optimisation passes
Hi all,
I am trying to understand the effectiveness of various llvm
optimisations when a language targets llvm (or C) as its backend.
The following is my approach (please correct me if I did anything wrong):
I am trying to explicitly control the optimisations passes in llvm. I
disable optimisation in clang, but instead emit unoptimized llvm IR, and
use opt to optimise that. These are what I
2017 Sep 22
0
Effectiveness of llvm optimisation passes
Have -O0 on your clang command line causes all functions to get marked with
an 'optnone' attribute that prevents opt from being able to optimize them
later. You should also add "-Xclang -disable-O0-optnone" to your command
line.
~Craig
On Thu, Sep 21, 2017 at 10:04 PM, Yi Lin via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Hi all,
>
> I am trying to
2020 Jan 02
2
error in building llvm with default options
Various options for reducing memory usage when building LLVM:
* Don't use bfd-ld, at least use gold, probably use lld if you have it
available
* With Ninja and/or CMake there's some way to specify the maximum number of
concurrent linkactions - lower this to fit in your available memory
* If you're building with debug info: Use Split DWARF
On Thu, Jan 2, 2020 at 5:21 AM Kókai Péter
2020 May 12
4
bug report on mem2reg
Hi, all,
I think I found a bug on mem2reg in a particular case.
When I ran opt -mem2reg -basicaa -scalar-evolution -loops -da -analyze opts.ll, it collapsed. While without mem2reg option, it runs well. so I guess it has something to do with mem2reg.
The relative files have been affixed, please check them for me.
Thanks in advance.
liubaosen at tsinghua.edu.cn
-------------- next part
2020 Jan 02
3
error in building llvm with default options
The last time this came up, we agreed something should be done to fix the
defaults, but nobody picked it up and ran with it. I think there was
consensus, it just needs legwork now.
On Thu, Jan 2, 2020 at 11:58 AM Aaron Smith via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> There was a recent thread on reducing memory:
>
2020 May 26
3
Loop Unroll
Awesome, thanks!
Now I have another question. I have a matrix multiplication code. This is
my code:
#include <stdio.h>
#include <stdlib.h>
#define n 4
int main(int argc, char *argv[]) {
int i, j, k;
int A[n][n], B[n][n], C[n][n];
for(i=0;i<n;i++){
for(j=0;j<n;j++){
A[i][j] = 1;
B[i][j] = 2;
C[i][j] = 0;
}
}
2017 Sep 22
1
Effectiveness of llvm optimisation passes
I noticed that there is a '-run-pass' argument for llc. I am wondering
if I can do a similar approach with machine level optimisations/passes
for llc. Are those passes optional (so I can turn them off)? And how can
I get MIR format as llc expects with '-run-pass'?
Thanks a lot.
Cheers,
Yi
On 22/9/17 15:10, Craig Topper wrote:
> Have -O0 on your clang command line causes
2018 Mar 16
2
Debugify and Verify-each mode
Hi Vedant,
Thank you for your reply. I think I can make this debugify-each mode, but I
guess this is reserved for your GSoC project ?
However, if I understand correctly, we do not want to take the output of
the first check-debugify (I mean the .ll file with potentially all the
WARNINGs and ERRORs after the first pass) as input for the second debugify.
What we need is to take the fresh output of
2019 Jan 16
3
Issues with using scalar evolution with newer versions of LLVM IR
Thank You..
I used following command to generate .bc or .ll
/Documents/clang+llvm-4.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang -O0
-emit-llvm -S -o vec4.ll vecsum.c
/Documents/clang+llvm-7.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang -O0
-emit-llvm -S -o vec7.ll vecsum.c
On Wed, Jan 16, 2019 at 6:49 AM Sanjoy Das <sanjoy at playingwithpointers.com>
wrote:
> It is hard to tell
2019 Jan 20
3
(no subject)
Hi all,
I have the following C code:
#include<stdio.h>
int main(int argc, char *argv[]) {
printf("%s\n", argv[0]);
return argc;
}
that generates the following IR for the main function:
; Function Attrs: noinline nounwind optnone uwtable
define i32 @main(i32, i8**) #0 {
%3 = alloca i32, align 4
%4 = alloca i32, align 4
%5 = alloca i8**, align 8
store i32 0, i32*
2019 Nov 13
2
Difference between clang -O1 -Xclang -disable-O0-optnone and clang -O0 -Xclang -disable-O0-optnone in LLVM 9
Hello,
I m trying to test individual O3 optimizations/ replicating O3 behavior on
IR. I took unoptimized IR (O0), used disable-o0-optnone via (*clang -O0
-Xclang -disable-O0-optnone*). I read somewhere about *clang -O1 -Xclang
-disable-O0-optnone,* so I also tested on this initial IR.
I have observed by using individual optimizations, the performance (i.e
time) is better when the base/initial
2018 Mar 16
0
Debugify and Verify-each mode
> On Mar 16, 2018, at 2:30 PM, Son Tuan VU <sontuan.vu119 at gmail.com> wrote:
>
> Hi Vedant,
>
> Thank you for your reply. I think I can make this debugify-each mode, but I guess this is reserved for your GSoC project ?
No, there's no reserved work. If you'd like to work on this I encourage you to do so. There's plenty of other work slated for the GSoC project.
2018 Apr 16
0
LLVM Alias Analysis (Load and store from same address is not showed up in same set)
On 4/15/2018 11:44 AM, Mustakimur Khandaker via llvm-dev wrote:
> Hi
> I have this simple c code for which I would like to use for alias
> analysis.
>
> #include <stdio.h>
> #include <stdlib.h>
>
> static int (*fp) (void);
> void ind_call (int (*compr)(void)){
> fp = compr;
> fp();
> }
> int hello(void){