Displaying 20 results from an estimated 5000 matches similar to: "Why are GEPs type based?"
2020 Jul 08
4
[RFC] Saturating left shift intrinsics
Hello,
This is an RFC for adding intrinsics which perform saturating signed/unsigned left shift.
There is currently a patch on Phabricator here:
https://reviews.llvm.org/D83216
The intrinsics are of the form
i32 @llvm.sshl.sat.i32(i32, i32)
i32 @llvm.ushl.sat.i32(i32, i32)
<4 x i32> @llvm.sshl.sat.v4i32(<4 x i32>, <4 x i32>)
<4 x i32>
2020 Jun 25
2
[cfe-dev] Phabricator Maintenance
On Thu, Jun 25, 2020 at 2:43 AM Nikita Popov <nikita.ppv at gmail.com> wrote:
> On Thu, Jun 25, 2020 at 11:22 AM Zachary Turner via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> I can’t really provide a doc, but i can describe what I believe to be the
>> biggest problem.
>>
>> In a GH PR, comments are associated with commit hashes. If a commit
2020 Jun 25
2
[cfe-dev] Phabricator Maintenance
On Thu, Jun 25, 2020 at 11:43 AM Nikita Popov via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> On Thu, Jun 25, 2020 at 11:22 AM Zachary Turner via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>> What this means for LLVM is that everyone will have to completely stop using history rewriting operations. No more rebase, squash, amend, etc.
>
> This is also incorrect. Most
2020 Mar 26
2
Bumping the CMake requirement for libc++ and libc++abi
> On Mar 25, 2020, at 19:42, Chris Tetreault <ctetreau at quicinc.com> wrote:
>
> I would like to just chime in and say that I’m fairly strongly opposed to any blanket version increases without justification. Having a low version requirement is a feature. It means that more people can build the codebase. We should increase the minimum CMake version requirement only if we need to do
2020 Feb 08
3
LLVM compile-time regression tracking?
Hi,
Does the LLVM project perform any kind of tracking for commit-by-commit
compile-time changes? It looks like LNT only tracks run-time performance
(and to be honest I wasn't able to make heads or tails of the results even
for that -- the interface was pretty unintuitive to me.)
While it is "normal" that each new LLVM release regresses compile-time by
2-3%, LLVM 10 seems to be
2020 Mar 26
4
Bumping the CMake requirement for libc++ and libc++abi
I understand organization restrictions and old operating systems (I use CentOS 7 myself), but I’ll note that the only requirement for running a new CMake is the ability to download and untar a tarball; in particular, you don’t require sudo. (I understand that there may be restrictions around running arbitrary executables downloaded from the internet, which of course make sense, but I wanted to
2020 Mar 25
3
Bumping the CMake requirement for libc++ and libc++abi
> On Mar 25, 2020, at 13:07, Nikita Popov <nikita.ppv at gmail.com> wrote:
>
> On Wed, Mar 25, 2020 at 5:01 PM Tom Stellard via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
> On 03/25/2020 06:20 AM, Louis Dionne wrote:
> >
> >
> >> On Mar 25, 2020, at 00:47, Tom Stellard <tstellar at redhat.com
2019 Feb 01
6
Status of the function merging pass?
Hi Nikita,
Glad to hear that Rust code can benefit a lot from this.
I have put patches to enable merge-similar functions with thinLTO.
https://reviews.llvm.org/D52896 etc.
<https://reviews.llvm.org/D52896>
This is more powerful than existing merge-functions pass and all we need to do is port these patches to trunk llvm. I'd be happy to help with this effort.
-Aditya
2020 Feb 05
4
[RFC] IRBuilder polymorphism: Templates/virtual
Hi,
The IRBuilder is currently templated over a constant folder, and an
instruction inserter. https://reviews.llvm.org/D73835 proposes to move this
towards using virtual dispatch instead. As this is a larger design change,
I would like to get some feedback on this.
The current templated design of IRBuilder has a couple of problems:
1. It's not possible to share code between use-sites that
2020 Jun 15
5
[RFC] Integer Intrinsics for abs, in unsigned/signed min/max
Hello all.
This is a proposal to introduce 5 new integer intrinsics:
* absolute value
* signed min
* signed max
* unsigned min
* unsigned max
This is motivated by the fact that we keep working around
not having these intrinsics, and that constantly leads us into
having more workarounds, and causes infinite combine loops.
Here's a (likely incomplete!) list of motivational bugs:
infinite
2020 Jul 17
2
Allowed operations for passes that report "no change"
On Fri, Jul 17, 2020 at 10:52 PM Nikita Popov via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
> On Fri, Jul 17, 2020 at 9:30 PM Jonathan Roelofs via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>>
>> I’m digging through a build failure [1], and it looks like the loop idiom recognizer adds some instructions [2], and then removes them again [3]. I don’t understand
2020 Apr 08
7
RFC: Promoting experimental reduction intrinsics to first class intrinsics
Hi,
It’s been a few years now since I added some intrinsics for doing vector reductions. We’ve been using them exclusively on AArch64, and I’ve seen some traffic a while ago on list for other targets too. Sander did some work last year to refine the semantics after some discussion.
Are we at the point where we can drop the “experimental” from the name? IMO all target should begin to transition
2018 Nov 05
5
Safe fptoui/fptosi casts
I would be interested in learning what the set of used semantics for
float-to-int conversion is. If the only two used are 1) undefined behavior
if unrepresentable and 2) saturate to int_{min,max} with NaN going to zero,
then I think it makes sense to expose both of those natively in the IR. If
the set is much larger, I think separate intrinsics for each behavior would
make sense. It would be nice
2020 Jul 17
4
Allowed operations for passes that report "no change"
I’m digging through a build failure [1], and it looks like the loop idiom recognizer adds some instructions [2], and then removes them again [3]. I don’t understand why yet, but the LegacyPassManager detects that the structural hash of the function has changed, and complains that the pass didn’t correctly report that it changed the function [4] (even though materially, it didn’t).
This raises a
2019 Oct 01
2
Shift-by-signext - sext is bad for analysis - ignore it's use count?
The thing is, we *don't* "not demand" those high bits.
We *don't* not care what's in those bits - IR shifts don't mask their
shift amounts.
I.e we can't replace `x >> (32-y)` with `x >> (-y)`,
which would be legal transform should we not demand those bits.
We very much demand them. We just know those bits to be zero.
And i'm not sure how to convey
2018 Nov 05
3
Safe fptoui/fptosi casts
Hi everyone!
The fptoui/fptosi instructions are currently specified to return a poison
value if the rounded-towards-zero floating point number cannot be
represented by the target integer type. The motivation for this behavior is
that overflowing float to int casts in C are undefined behavior.
However, many newer languages prefer to have a float to integer cast that
is well-defined for all input
2020 May 18
2
Understanding LLD's SymbolTable's use of CachedHashStringRef
I was looking at the SymbolTable code in LLD COFF and ELF recently, and I’m confused by the use of CachedHashStringRef.
From what I understand, a CachedHashStringRef combines a StringRef with a computed hash. There’s no caching going on in the CachedHashStringRef itself; that is, if you construct CachedHashStringRef("foo"), and then construct a second
2019 Oct 07
2
Shift-by-signext - sext is bad for analysis - ignore it's use count?
On Mon, Oct 7, 2019 at 11:32 AM Roman Lebedev <lebedev.ri at gmail.com> wrote:
>
> Bump. Any further thoughts here?
>
> To recap - i don't really see how this can be a demandedbits problem - we do
> demand all those bits, we just know they must be zero.
> (i would love to be proven wrong though!)
>
> Roman.
>
> On Tue, Oct 1, 2019 at 11:17 PM Roman Lebedev
2020 Jun 25
3
[cfe-dev] Phabricator Maintenance
I can’t really provide a doc, but i can describe what I believe to be the
biggest problem.
In a GH PR, comments are associated with commit hashes. If a commit hash
ceases to exist, so do all comments associated with it. The comments are
quite literally destroyed and irretrievable.
What this means for LLVM is that everyone will have to completely stop
using history rewriting operations. No
2019 Feb 09
2
how experimental are the llvm.experimental.vector.reduce.* functions?
On Sat, Feb 9, 2019 at 6:25 PM Simon Pilgrim <llvm-dev at redking.me.uk> wrote:
> The add/sub (+mul) overflow intrinsics are being updated to support
> vectors to match the related add/sub saturation intrinsics. We haven't
> updated the docs yet as legalization, vectorization and various minor bits
> of plumbing still need to be finished before it can be officially supported