History log of /llvm-project-15.0.7/clang/lib/CodeGen/CGExpr.cpp (Results 26 – 50 of 1262)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-14.0.0-rc1
# cdc0573f 07-Feb-2022 Nikita Popov <[email protected]>

[MatrixBuilder] Remove unnecessary IRBuilder template (NFC)

IRBuilderBase exists specifically to avoid the need for this.


Revision tags: llvmorg-15-init
# f1712383 27-Jan-2022 Arthur Eubanks <[email protected]>

[NFC][Clang][OpaquePtr] Move away from deprecated Address constructor in CreateTempAlloca()

Specify the Address element type, which is the bitcast destination type.
(the whole bitcast won't be neede

[NFC][Clang][OpaquePtr] Move away from deprecated Address constructor in CreateTempAlloca()

Specify the Address element type, which is the bitcast destination type.
(the whole bitcast won't be needed after opaque pointers)

show more ...


# f15014ff 26-Jan-2022 Benjamin Kramer <[email protected]>

Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17"

This reverts commit ef8206320769ad31422a803a0d6de6077fd231d2.

- It conflicts with the existing llvm::size in STLEx

Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17"

This reverts commit ef8206320769ad31422a803a0d6de6077fd231d2.

- It conflicts with the existing llvm::size in STLExtras, which will now
never be called.
- Calling it without llvm:: breaks C++17 compat

show more ...


# ef820632 26-Jan-2022 serge-sans-paille <[email protected]>

Rename llvm::array_lengthof into llvm::size to match std::size from C++17

As a conquence move llvm::array_lengthof from STLExtras.h to
STLForwardCompat.h (which is included by STLExtras.h so no buil

Rename llvm::array_lengthof into llvm::size to match std::size from C++17

As a conquence move llvm::array_lengthof from STLExtras.h to
STLForwardCompat.h (which is included by STLExtras.h so no build
breakage expected).

show more ...


Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2
# 7725331c 10-Jan-2022 Nikita Popov <[email protected]>

[CodeGen] Avoid some pointer element type accesses

Possibly this is sufficient to fix PR53089.


# d2cc6c2d 03-Jan-2022 Serge Guelton <[email protected]>

Use a sorted array instead of a map to store AttrBuilder string attributes

Using and std::map<SmallString, SmallString> for target dependent attributes is
inefficient: it makes its constructor sligh

Use a sorted array instead of a map to store AttrBuilder string attributes

Using and std::map<SmallString, SmallString> for target dependent attributes is
inefficient: it makes its constructor slightly heavier, and involves extra
allocation for each new string attribute. Storing the attribute key/value as
strings implies extra allocation/copy step.

Use a sorted vector instead. Given the low number of attributes generally
involved, this is cheaper, as showcased by

https://llvm-compile-time-tracker.com/compare.php?from=5de322295f4ade692dc4f1823ae4450ad3c48af2&to=05bc480bf641a9e3b466619af43a2d123ee3f71d&stat=instructions

Differential Revision: https://reviews.llvm.org/D116599

show more ...


# 06e9733f 08-Jan-2022 Simon Pilgrim <[email protected]>

[CGExpr] Use castAs<> instead of getAs<> to avoid dereference of nullptr

This will assert the cast is correct instead of returning nullptr


# 09669e6c 21-Dec-2021 Nikita Popov <[email protected]>

[CodeGen] Avoid pointer element type access when creating LValue

This required fixing two places that were passing the pointer type
rather than the expected pointee type to the method.


# 9a05a7b0 21-Dec-2021 Nikita Popov <[email protected]>

[CodeGen] Accept Address in CreateLaunderInvariantGroup

Add an overload that accepts and returns an Address, as we
generally just want to replace the pointer with a laundered one,
while retaining re

[CodeGen] Accept Address in CreateLaunderInvariantGroup

Add an overload that accepts and returns an Address, as we
generally just want to replace the pointer with a laundered one,
while retaining remaining information.

show more ...


# e751d978 20-Dec-2021 Nikita Popov <[email protected]>

[CodeGen] Avoid some pointer element type accesses

This avoids some pointer element type accesses when compiling
C++ code.


# 58c8c532 16-Dec-2021 Nikita Popov <[email protected]>

[CodeGen] Avoid more pointer element type accesses


# b9492ec6 15-Dec-2021 Nikita Popov <[email protected]>

[CodeGen] Avoid some pointer element type accesses


# d930c315 15-Dec-2021 Nikita Popov <[email protected]>

[CodeGen] Pass element type to EmitCheckedInBoundsGEP()

Same as for other GEP creation methods.


# 90bbf79c 15-Dec-2021 Nikita Popov <[email protected]>

[CodeGen] Avoid some deprecated Address constructors

Some of these are on the critical path towards making something
minimal work with opaque pointers.


# b4f46555 15-Dec-2021 Nikita Popov <[email protected]>

[CodeGen] Avoid some pointer element type accesses


# abbc2e99 14-Dec-2021 Nikita Popov <[email protected]>

[CodeGen] Store ElementType in Address

Explicitly track the pointer element type in Address, rather than
deriving it from the pointer type, which will no longer be possible
with opaque pointers. Thi

[CodeGen] Store ElementType in Address

Explicitly track the pointer element type in Address, rather than
deriving it from the pointer type, which will no longer be possible
with opaque pointers. This just adds the basic facility, for now
everything is still going through the deprecated constructors.

I had to adjust one place in the LValue implementation to satisfy
the new assertions: Global registers are represented as a
MetadataAsValue, which does not have a pointer type. We should
avoid using Address in this case.

This implements a part of D103465.

Differential Revision: https://reviews.llvm.org/D115725

show more ...


Revision tags: llvmorg-13.0.1-rc1
# 3b9a85d1 10-Nov-2021 hsmahesha <[email protected]>

[CFE][Codegen] Make sure to maintain the contiguity of all the static allocas

at the start of the entry block, which in turn would aid better code transformation/optimization.

Reviewed By: rnk

Dif

[CFE][Codegen] Make sure to maintain the contiguity of all the static allocas

at the start of the entry block, which in turn would aid better code transformation/optimization.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D110257

show more ...


# 8adb6d6d 07-Nov-2021 Benjamin Kramer <[email protected]>

[clang] Use llvm::reverse. NFCI.


Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1
# dcd74716 20-May-2021 Nathan Sidwell <[email protected]>

[clang] p0388 conversion to incomplete array

This implements the new implicit conversion sequence to an incomplete
(unbounded) array type. It is mostly Richard Smith's work, updated to
trunk, testc

[clang] p0388 conversion to incomplete array

This implements the new implicit conversion sequence to an incomplete
(unbounded) array type. It is mostly Richard Smith's work, updated to
trunk, testcases added and a few bugs fixed found in such testing.

It is not a complete implementation of p0388.

Differential Revision: https://reviews.llvm.org/D102645

show more ...


# db9c2d77 12-Oct-2021 hsmahesha <[email protected]>

[CFE][Codegen] Remove CodeGenFunction::InitTempAlloca()

Sequel patch to https://reviews.llvm.org/D111316

Finally, remove the defintion of CodeGenFunction::InitTempAlloca().

Reviewed By: rjmccall

[CFE][Codegen] Remove CodeGenFunction::InitTempAlloca()

Sequel patch to https://reviews.llvm.org/D111316

Finally, remove the defintion of CodeGenFunction::InitTempAlloca().

Reviewed By: rjmccall

Differential Revision: https://reviews.llvm.org/D111324

show more ...


# 0f0e31cf 02-Oct-2021 serge-sans-paille <[email protected]>

Update inline builtin handling to honor gnu inline attribute

Per the GCC info page:

If the function is declared 'extern', then this definition of the
function is used only for inlining. In

Update inline builtin handling to honor gnu inline attribute

Per the GCC info page:

If the function is declared 'extern', then this definition of the
function is used only for inlining. In no case is the function
compiled as a standalone function, not even if you take its address
explicitly. Such an address becomes an external reference, as if
you had only declared the function, and had not defined it.

Respect that behavior for inline builtins: keep the original definition, and
generate a copy of the declaration suffixed by '.inline' that's only referenced
in direct call.

This fixes holes in c3717b6858d32d64514a187ede1a77be8ba4e542.

Differential Revision: https://reviews.llvm.org/D111009

show more ...


# b1fcca38 03-Oct-2021 Dávid Bolvanský <[email protected]>

Fixed warnings in LLVM produced by -Wbitwise-instead-of-logical


# 85f612ef 28-Sep-2021 David Blaikie <[email protected]>

DebugInfo: Use sugared function type when emitting function declarations for call sites

Otherwise we're losing type information for these functions.


# ea21d688 22-Sep-2021 Florian Hahn <[email protected]>

[Matrix] Emit assumption that matrix indices are valid.

The matrix extension requires the indices for matrix subscript
expression to be valid and it is UB otherwise.

extract/insertelement produce p

[Matrix] Emit assumption that matrix indices are valid.

The matrix extension requires the indices for matrix subscript
expression to be valid and it is UB otherwise.

extract/insertelement produce poison if the index is invalid, which
limits the optimizer to not be bale to scalarize load/extract pairs for
example, which causes very suboptimal code to be generated when using
matrix subscript expressions with variable indices for large matrixes.

This patch updates IRGen to emit assumes to for index expression to
convey the information that the index must be valid.

This also adjusts the order in which operations are emitted slightly, so
indices & assumes are added before the load of the matrix value.

Reviewed By: erichkeane

Differential Revision: https://reviews.llvm.org/D102478

show more ...


# 735f4671 09-Sep-2021 Chris Lattner <[email protected]>

[APInt] Normalize naming on keep constructors / predicate methods.

This renames the primary methods for creating a zero value to `getZero`
instead of `getNullValue` and renames predicates like `isAl

[APInt] Normalize naming on keep constructors / predicate methods.

This renames the primary methods for creating a zero value to `getZero`
instead of `getNullValue` and renames predicates like `isAllOnesValue`
to simply `isAllOnes`. This achieves two things:

1) This starts standardizing predicates across the LLVM codebase,
following (in this case) ConstantInt. The word "Value" doesn't
convey anything of merit, and is missing in some of the other things.

2) Calling an integer "null" doesn't make any sense. The original sin
here is mine and I've regretted it for years. This moves us to calling
it "zero" instead, which is correct!

APInt is widely used and I don't think anyone is keen to take massive source
breakage on anything so core, at least not all in one go. As such, this
doesn't actually delete any entrypoints, it "soft deprecates" them with a
comment.

Included in this patch are changes to a bunch of the codebase, but there are
more. We should normalize SelectionDAG and other APIs as well, which would
make the API change more mechanical.

Differential Revision: https://reviews.llvm.org/D109483

show more ...


12345678910>>...51