similar to: [LLVMdev] Inline Assembly

Displaying 20 results from an estimated 90000 matches similar to: "[LLVMdev] Inline Assembly"

2004 Sep 13
0
[LLVMdev] Inline Assembly
Reid Spencer wrote: > In order to get to the next stage with LLVM (like compiling a kernel) we > need to allow "pass through" of inline assembly so things like device > drivers, interrupt vectors, etc. can be written. While this feature > breaks the "pure" LLVM IR, I don't see any way around it. <shameless plug> Actually, there should be a way around it.
2004 Sep 17
2
[LLVMdev] Inline Assembly (unique arch string for llvm)
On Mon, 2004-09-13 at 11:40, John Criswell wrote: > My impression is that inline assembly bites us a lot not because it's > used a lot but because the LLVM compiler enables #defines for the i386 > platform that we don't support. > > I think a lot of code has the following: > > #ifdef _i386 > inline asm > #else > slow C code > #endif > > The LLVM
2017 Apr 04
3
[inline-asm][asm-goto] Supporting "asm goto" in inline assembly
> On Apr 4, 2017, at 11:44 AM, John McCall via llvm-dev <llvm-dev at lists.llvm.org> wrote: > >> On Apr 4, 2017, at 2:12 PM, Matthias Braun <matze at braunis.de <mailto:matze at braunis.de>> wrote: >> My two cents: >> >> - I think inline assembly should work even if the compiler cannot parse the contents. This would rule out msvc inline assembly
2014 Jun 20
3
[LLVMdev] Inline Assembly in IR
Dear, Can anybody comment on inserting inline assembly in LLVM IR? -- Pratik -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140620/03400e95/attachment.html>
2017 Apr 04
3
[inline-asm][asm-goto] Supporting "asm goto" in inline assembly
Asm goto feature was introduces to GCC in order to optimize the support for tracepoints in Linux kernel (it can be used for other things that do nop patching). GCC documentation describes their motivating example here: https://gcc.gnu.org/onlinedocs/gcc-4.8.4/gcc/Extended-Asm.html #define TRACE1(NUM) \ do { \
2017 Apr 04
1
[inline-asm][asm-goto] Supporting "asm goto" in inline assembly
On Tue, Apr 4, 2017 at 6:07 AM Yatsina, Marina via llvm-dev < llvm-dev at lists.llvm.org> wrote: > Asm goto feature was introduces to GCC in order to optimize the support > for tracepoints in Linux kernel (it can be used for other things that do > nop patching). > > > > GCC documentation describes their motivating example here: > > >
2017 Apr 04
4
[inline-asm][asm-goto] Supporting "asm goto" in inline assembly
My two cents: - I think inline assembly should work even if the compiler cannot parse the contents. This would rule out msvc inline assembly (or alternatively put all the parsing and interpretation burden on the frontend), but would work with gcc asm goto which specifies possible targets separately. - Supporting control flow in inline assembly by allowing jumps out of an assembly block seems
2011 Mar 01
2
[LLVMdev] Sub registers in inline assembly
I was wondering if llvm supports sub registers in an inline asm string. For example, in gcc, using modifiers %w0 makes it possible to access ax if %0 refers to eax. If there is any support, do you know where it is implemented ? I'd like to add such a support for another target. Thank you ! Damien -------------- next part -------------- An HTML attachment was scrubbed... URL:
2011 Mar 01
0
[LLVMdev] Sub registers in inline assembly
On Mar 1, 2011, at 1:24 PM, Damien Vincent wrote: > > I was wondering if llvm supports sub registers in an inline asm string. > For example, in gcc, using modifiers %w0 makes it possible to access ax if %0 refers to eax. > > If there is any support, do you know where it is implemented ? I'd like to add such a support for another target. Hi Damien, It sure does. These
2017 Mar 29
3
[inline-asm][asm-goto] Supporting "asm goto" in inline assembly
Hi, I wanted to revive this issue of supporting asm goto (Bug 9295<https://bugs.llvm.org/show_bug.cgi?id=9295>). As was already proposed, the best way seems to be introducing new IR. If we're changing the IR, we should probably provide an infrastructure that solves or at least enables future support for things like: 1. MS-style inline asm jmps and goto (Bug
2013 Jan 31
3
[LLVMdev] Label and jump support for ms-inline-assembly
Wondering if someone could tell me what would be involved to add support for jumps (within asm block, between asm blocks, and between C/C++ and asm blocks) for Microsoft inline assembly? Is there a rough feel for where it is on the roadmap? Thanks, -Allen -------------- next part -------------- An HTML attachment was scrubbed... URL:
2016 Oct 03
2
ThinLTO: module-scope inline assembly blocks
Hi all, I am trying to add ThinLTO to the LDC compiler. It seems to work well on Mac (XCode 8) and Ubuntu (ld.gold + LLVMgold plugin). However, I am running into trouble with module-scope inline assembly blocks. I have a module ASM with a function `foo` defined in an inline assembly block (and an LLVM IR `declare @foo()` for it). There is also a "normal" function `void
2015 Mar 03
5
[LLVMdev] Inline Assembly: Memory constraints with offsets
Hi, I'm trying to implement the ZC inline assembly constraint for Mips. This constraint is a memory constraint that expands to an address with an offset (the range of the offset varies according to the subtarget), so the inline assembly in: int data[10]; void ZC(void) { asm volatile ("foo %0 %1" : : "ZC"(data[1]), "ZC"(data[2])); } Should expand to
2019 Dec 09
4
IR inline assembly: the x86 Intel "offset" operator
Hi all, I'm trying to land (a rebased version of) http://llvm.org/D37461 - which should make it possible to handle x86 Intel assembly like mov eax, offset Foo::ptr + 1 (Currently, omitting the +1 works... but offset doesn't work in compound expressions.) I'm having trouble figuring out what inline assembly I can emit into the LLVM IR that will work properly. So far, the closest
2011 Jul 01
2
[LLVMdev] Reporting errors in inline assembly
I want to report a problem with an inline assembly instruction from a code generator pass? How can I do that with the proper diagnostic format and source location? Right now we only get: clang -c /d/g/clang-tests/gcc-4_2-testsuite/src/gcc.target/i386/pr30848.c fatal error: error in backend: Inline asm output regs must be last on the x87 stack But gcc-4-2 can: $ gcc-4.2 -c
2011 Jul 05
0
[LLVMdev] Reporting errors in inline assembly
On Jul 1, 2011, at 4:08 PM, Jakob Stoklund Olesen wrote: > I want to report a problem with an inline assembly instruction from a code generator pass? > > How can I do that with the proper diagnostic format and source location? > > Right now we only get: > > clang -c /d/g/clang-tests/gcc-4_2-testsuite/src/gcc.target/i386/pr30848.c > fatal error: error in backend: Inline
2017 Dec 12
3
File/module scope inline assembly
I am trying to support an experimental DSL that uses non-C identifiers, but I want to write the implementation of the runtime support libraries for this DSL in C. The compiler is built using the LLVM v5.0.0 release branch. To do this I thought I could simply write: int foo() { return 42; } // The C implementation asm(".alias nonCname foo"); // Make the non-C name be a synonym for
2017 Feb 05
2
clang/llvm support for %= in inline assembly
from https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html Under certain circumstances, GCC may duplicate (or remove duplicates of) > your assembly code when optimizing. This can lead to unexpected duplicate > symbol errors during compilation if your asm code defines symbols or > labels. Using ‘%=’ (see AssemblerTemplate) may help resolve this problem. ‘%=’ > Outputs a number that is
2016 Oct 03
2
ThinLTO: module-scope inline assembly blocks
On Mon, Oct 3, 2016 at 4:27 PM, Teresa Johnson <tejohnson at google.com> wrote: > > > On Mon, Oct 3, 2016 at 6:53 AM, Johan Engelen via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Hi all, >> I am trying to add ThinLTO to the LDC compiler. It seems to work well >> on Mac (XCode 8) and Ubuntu (ld.gold + LLVMgold plugin). >> However, I am
2011 Jul 01
2
[LLVMdev] Reporting errors in inline assembly
I want to report a problem with an inline assembly instruction from a code generator pass? How can I do that with the proper diagnostic format and source location? Right now we only get: clang -c /d/g/clang-tests/gcc-4_2-testsuite/src/gcc.target/i386/pr30848.c fatal error: error in backend: Inline asm output regs must be last on the x87 stack But gcc-4-2 can: $ gcc-4.2 -c