Demi Obenour via llvm-dev
2017-Jun-03 03:36 UTC
[llvm-dev] llvm-dev Digest, Vol 156, Issue 13
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>