Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] LLVM in place of Dalvik on Android"
2013 Feb 20
3
[LLVMdev] ARM assembler's syntax in clang
So it turns out that I was wrong. It, in fact, is not standard. But
regardless, you can use asm to specify the exact name. Eg.
extern int func() asm("func");
You can read more here:
http://stackoverflow.com/questions/1034852/adding-leading-underscores-to-assembly-symbols-with-gcc-on-win32
Despite the title of the thread, the solution is compiler and system
independent.
--------------
2013 Jun 04
2
[LLVMdev] bug or expected behaviour?
On Jun 4, 2013, at 4:23 PM, Tyler Hardin <tghardin1 at catamount.wcu.edu> wrote:
> If this were a problem with an omitted statement involving a normal variable, I'd guess you're missing a volatile qualifier. I'm not 100% sure volatile is a valid qualifier for functions, but try it.
Well, yes, if I change the signature to:
void test(char * volatile x)
It works, but
2013 Jun 04
5
[LLVMdev] bug or expected behaviour?
On Jun 4, 2013, at 4:42 PM, Tyler Hardin <tghardin1 at catamount.wcu.edu> wrote:
> I was suggesting to add it to the function, like
> volatile void func(..);
> Theoretically, this would tell the compiler not to omit seemingly superfluous calls to func.
'volatile' can't apply to a function, so I'm not sure what you mean. In your example, 'volatile' modifies
2013 Jul 24
5
[LLVMdev] ubuntu on the mac
On Jul 24, 2013 2:52 AM, "Jacob Carlborg" <doob at me.com> wrote:
>
> Do your LLVM development on Mac OS X :)
Should work well. Apple is one of the bigger supporters of LLVM, so I'd
hope OS X would be a suitable dev platform.
> It depends on what your needs are. Using VirtualBox will probably be the
easiest. It also allows you to run both Mac OS X and Ubuntu
2013 Apr 06
2
[LLVMdev] How to compile object C with clang into llvm IR?
I got the following compile error. Did the message-arrays.m can be compiled into .bc? Or need include something for Object C language compile.
Jonathan
118-165-76-229:CodeGenObjC Jonathan$ pwd
/Users/Jonathan/llvm/release/src/tools/clang/test/CodeGenObjC
118-165-76-229:CodeGenObjC Jonathan$ clang -emit-llvm -o 1.ll -c message-arrays.m
message-arrays.m:5:3: warning: instance method
2013 Feb 20
0
[LLVMdev] ARM assembler's syntax in clang
You were correct the first time. That post is talking about a Windows target. Ashi is working on iOS. Underscores are normal and expected. Using an "asm" name on the symbol is a horrible hack. Adding the underscore to the name in the .s file is the correct solution.
-Jim
On Feb 20, 2013, at 12:04 AM, Tyler Hardin <tghardin1 at catamount.wcu.edu> wrote:
> So it turns out that
2013 Jun 04
0
[LLVMdev] bug or expected behaviour?
I was suggesting to add it to the function, like
volatile void func(..);
Theoretically, this would tell the compiler not to omit seemingly
superfluous calls to func.
On Jun 4, 2013, at 4:23 PM, Tyler Hardin <tghardin1 at catamount.wcu.edu>
wrote:
> If this were a problem with an omitted statement involving a normal
variable, I'd guess you're missing a volatile qualifier. I'm
2013 Jun 05
1
[LLVMdev] bug or expected behaviour?
On Jun 4, 2013, at 5:20 PM, Tyler Hardin <tghardin1 at catamount.wcu.edu> wrote:
> I tried the "extern" specifier, which (I guess) you should use if the definition isn't in the file; and it worked with -O3.
That 'extern' doesn't do anything - it's implicit. Did you try without it and get different results? In my test here with the Mac OS X dev tools
2013 Jul 24
0
[LLVMdev] ubuntu on the mac
On 24 Jul 2013, at 08:47, Tyler Hardin <tghardin1 at catamount.wcu.edu> wrote:
> Not much slower. VBox does an amazing job at getting near native performance on modern machines (those with nested paging etc.). This is definitely the best option if your computer has ~2g ram and 2+ cores. Give the Ubuntu VM 2g and 1 (maybe 2) core/s and it should be fine.
I use VirtualBox (hosting a
2013 Jul 18
3
[LLVMdev] Proposal: function prefix data
As much as I like this idea for it's use in languages with type systems
like Haskell and Scheme, this proposal would limit LLVM to non-Harvard
architectures. That's generally a really small minority of all processors,
but it would mean there could never be a clang-avr.
An alternative you could use is, instead of using the function pointer as
the variable where you are referring to a
2013 Oct 28
2
[LLVMdev] Are Opcode and register mappings exposed anywhere?
On Oct 28, 2013, at 2:02 PM, Tyler Hardin <tghardin1 at catamount.wcu.edu> wrote:
> See the source here: https://github.com/earl/llvm-mirror/blob/master/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp. It looks like getRegisterName might do what you want, but I don't know where it's coming from. (Whether it's a function or a member of a super class. Hopefully, if it's
2013 Jun 05
0
[LLVMdev] bug or expected behaviour?
Hi Carl,
I don't know much about the specifics of any given optimisation, but if you do something like the following, you can at least see which optimisation pass is responsible.
At the very least perhaps that can point to the next place to investigate. (also interesting to note Apple's shipped clang doesn't exhibit this behaviour, I had to use my own recent svn tree)
$ clang -arch
2013 Feb 20
2
[LLVMdev] ARM assembler's syntax in clang
> Do you have any advice to make the code work both under Apple and GNU gcc?
The leading underscore for external symbols is standard, if that's what
you're referring to.
http://en.m.wikipedia.org/wiki/Underscore#Origins_in_identifiers
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2013 Jun 04
0
[LLVMdev] bug or expected behaviour?
If this were a problem with an omitted statement involving a normal
variable, I'd guess you're missing a volatile qualifier. I'm not 100% sure
volatile is a valid qualifier for functions, but try it.
If RTOS stands for real time OS, then reading up on volatile would be a
really good idea.
P.S. Sorry Carl, you're going to receive this twice. I forget to CC the
list.
--------------
2013 Jun 05
0
[LLVMdev] bug or expected behaviour?
I tried the "extern" specifier, which (I guess) you should use if the
definition isn't in the file; and it worked with -O3.
Input code:
extern void external(void);
void test(char *x)
{
x--;
if (!x)
{
external();
}
}
Command:
clang -S -o volatile-test.s -O3 test.c
Output attached.
The only line of interest is probably:
jmp external #
2013 Apr 06
0
[LLVMdev] How to compile object C with clang into llvm IR?
On Apr 5, 2013, at 9:19 PM, Jonathan wrote:
> I got the following compile error. Did the message-arrays.m can be compiled into .bc? Or need include something for Object C language compile.
Those are warnings, not errors. They otherwise compiled just fine. You should have a bitcode file named '1.ll' from each of those commands.
Chip
>
> Jonathan
>
>
2013 Oct 28
0
[LLVMdev] Are Opcode and register mappings exposed anywhere?
See the source here:
https://github.com/earl/llvm-mirror/blob/master/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp.
It looks like getRegisterName might do what you want, but I don't know
where it's coming from. (Whether it's a function or a member of a super
class. Hopefully, if it's a member, it's public.)
PS Sorry for the duplicate, Stephen. I forgot to CC the list.
On
2013 Jun 04
2
[LLVMdev] bug or expected behaviour?
I've been chasing down a bug for a few days in some RTOS code I'm building with clang. In the end it comes down to this code:
void external(void);
void test(char *x)
{
x--;
if (!x)
{
external();
}
}
When compiled for ARM with TOT clang (r183249) at -O1 or greater, no calls to 'external()' appear in the output code at all. I have an example
2013 Apr 06
0
[LLVMdev] How to compile object C with clang into llvm IR?
Look up --emit-llvm. I think it has to be used with -c.
On Apr 5, 2013 10:55 PM, "Jonathan" <gamma_chen at yahoo.com.tw> wrote:
> Following came from tools/clang/test/CodeGenObjC/message-arrays.m. But I
> don't know how to compile it at terminal command since no clang_cc1
> executable file. Can some one help me? I am writing the llvm backend
> document
2013 Oct 28
2
[LLVMdev] Are Opcode and register mappings exposed anywhere?
I'm iterating over MCInsts and I'd like to examine particular instructions. For example, I'd like to look at all x86 CALL64m instructions. I may be missing something, but it seems like my only option is to use MCInstPrinter::getOpcodeName and compare strings. (Of course, I could iterate through the opcodes and build up a table of the ones I'm interested in to avoid string