similar to: clang invokes assembler when generating obj file?

Displaying 20 results from an estimated 10000 matches similar to: "clang invokes assembler when generating obj file?"

2015 Sep 09
2
clang invokes assembler when generating obj file?
Nice! Thanks, Tom. It works. On Wed, Sep 9, 2015 at 12:30 PM Tom Stellard <tom at stellard.net> wrote: > On Wed, Sep 09, 2015 at 07:21:30PM +0000, Xiaochu Liu via llvm-dev wrote: > > Dear there, > > > > I'm trying to use clang to invoke my backend to generate obj code using > > command: > > > > clang -target x-linux-gnu global.c -c > > >
2015 Sep 10
2
how to link clang generated obj targeting BPF
Dear there, I was trying to use clang to cross compile executable directly on my mac to bpf ISA: clang -target bpf-linux-gnu aaa.c But I guess maybe the linker does not support BPF? (with -c clang can generate unlinked objs) Unexpected arch UNREACHABLE executed at llvm/tools/clang/lib/Driver/Tools.cpp:8113 Should I use other linkers to link clang generated BPF objs? Thanks, Xiaochu
2016 Mar 16
2
How to prevent clang/llvm from generating floating-point instructions?
Hi Tim, Thanks for your message! It turns out that the infrastructure (an outdated one) that I am working on is using gcc+dragonegg to generate llvm code: gcc -m32 -S -c -O0 -fplugin=$(DRAGONEGG_SO) -fplugin-arg-dragonegg-emit-ir $< -o $@.tmp It directly generates llvm code with fadd, etc. I'm not familiar with dragonegg plugin... Thanks, XIaochu On Wed, Mar 16, 2016 at 12:00 PM,
2016 Aug 12
2
Invoke loop vectorizer
Hi Daniel, I increased the size of your test to be 128 but -stats still shows no loop optimized... Xiaochu On Aug 12, 2016 11:11 AM, "Daniel Berlin" <dberlin at dberlin.org> wrote: > It's not possible to know that A and B don't alias in this example. It's > almost certainly not profitable to add a runtime check given the size of > the loop. > > >
2016 Aug 12
2
Invoke loop vectorizer
Hi Andrey, Thanks. I found even when loop vectorizer and SLP vectorizer are enabled, my simple test still not get optimized. I also tried clang pragma in my test to force vectorization. What do you think is the problem? Test: #define SIZE 8 void bar(int *A, int* B,int K) { #pragma clang loop vectorize(enable) vectorize_width(2) unroll_count(8) for (int i = 0; i < SIZE; ++i) A[i]
2016 Aug 12
4
Invoke loop vectorizer
I'm not compiling it to x86. Should loop optimizer something independent of the target? If so, should the vectorized code on IR level? On Aug 12, 2016 11:39 AM, "Daniel Berlin" <dberlin at dberlin.org> wrote: > cat > test.c > > #define SIZE 128 > > void bar(int *restrict A, int* restrict B,int K) { > > #pragma clang loop vectorize(enable)
2016 Mar 16
2
How to prevent clang/llvm from generating floating-point instructions?
Dear there, I was trying to compile a code with only integer type variables and integer operations. Clang/llvm kept showing me llvm code with floating-point instructions (fmul, fadd, fptosi, etc.). Is there a way in Clang or llvm to stop the compiler from doing that? My experiment does not allow floating-point operations... Thanks, Xiaochu
2015 Aug 02
2
[LLVMdev] Unable to generate obj file using llc for bpf
Dear there, I wasn't able to generate obj file for bpf using llc: llc -march bpf -filetype=obj foo.bc Anyone knows what is the missing part in their backend? I want to make it work for my project. Thanks, Xiaochu -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150802/e0b55467/attachment.html>
2015 Aug 03
2
[LLVMdev] Unable to generate obj file using llc for bpf
Hi Alexei, I haven't tried to run code yet. The clang frontend can generate machine code for bpf but llc does not do the job. When i use : llc -march bpf -filetype=obj arith.bc It has this error message: Assertion failed: (isa<X>(Val) && "cast<Ty>() argument of incompatible type!"), function cast, file
2016 Aug 11
2
Invoke loop vectorizer
Hi there , I use clang-cl /Qvec test.c to compile the code. But the pass LoopVectorizer is never invoked. I was wondering if this is sufficient to enable auto vectorizer? Thanks, Xiaochu -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160811/8b6cb760/attachment.html>
2016 Aug 11
2
Invoke clang options in clang-cl.
Hi there, I'm trying to invoke options in clang-cl. Clang-cl -xclang -fvectorize test.cpp But it shows unknown argument: -fvectorize. I checked options.td and -xclang and -fvectorize options are there. Is there anyway we can change clang to support vector options? Thanks, Xiaochu -------------- next part -------------- An HTML attachment was scrubbed... URL:
2016 Aug 08
2
Clang command line to invoke LLVM flags
Hi there, I was wondering if there is a way to set llc flags in clang? Like llc -mattr=+abc How to set this subtarget in clang? Thanks, Xiaochu -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160808/d641eef1/attachment.html>
2015 Jul 04
3
[LLVMdev] Declare multiple data type for a register class in tblegen
Oh, they have selection details in the end. Let me check that first... On Sat, Jul 4, 2015 at 4:05 PM Xiaochu Liu <xiaochu1122 at gmail.com> wrote: > Hi Matt, > > I tried debug-only=isel and have some more informations. > The steps before 'Legalized selection'( excluding it) all use v2i32 load. > At the step of 'Legalized selection', it replaced one v2i32
2015 Aug 27
2
preserve registers across function call
Hi Marcello, Thanks for your reply. I will try to pass down the mask! I have one more question. In my backend I return CSR_RegMask in getCallPreservedMask and return CSR_SaveList in getCalleeSavedRegs. Is that a correct setup? I dumped the regmask and found that callee saved regs are marked 1 and non-callee saved regs are 0. Thanks, Xiaochu On Wed, Aug 26, 2015 at 5:58 PM Marcello Maggioni
2015 Nov 24
2
[backend]two-address encoding in llvm tblgen
Hi Hal, Thanks for your reply and it is helpful! I have a quick question: When I use BuildMI to build instructions in this case, do I have to add all three of the register operands explicitly (operand 0 and 1 are the same)? Thanks, Xiaochu On Tue, Nov 24, 2015 at 3:14 PM, Hal Finkel <hfinkel at anl.gov> wrote: > ----- Original Message ----- >> From: "Xiaochu Liu via
2015 Mar 17
4
[LLVMdev] Target-specific defaults for LLVM tools?
On 3/17/15 3:19 PM, Steve King wrote: > Doesn't count for much, but I'm sympathetic to Dario's concern with > cl::opt and clang defaults. In one large out-of-tree project, > colleagues decided to create their own driver to handle the required > customization of the build process and options. > > If clang is the user's one stop shop, here's one such cross
2015 Sep 30
3
[libunwind][Mips] Problem using gas to assemble UnwindRegistersSave.S
> > Should the integrated assembler be enabled by default for the Mips? > > Not yet. There's a number of quiet mis-assembly bugs at the moment. The > plan is to switch it on once it's good enough for the Linux kernel and see what > bug reports come back. Having said this, we had our first successful boot of the Linux kernel build with clang and -fintegrated-as today.
2015 Jul 03
2
[LLVMdev] Declare multiple data type for a register class in tblegen
Thanks. I'm gonna try tomorrow and let you know. On Thu, Jul 2, 2015 at 6:51 PM Matt Arsenault <Matthew.Arsenault at amd.com> wrote: > On 07/02/2015 06:41 PM, Xiaochu Liu wrote: > > Hi Matt, > > > > I did call addRegisterClass in TargetLowering for all the possible > > types in the register. And for typecasting instructions (i32 to i64), > > it works.
2015 Aug 27
2
preserve registers across function call
Dear there, I was wondering how to preserve registers (caller saved) across calls. I implemented getCalleeSavedRegs and getCallPreservedMask. But the non-callee-saved registers are still not saved by caller. I want to spill these registers in use on stack right before the call. From my understanding, the register allocator in llvm will do the spill and restoring automatically? Is there anything I
2016 Mar 31
0
PHI inst has two exact the same operands?
yes, this is valid assuming bb9 dominates bb10. Not sure what you mean by "support this", unless your tool doesn't handle certain types of CFG's On Wed, Mar 30, 2016 at 8:12 PM, Xiaochu Liu via llvm-dev < llvm-dev at lists.llvm.org> wrote: > Dear there, > > Is the following phi instruction valid? > > %j_8 = phi i32 [ %j_100, %"<bb 13>" ], [