Displaying 20 results from an estimated 50000 matches similar to: "[LLVMdev] instruction names"
2007 Mar 06
6
[LLVMdev] alloca & store generation
I am writing a transformation that needs to add a call to a function F()
at the beginning of main() with the addresses of argc and argv as
parameters to F(). However, the bytecode file I'm transforming has not
allocated space on the stack for argc and argv. So, I developed my
transformation to change main() from:
-----
int main(int %argc, sbyte** %argv){
entry:
...
// some use of
2007 Mar 06
0
[LLVMdev] alloca & store generation
After looking at this problem longer, I believe that there is something
wrong with the disassembler. When I run my transformation and then
disassemble the output, I get bytecode that looks like:
-----
int %main(int %argc, sbyte** %argv) {
entry:
alloca int ; <int*>:0 [#uses=3]
alloca sbyte** ; <sbyte***>:0 [#uses=3]
store int %argc,
2006 Apr 25
3
[LLVMdev] src to src conversion
I am trying to use LLVM as a source to source C compiler. I use
llvm-gcc to convert file.c->file.bc. Then I use opt to run my own
compiler passes to convert file.bc->file.opt.bc. Then I use llc to
convert file.opt.bc->file.opt.c. Now, I want to use normal gcc to
compile file.opt.c into an executable. However, I'm getting the
following errors:
test.opt.c:89: warning:
2009 Apr 28
3
[LLVMdev] O3 passes
Can I specify passes that I want run directly to llvm-gcc? I don't want
all of -O3, for example. I tried llvm-gcc -raiseallocs ..., but that
didn't work. I also tried running cc1 directly and it didn't take
-raiseallocs as a parameter either.
Duncan Sands wrote:
> On Tuesday 28 April 2009 04:02:47 am Ryan M. Lefever wrote:
>> I assume that when -O3 (or O2 or O1) is
2009 Apr 28
3
[LLVMdev] O3 passes
I assume that when -O3 (or O2 or O1) is passed to llvm-gcc, then it
utilizes opt. How do I determine what passes opt runs? How do I
determine what external tools (and arguments) llvm-gcc is invoking?
Regards,
Ryan
2006 Apr 25
0
[LLVMdev] src to src conversion
Ryan M. Lefever wrote:
> I am trying to use LLVM as a source to source C compiler. I use
> llvm-gcc to convert file.c->file.bc. Then I use opt to run my own
> compiler passes to convert file.bc->file.opt.bc. Then I use llc to
> convert file.opt.bc->file.opt.c. Now, I want to use normal gcc to
> compile file.opt.c into an executable. However, I'm getting the
2007 Feb 24
3
[LLVMdev] cast instruction
I need to create a cast instruction that casts an sbyte* to another
pointer type. Previously I was using the CastInst::createInferredCast()
function to do that; however, that function has been removed. Which of
the create() functions from CastInst should I use to do that? It seems
like the obdvious answer should be createPointerCast(). However, the
documentation for createPointerCast
2006 Oct 31
2
[LLVMdev] callinst vs. invokeinst
What is the difference between a CallInst and an InvokeInst in LLVM? Is
an InvokeInst a CallInst that can throw an exception?
Thanks,
Ryan
2011 Jan 19
3
[LLVMdev] know if individual LLVM's Instruction has a result, and how to obtain it?
Most LLVM IR instructions have a result field, according to the Language
Reference.
I want to know, for all LLVM Instructions, is there an easy and
consistent way to know if the current Inst has a result field?
And if yes, what is the best way to obtain it?
E.g.:
<result> = add<ty> <op1>,<op2> /; yields {ty}:result
/
All ADD instruction will have a
2010 May 29
3
[LLVMdev] "\01__isoc99_fscanf"
I have a bitcode file Y that has a symbol __isoc99_fscanf in it. When
I disassemble the bitcode, the symbol is written as
"\01__isoc99_fscanf". I am wondering where this symbol is coming from?
I grep'ed throughout /usr on my machine for both names, and I only
found __isoc99_fscanf, without the special character in front.
Regardless of where the symbol is coming from, I am
2010 Sep 09
0
[LLVMdev] instruction names
"Ryan M. Lefever" <lefever at illinois.edu> writes:
> Thank you. That is exactly what I want. Is there any more detailed
> documentation on how to use metadata?
I guess that clang is using metadata for debug info so looking at its
code can be useful. And there is this document explaining how LLVM
implements debug information:
2011 Jan 19
0
[LLVMdev] know if individual LLVM's Instruction has a result, and how to obtain it?
Hi Chuck,
> Most LLVM IR instructions have a result field, according to the Language Reference.
>
> I want to know, for all LLVM Instructions, is there an easy and consistent way
> to know if the current Inst has a result field?
> And if yes, what is the best way to obtain it?
the instruction is the result! So everywhere you though you needed to use
Instruction->getResult(),
2007 Apr 06
2
[LLVMdev] llc assertion failure
Is a PR a bug report on the bugzilla database? I am also running
bugpoint to see if that yields anything.
Reid Spencer wrote:
> Hi Ryan,
>
> On Fri, 2007-04-06 at 13:34 -0500, Ryan M. Lefever wrote:
>
>>I am running the following llvm-ld command to produce native code:
>>
>>llvm-ld -native -o code.exe code.bc -lm
>>
>>However, I am getting the
2009 Mar 12
1
[LLVMdev] function getting typed as variable argument functions
I have some code I am compiling with LLVM, and some functions in the
code are begin declared as variable argument functions with no named
arguments when the functions have known types. For example, the
following C code
uint64_t getStartTime();
is getting compiled to
declare i64 @getStartTime(...)
in bitcode. Why would this happen?
Regards,
Ryan
2007 Aug 15
3
[LLVMdev] c const
I don't mean to be a pain, but I was thinking about this a bit more.
Does gcc ignore the const keyword? If not, why has LLVM chosen to
deviate from gcc with respect to the const keyword? If so, then why do
we bother using const in LLVM API code? I'm just curious and wanted to
understand the thinking behind not preserving const.
Thanks,
Ryan
Chris Lattner wrote:
> This property
2007 Apr 06
0
[LLVMdev] llc assertion failure
On Fri, 2007-04-06 at 14:27 -0500, Ryan M. Lefever wrote:
> Is a PR a bug report on the bugzilla database?
Yes, so named because of the URL translation. I.e. http://llvm.org/PR123
takes you to bugzilla bug 123. PR == Problem Report.
> I am also running
> bugpoint to see if that yields anything.
Okay, good. That might turn up something useful. If you suspect its a
bug, please file
2008 Nov 04
3
[LLVMdev] fPIC
Does llvm-gcc support the -fPIC option? I am using LLVM on both 32 bit
linux and 64 bit linux, if that matters.
Regards,
Ryan
--
Ryan M. Lefever [http://www.crhc.uiuc.edu/~lefever/index.html]
2007 Apr 06
3
[LLVMdev] llc assertion failure
I am running the following llvm-ld command to produce native code:
llvm-ld -native -o code.exe code.bc -lm
However, I am getting the following assertion failure in llc. The
bytecode has been processed with opt, it passes opt bytecode
verification. I'm not too familiar with backend code generation. Does
anyone have any insight in to what the problem might be or how to go
about
2007 Mar 06
3
[LLVMdev] using dsa
What versions of llvm and llvm-poolalloc should I check out of cvs, in
order to use DSA? In a previous post John Criswell suggested checking
llvm and llvm-poolalloc out of cvs using the -r release_19 flag.
However, there were several post later that said that changes should not
be made to the release_19 branch.
At any rate, I've not seen any update on which versions of llvm and
2007 Apr 06
0
[LLVMdev] llc assertion failure
Hi Ryan,
On Fri, 2007-04-06 at 13:34 -0500, Ryan M. Lefever wrote:
> I am running the following llvm-ld command to produce native code:
>
> llvm-ld -native -o code.exe code.bc -lm
>
> However, I am getting the following assertion failure in llc. The
> bytecode has been processed with opt, it passes opt bytecode
> verification. I'm not too familiar with backend