Re: wishlist: support for shorter pointers

2023-06-28 Thread Rafał Pietrak via Gcc
Hi Alex! W dniu 28.06.2023 o 03:54, waffl3x pisze: I want to preface this stating that I have little to no experience in compiler development, I am only merely just getting into it. With that said, I have messed around with library design a fair amount, and this seems like something that could

Re: wishlist: support for shorter pointers

2023-06-28 Thread Jonathan Wakely via Gcc
On Wed, 28 Jun 2023, 08:14 Rafał Pietrak via Gcc, wrote: > Hi Alex! > > W dniu 28.06.2023 o 03:54, waffl3x pisze: > > I want to preface this stating that I have little to no experience in > compiler > > development, I am only merely just getting into it. With that said, I > have messed around > >

Re: [PATCH] Basic asm blocks should always be volatile

2023-06-28 Thread Julian Waters via Gcc
Hi Andrew, On a Microsoft Windows target the following (placed inside a function of course) will only work correctly if volatile is specified in the basic asm block (or if the attached patch was applied to gcc): asm ("1:" "\n" "\t" ".seh_handler __C_specific_handler, @except" "\n"

Re: wishlist: support for shorter pointers

2023-06-28 Thread waffl3x via Gcc
>This is from just one source file, which otherwise is "plain C". If I >was to put it into a library that use "asm tweaked fancy pointers", a >portable fragment of code becomes "target dedicated" - this is undesired. I sympathize with your desire to not lock your codebase to a particular target, I

Re: [PATCH] Basic asm blocks should always be volatile

2023-06-28 Thread Andrew Pinski via Gcc
On Wed, Jun 28, 2023 at 12:32 AM Julian Waters wrote: > > Hi Andrew, > > On a Microsoft Windows target the following (placed inside a function of > course) will only work correctly if volatile is specified in the basic asm > block (or if the attached patch was applied to gcc): These inline-asm

Re: wishlist: support for shorter pointers

2023-06-28 Thread Rafał Pietrak via Gcc
Hi Jonathan, W dniu 28.06.2023 o 09:31, Jonathan Wakely pisze: On Wed, 28 Jun 2023, 08:14 Rafał Pietrak via Gcc, [-] how it looks like. I have a lot of code like this scattered around: ---                                 y->next = NULL;              

Re: wishlist: support for shorter pointers

2023-06-28 Thread Rafał Pietrak via Gcc
Hi Alex, W dniu 28.06.2023 o 09:34, waffl3x pisze: [--] --- y->next = NULL; if (our) { out->next = a; for (y = t->HD; y && y->next; y = y->next) if (y) y->next = a; fit-

types in GIMPLE IR

2023-06-28 Thread Krister Walfridsson via Gcc
I have some random questions concerning types in the GIMPLE IR that I would appreciate some clarification on. Type safety --- Some transformations treat 1-bit types as a synonym of _Bool and mix the types in expressions, such as: _2; _Bool _3; _Bool _4; ... _4 = _2 ^ _3;

Re: wishlist: support for shorter pointers

2023-06-28 Thread waffl3x via Gcc
Here's a quick and dirty example of how this function could be rewritten with modern C++. I omitted some necessary details, particularly the implementation of the linked list iterator. I also wrote it out quickly so I can't be certain it's 100% correct, but it should give you an idea of whats pos

Re: [PATCH] Basic asm blocks should always be volatile

2023-06-28 Thread Julian Waters via Gcc
Hi Andrew, On the contrary, code compiled with gcc with or without the applied patch operates very differently, with only gcc with the applied patch producing a fully correctly operating program as expected. Even if the above inline assembly blocks never worked due to other optimizations however,

Re: wishlist: support for shorter pointers

2023-06-28 Thread Rafał Pietrak via Gcc
Hi Alex, W dniu 28.06.2023 o 11:56, waffl3x pisze: Here's a quick and dirty example of how this function could be rewritten with modern C++. I omitted some necessary details, particularly the implementation of the linked list iterator. I also wrote it out quickly so I can't be certain it's 100

Re: wishlist: support for shorter pointers

2023-06-28 Thread waffl3x via Gcc
> Hmm... that's disappointing :( nothing was generated. Function templates are not functions, they are templates of functions, they will not generate any code unless they are instantiated. > then again. I've noticed that you've changed pointers to indices. No, I changed pointers to a template typ

Re: wishlist: support for shorter pointers

2023-06-28 Thread Rafał Pietrak via Gcc
Hi Alex, W dniu 28.06.2023 o 14:12, waffl3x pisze: [--] them having some sort of fancy pointers in there somewhere. Realistically though, it will take some time to get used to all the C++isms before you would be able to be proficient with anything Boost would provide. I don't mean to b

Re: wishlist: support for shorter pointers

2023-06-28 Thread Martin Uecker
Sounds like named address spaces to me: https://gcc.gnu.org/onlinedocs/gcc/Named-Address-Spaces.html Best, Martin Am Dienstag, dem 27.06.2023 um 14:26 +0200 schrieb Rafał Pietrak via Gcc: > Hello everybody, > > I'm not quite sure if this is correct mailbox for this suggestion (may > be "embed

Re: wishlist: support for shorter pointers

2023-06-28 Thread Rafał Pietrak via Gcc
Hi Martin, W dniu 28.06.2023 o 15:00, Martin Uecker pisze: Sounds like named address spaces to me: https://gcc.gnu.org/onlinedocs/gcc/Named-Address-Spaces.html Only to same extend, and only in x86 case. The goal of the wish-item I've describe is to shorten pointers. I may be wrong and have

Re: [PATCH] Basic asm blocks should always be volatile

2023-06-28 Thread Michael Matz via Gcc
Hello, On Wed, 28 Jun 2023, Julian Waters via Gcc wrote: > On the contrary, code compiled with gcc with or without the applied patch > operates very differently, with only gcc with the applied patch producing a > fully correctly operating program as expected. Even if the above inline > assembly b

Re: wishlist: support for shorter pointers

2023-06-28 Thread Richard Earnshaw (lists) via Gcc
On 28/06/2023 15:51, Rafał Pietrak via Gcc wrote: Hi Martin, W dniu 28.06.2023 o 15:00, Martin Uecker pisze: Sounds like named address spaces to me: https://gcc.gnu.org/onlinedocs/gcc/Named-Address-Spaces.html Only to same extend, and only in x86 case. The goal of the wish-item I've describ

Re: types in GIMPLE IR

2023-06-28 Thread Michael Matz via Gcc
Hello, On Wed, 28 Jun 2023, Krister Walfridsson via Gcc wrote: > Type safety > --- > Some transformations treat 1-bit types as a synonym of _Bool and mix the types > in expressions, such as: > >_2; > _Bool _3; > _Bool _4; > ... > _4 = _2 ^ _3; > > and similarly mixing _Bool

Re: wishlist: support for shorter pointers

2023-06-28 Thread Martin Uecker
Am Mittwoch, dem 28.06.2023 um 16:44 +0100 schrieb Richard Earnshaw (lists): > On 28/06/2023 15:51, Rafał Pietrak via Gcc wrote: > > Hi Martin, > > > > W dniu 28.06.2023 o 15:00, Martin Uecker pisze: > > > > > > Sounds like named address spaces to me: > > > https://gcc.gnu.org/onlinedocs/gcc/Name

Re: wishlist: support for shorter pointers

2023-06-28 Thread Rafał Pietrak via Gcc
Hi Richard, W dniu 28.06.2023 o 17:44, Richard Earnshaw (lists) pisze: [--] I think I understand what you're asking for but: From what I can see below. You do. The case is exactly this. 1) You'd need a new ABI specification to handle this, probably involving register assignment

Re: wishlist: support for shorter pointers

2023-06-28 Thread Richard Earnshaw (lists) via Gcc
On 28/06/2023 17:07, Martin Uecker wrote: Am Mittwoch, dem 28.06.2023 um 16:44 +0100 schrieb Richard Earnshaw (lists): On 28/06/2023 15:51, Rafał Pietrak via Gcc wrote: Hi Martin, W dniu 28.06.2023 o 15:00, Martin Uecker pisze: Sounds like named address spaces to me: https://gcc.gnu.org/onli

Re: wishlist: support for shorter pointers

2023-06-28 Thread Martin Uecker
Am Mittwoch, dem 28.06.2023 um 17:49 +0100 schrieb Richard Earnshaw (lists): > On 28/06/2023 17:07, Martin Uecker wrote: > > Am Mittwoch, dem 28.06.2023 um 16:44 +0100 schrieb Richard Earnshaw (lists): > > > On 28/06/2023 15:51, Rafał Pietrak via Gcc wrote: > > > > Hi Martin, > > > > > > > > W dni

Re: [PATCH] Basic asm blocks should always be volatile

2023-06-28 Thread Andrew Pinski via Gcc
On Wed, Jun 28, 2023 at 8:04 AM Michael Matz wrote: > > Hello, > > On Wed, 28 Jun 2023, Julian Waters via Gcc wrote: > > > On the contrary, code compiled with gcc with or without the applied patch > > operates very differently, with only gcc with the applied patch producing a > > fully correctly o

Re: Query status of GSoC project: CPyChecker

2023-06-28 Thread Eric Feng via Gcc
Hi Steven, Thanks for reaching out. The project is still in very early stages. So far we have taught the analyzer the basic behavior for PyLong_FromLong, PyList_New, and Py_DECREF via known function subclassing. Additionally, Py_INCREF is supported out of the box. Reference count checking function

gcc-10-20230628 is now available

2023-06-28 Thread GCC Administrator via Gcc
Snapshot gcc-10-20230628 is now available on https://gcc.gnu.org/pub/gcc/snapshots/10-20230628/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 10 git branch with the following options: git://gcc.gnu.org/git/gcc.git branch

new mirror greece

2023-06-28 Thread Konstantinos Draziotis via Gcc
Hello, I hope this message finds you well. I'd like to let you know that I have successfully set up a mirror (http/https server) in Greece for gcc. Location : Thessaloniki / Greece Admin Name : K. A. Draziotis Admin Email : drazi...@gmail.com Sponsor Name: Aristotle University of

Re: wishlist: support for shorter pointers

2023-06-28 Thread Rafał Pietrak via Gcc
Hi Richard, W dniu 28.06.2023 o 17:44, Richard Earnshaw (lists) pisze: [---] I think I understand what you're asking for but: 1) You'd need a new ABI specification to handle this, probably involving register assignments (for the 'segment' addresses), the initialization of those at star

Re: types in GIMPLE IR

2023-06-28 Thread Richard Biener via Gcc
On Wed, Jun 28, 2023 at 5:47 PM Michael Matz via Gcc wrote: > > Hello, > > On Wed, 28 Jun 2023, Krister Walfridsson via Gcc wrote: > > > Type safety > > --- > > Some transformations treat 1-bit types as a synonym of _Bool and mix the > > types > > in expressions, such as: > > > >_2; >

Re: [PATCH] Basic asm blocks should always be volatile

2023-06-28 Thread Julian Waters via Gcc
Hi Andrew, Here is a simpler testcase, with the resulting assembly attached below int main() { asm ("nop" "\n" "\t" "nop" "\n" "\t" "nop"); asm volatile ("nop" "\n" "\t" "nop" "\n" "\t" "nop"); } objdump --disassemble-all -M intel -M