Re: Paper: PR2: Peephole Raw Pointer Rewriting with LLMs for Translating C to Safer Rust

Kaz Kylheku <643-408-1753@kylheku.com>
Fri, 16 May 2025 17:57:35 -0000

          From comp.compilers

Related articles
[2 earlier articles]
Re: Paper: PR2: Peephole Raw Pointer Rewriting with LLMs for Translating C to Safer Rust arnold@freefriends.org (2025-05-14)
Re: Paper: PR2: Peephole Raw Pointer Rewriting with LLMs for Translating C to Safer Rust 643-408-1753@kylheku.com (Kaz Kylheku) (2025-05-14)
Re: Paper: PR2: Peephole Raw Pointer Rewriting with LLMs for Translating C to Safer Rust anton@mips.complang.tuwien.ac.at (2025-05-15)
Re: Paper: PR2: Peephole Raw Pointer Rewriting with LLMs for Translating C to Safer Rust gneuner2@comcast.net (George Neuner) (2025-05-15)
Re: Paper: PR2: Peephole Raw Pointer Rewriting with LLMs for Translating C to Safer Rust christopher.f.clark@compiler-resources.com (Christopher F Clark) (2025-05-16)
Re: Paper: PR2: Peephole Raw Pointer Rewriting with LLMs for Translating C to Safer Rust cross@spitfire.i.gajendra.net (2025-05-16)
Re: Paper: PR2: Peephole Raw Pointer Rewriting with LLMs for Translating C to Safer Rust 643-408-1753@kylheku.com (Kaz Kylheku) (2025-05-16)
| List of all articles for this month |
From: Kaz Kylheku <643-408-1753@kylheku.com>
Newsgroups: comp.compilers
Date: Fri, 16 May 2025 17:57:35 -0000
Organization: Compilers Central
References: 25-05-004 25-05-005 25-05-006 25-05-011
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="72396"; mail-complaints-to="abuse@iecc.com"
Keywords: Rust, optimize
Posted-Date: 16 May 2025 18:06:51 EDT

On 2025-05-16, cross@spitfire.i.gajendra.net <cross@spitfire.i.gajendra.net> wrote:
> In article 25-05-006, <arnold@freefriends.org> wrote:
>>In article 25-05-005,
>>Derek <derek-nospam@shape-of-code.com> wrote:
>>>I suspect that the same is happening with Rust. If so, how does using
>>>Rust make the code safer than using C without any checking switched
>>>on?
>>
>>Rust catches many problems at compile time. I am not at all a Rust
>>expert, or even a novice, but I don't think Rust does runtime
>>bounds checking, since it relies on compiler analysis instead.
>
> Other way 'round, mostly. Array bounds checking is performed at
> runtime, but if the compiler can prove that the bounds check is
> superfluous (trivial example: the index is the constant 0 for a
> non-empty array) then it can elide the code that does the check.


The logic doesn't even have to be specific to array bounds checking.


If we know that "i" is in the range 0 to 9, then "if (i < 10) S;"
is dead code, whether appearing literally that way in the source
code, or whether such a test is generated for an array access.


--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.