[llvm-dev] llvm-dev Digest, Vol 156, Issue 13

Demi Obenour via llvm-dev llvm-dev at lists.llvm.org
Fri Jun 2 20:36:44 PDT 2017


I think that the best way to implement setjmp and friends is using inline
assembly.

On Fri, Jun 2, 2017, 11:28 PM via llvm-dev <llvm-dev at lists.llvm.org> wrote:

> Send llvm-dev mailing list submissions to
>         llvm-dev at lists.llvm.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> or, via email, send a message with subject or body 'help' to
>         llvm-dev-request at lists.llvm.org
>
> You can reach the person managing the list at
>         llvm-dev-owner at lists.llvm.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of llvm-dev digest..."
>
>
> Today's Topics:
>
>    1. Re: setjmp in llvm (Tim Northover via llvm-dev)
>    2. Backend implementation for an architecture with only majority
>       operation instruction (Sreejita saha via llvm-dev)
>    3. Question regarding to learn LLVM (Amit Ghadge via llvm-dev)
>    4. Re: Failed to build libunwind the libcxx's __config       header
>       (Dmitry Golovin via llvm-dev)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Fri, 2 Jun 2017 19:21:33 -0700
> From: Tim Northover via llvm-dev <llvm-dev at lists.llvm.org>
> To: Wael Yehia <wmyehia2001 at yahoo.com>,  LLVM Developers Mailing List
>         <llvm-dev at lists.llvm.org>
> Subject: Re: [llvm-dev] setjmp in llvm
> Message-ID:
>         <
> CAFHTzfJS9pFePXEo2-BaK91hxnFEC8qCAOoQpdBjtSRQeV-Y3Q at mail.gmail.com>
> Content-Type: text/plain; charset="UTF-8"
>
> (Adding the list back in, especially as other people have taken an
> interest in really immobile intrinsics before).
>
> On 2 June 2017 at 18:33, Wael Yehia <wmyehia2001 at yahoo.com> wrote:
> > Thank you Tim. The C spec never stops enlightening me with new quirks.
> > Out of curiousity, did you know about this or grep'ed the spec for
> setjmp?
>
> I've got a standing interest in both threading (a canonical place
> where volatile is definitely not what you want) and OS programming
> (the extra 0.5 where it is, for memory mapped I/O) so I've read lots
> and lots about it. The final standards-blessed use is for reading
> variables in a signal handler.
>
> > BTW, how confident are you about the statement you made:
> >  "This is pretty much impossible in LLVM if you mean instructions LLVM
> >    considers side-effect free (e.g. a simple "add")."
> > Because I was tempted for a while to just ask the community about it,
> after having
> > spent few weeks experimenting, with a hope that there's a way to
> actually prevent
> > all instructions (including the side-effect free ones) from moving
> across calls.
>
> Pretty sure, I'm afraid. Even the strongest property, HasSideEffects
> which is basically a "this does stuff you don't understand"
> instruction to LLVM doesn't prevent that kind of code motion. Because
> even though the intrinsic might do things LLVM doesn't understand,
> "add" doesn't.
>
> Cheers.
>
> Tim.
>
>
> ------------------------------
>
> Message: 2
> Date: Thu, 1 Jun 2017 21:13:52 -0600
> From: Sreejita saha via llvm-dev <llvm-dev at lists.llvm.org>
> To: "llvm-dev at lists.llvm.org" <llvm-dev at lists.llvm.org>
> Subject: [llvm-dev] Backend implementation for an architecture with
>         only majority operation instruction
> Message-ID: <5930d7e8.4bfdca0a.4a191.2e43 at mx.google.com>
> Content-Type: text/plain; charset="utf-8"
>
> Hello everyone,
>
> I was trying to create an LLVM backend for a processor with a very simple
> architecture and that does all instructions like load, store, arithmetic
> and logical instructions using a bunch of majority functions. The processor
> has only one instruction(majority function) in its ISA and breaks down all
> other instructions into a number of majority instructions depending on what
> instruction it is. All the instructions have different combinations of
> majority operations. Is there any way to implement this without creating a
> new Selection DAG node for the majority operation?
> I was thinking of creation of a new Selection DAG node and mapping all the
> other instructions like loads, stores as pseudo instructions and breaking
> them up. Can someone please help me with this?
>
> Thanks!
> Sreejita
>
>
> Sent from Mail for Windows 10
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://lists.llvm.org/pipermail/llvm-dev/attachments/20170601/2fd71477/attachment.html
> >
>
> ------------------------------
>
> Message: 3
> Date: Fri, 2 Jun 2017 16:10:17 +0530
> From: Amit Ghadge via llvm-dev <llvm-dev at lists.llvm.org>
> To: LLVM Dev <llvm-dev at lists.llvm.org>
> Subject: [llvm-dev] Question regarding to learn LLVM
> Message-ID:
>         <
> CALRcH8Dfe5pZDWfEsH6KrFkgG7C1XGy9wKL89ELPYATL3vQidA at mail.gmail.com>
> Content-Type: text/plain; charset="UTF-8"
>
> Hi,
>
> I have basic knowledge about LLVM. I want to make expertise in it and
> also start contributing.
> So,
> How do I start?
> Where do I start?
> What basic fundamental knowledge is required?
> Any study material(books, link).
>
> Thanks,
> Amit G
>
>
> ------------------------------
>
> Message: 4
> Date: Fri, 02 Jun 2017 18:30:17 +0300
> From: Dmitry Golovin via llvm-dev <llvm-dev at lists.llvm.org>
> To: Tim Northover <t.p.northover at gmail.com>
> Cc: Dmitry Golovin via llvm-dev <llvm-dev at lists.llvm.org>
> Subject: Re: [llvm-dev] Failed to build libunwind the libcxx's
>         __config        header
> Message-ID: <3956711496417417 at web16j.yandex.ru>
> Content-Type: text/plain; charset="utf-8"
>
> Hi Tim,
>
> You can find the preprocessed UnwindLevel1.c and UnwindLevel1-gcc-ext.c
> attached.
>
> Regards,
> Dmitry
>
> 02.06.2017, 18:06, "Tim Northover" <t.p.northover at gmail.com>:
> > Hi Dmitry,
> >
> > On 2 June 2017 at 07:49, Dmitry Golovin via llvm-dev
> > <llvm-dev at lists.llvm.org> wrote:
> >>  Does anyone else have this problem? What can possibly cause such error?
> >
> > G++ doesn't support __has_feature, so it should be picking up the
> > default "#define __has_feature(__x) 0" further up in __config. The
> > preprocessed output (via "-E -dD") would be interesting to diagnose
> > the issue, if no-one else has seen it before.
> >
> > Cheers.
> >
> > Tim.
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: UnwindLevel1-gcc-ext.c.pp
> Type: application/octet-stream
> Size: 160363 bytes
> Desc: not available
> URL: <
> http://lists.llvm.org/pipermail/llvm-dev/attachments/20170602/77fee23e/attachment.obj
> >
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: UnwindLevel1.c.pp
> Type: application/octet-stream
> Size: 173121 bytes
> Desc: not available
> URL: <
> http://lists.llvm.org/pipermail/llvm-dev/attachments/20170602/77fee23e/attachment-0001.obj
> >
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> llvm-dev mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
> ------------------------------
>
> End of llvm-dev Digest, Vol 156, Issue 13
> *****************************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170603/135616bc/attachment.html>


More information about the llvm-dev mailing list