History log of /llvm-project-15.0.7/clang/lib/CodeGen/CGExpr.cpp (Results 476 – 500 of 1262)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# bcc06085 07-Sep-2014 Hal Finkel <[email protected]>

Add __builtin_assume and __builtin_assume_aligned using @llvm.assume.

This makes use of the recently-added @llvm.assume intrinsic to implement a
__builtin_assume(bool) intrinsic (to provide addition

Add __builtin_assume and __builtin_assume_aligned using @llvm.assume.

This makes use of the recently-added @llvm.assume intrinsic to implement a
__builtin_assume(bool) intrinsic (to provide additional information to the
optimizer). This hooks up __assume in MS-compatibility mode to mirror
__builtin_assume (the semantics have been intentionally kept compatible), and
implements GCC's __builtin_assume_aligned as assume((p - o) & mask == 0). LLVM
now contains special logic to deal with assumptions of this form.

llvm-svn: 217349

show more ...


Revision tags: llvmorg-3.5.0
# cbe875a5 28-Aug-2014 Alexey Samsonov <[email protected]>

Kill one of EmitCallArgs overloads. NFC.

llvm-svn: 216635


Revision tags: llvmorg-3.5.0-rc4
# 5fc8fc2d 27-Aug-2014 Craig Topper <[email protected]>

Simplify creation of a bunch of ArrayRefs by using None, makeArrayRef or just letting them be implicitly created.

llvm-svn: 216528


# 70b9c01b 21-Aug-2014 Alexey Samsonov <[email protected]>

Pass expressions instead of argument ranges to EmitCall/EmitCXXConstructorCall.

Summary:
This is a first small step towards passing generic "Expr" instead of
ArgBeg/ArgEnd pair into EmitCallArgs() f

Pass expressions instead of argument ranges to EmitCall/EmitCXXConstructorCall.

Summary:
This is a first small step towards passing generic "Expr" instead of
ArgBeg/ArgEnd pair into EmitCallArgs() family of methods. Having "Expr" will
allow us to get the corresponding FunctionDecl and its ParmVarDecls,
thus allowing us to alter CodeGen depending on the function/parameter
attributes.

No functionality change.

Test Plan: regression test suite

Reviewers: rnk

Reviewed By: rnk

Subscribers: aemerson, cfe-commits

Differential Revision: http://reviews.llvm.org/D4915

llvm-svn: 216214

show more ...


Revision tags: llvmorg-3.5.0-rc3
# 91b2fa2a 19-Aug-2014 Fariborz Jahanian <[email protected]>

ext_vector IRGen. Patch to allow indexing into
ext_vector_type's 'hi/lo' components when
used as lvalue. rdar://18031917 pr20697

llvm-svn: 215991


Revision tags: llvmorg-3.5.0-rc2
# 4b8de11c 01-Aug-2014 Alexey Samsonov <[email protected]>

[Sanitizer] Introduce SanitizerMetadata class.

It is responsible for generating metadata consumed by sanitizer instrumentation
passes in the backend. Move several methods from CodeGenModule to Sanit

[Sanitizer] Introduce SanitizerMetadata class.

It is responsible for generating metadata consumed by sanitizer instrumentation
passes in the backend. Move several methods from CodeGenModule to SanitizerMetadata.
For now the class is stateless, but soon it won't be the case.

Instead of creating globals providing source-level information to ASan, we will create
metadata nodes/strings which will be turned into actual global variables in the
backend (if needed).

No functionality change.

llvm-svn: 214564

show more ...


# b3af3900 29-Jul-2014 Tobias Grosser <[email protected]>

Revert "Emit column debug information for loads"

This broke the following gdb tests:

gdb.base__annota1.exp
gdb.base__consecutive.exp
gdb.python__py-symtab.exp
gdb.reverse__consecutive-precsave.exp

Revert "Emit column debug information for loads"

This broke the following gdb tests:

gdb.base__annota1.exp
gdb.base__consecutive.exp
gdb.python__py-symtab.exp
gdb.reverse__consecutive-precsave.exp
gdb.reverse__consecutive-reverse.exp

I will look into this.

This reverts commit 214162.

llvm-svn: 214163

show more ...


# 01b923d5 29-Jul-2014 Tobias Grosser <[email protected]>

Emit column debug information for loads

This allows us to give more precise diagnostics.

Diego kindly tested the impact on debug info size: "The increase on average
debug sizes is 0.1%. The total f

Emit column debug information for loads

This allows us to give more precise diagnostics.

Diego kindly tested the impact on debug info size: "The increase on average
debug sizes is 0.1%. The total file size increase is ~0%."

llvm-svn: 214162

show more ...


Revision tags: llvmorg-3.5.0-rc1
# 6e24a465 21-Jul-2014 Arnaud A. de Grandmaison <[email protected]>

Revert "Emit lifetime.start / lifetime.end markers for unnamed temporary objects."

This commit did break the sanitizer-x86 bot. Revert it while
investigating.

llvm-svn: 213579


# 17a83cf4 21-Jul-2014 Arnaud A. de Grandmaison <[email protected]>

Emit lifetime.start / lifetime.end markers for unnamed temporary objects.

This will give more information to the optimizers so that they can reuse stack slots.

llvm-svn: 213576


# 32f59d8e 18-Jul-2014 Alexey Samsonov <[email protected]>

[UBsan] Skip -fsanitize=vptr instrumentations when the pointer value is null.

Otherwise -fsanitize=vptr causes the program to crash when it downcasts
a null pointer.

Reviewed in http://reviews.llvm

[UBsan] Skip -fsanitize=vptr instrumentations when the pointer value is null.

Otherwise -fsanitize=vptr causes the program to crash when it downcasts
a null pointer.

Reviewed in http://reviews.llvm.org/D4412.
Patch by Byoungyoung Lee!

llvm-svn: 213393

show more ...


# 6c124143 18-Jul-2014 Alexey Samsonov <[email protected]>

Make sure globals created by UBSan are not instrumented by ASan.

Summary:
This change adds description of globals created by UBSan
instrumentation (UBSan handlers, type descriptors, filenames) to
ll

Make sure globals created by UBSan are not instrumented by ASan.

Summary:
This change adds description of globals created by UBSan
instrumentation (UBSan handlers, type descriptors, filenames) to
llvm.asan.globals metadata, effectively "blacklisting" them. This can
dramatically decrease the data section in binaries built with UBSan+ASan,
as UBSan tends to create a lot of handlers, and ASan instrumentation
increases the global size to at least 64 bytes.

Test Plan: clang regression test suite

Reviewers: rsmith

Reviewed By: rsmith

Subscribers: cfe-commits, byoungyoung, kcc

Differential Revision: http://reviews.llvm.org/D4575

llvm-svn: 213392

show more ...


# 18bc4fff 18-Jul-2014 Arnaud A. de Grandmaison <[email protected]>

Revert "Emit lifetime.start / lifetime.end markers for unnamed temporary objects."

This reverts commit dbf785a6432f78a8ec229665876647c4cc610d3d, while I qm
investigating a buildbot failure.

llvm-sv

Revert "Emit lifetime.start / lifetime.end markers for unnamed temporary objects."

This reverts commit dbf785a6432f78a8ec229665876647c4cc610d3d, while I qm
investigating a buildbot failure.

llvm-svn: 213380

show more ...


# 1be89f49 18-Jul-2014 Arnaud A. de Grandmaison <[email protected]>

Emit lifetime.start / lifetime.end markers for unnamed temporary objects.

This will give more information to the optimizers so that they can reuse stack slots.

llvm-svn: 213379


# 24cad993 17-Jul-2014 Alexey Samsonov <[email protected]>

[UBSan] Add !nosanitize metadata to the code generated by UBSan.

This is used to mark the instructions emitted by Clang to implement
variety of UBSan checks. Generally, we don't want to instrument t

[UBSan] Add !nosanitize metadata to the code generated by UBSan.

This is used to mark the instructions emitted by Clang to implement
variety of UBSan checks. Generally, we don't want to instrument these
instructions with another sanitizers (like ASan).

Reviewed in http://reviews.llvm.org/D4544

llvm-svn: 213291

show more ...


# 84856012 10-Jul-2014 Alexey Samsonov <[email protected]>

[UBSan] Introduce type-based blacklisting.

Teach UBSan vptr checker to ignore technically invalud down-casts on
blacklisted types.

Based on http://reviews.llvm.org/D4407 by Byoungyoung Lee!

llvm-s

[UBSan] Introduce type-based blacklisting.

Teach UBSan vptr checker to ignore technically invalud down-casts on
blacklisted types.

Based on http://reviews.llvm.org/D4407 by Byoungyoung Lee!

llvm-svn: 212770

show more ...


# ac4afe49 07-Jul-2014 Alexey Samsonov <[email protected]>

[Sanitizer] Remove brittle cache variable and slightly simplify blacklisting code.
Now CodeGenFunction is responsible for looking at sanitizer blacklist
(in CodeGenFunction::StartFunction) and turnin

[Sanitizer] Remove brittle cache variable and slightly simplify blacklisting code.
Now CodeGenFunction is responsible for looking at sanitizer blacklist
(in CodeGenFunction::StartFunction) and turning off instrumentation,
if necessary.

No functionality change.

llvm-svn: 212501

show more ...


# f3076ff2 20-Jun-2014 Richard Smith <[email protected]>

Don't crash when emitting a glvalue conditional where one arm is a
throw-expression. Based on a patch by Marius Wachtler!

llvm-svn: 211388


# 3aa4fb3b 12-Jun-2014 Craig Topper <[email protected]>

Use StringRef to simplify code. No functional change.

llvm-svn: 210751


# e4753504 12-Jun-2014 Craig Topper <[email protected]>

Use ArrayRef in some function parameters instead of a pointer and count. No functional change.

llvm-svn: 210750


# 4b56692e 09-Jun-2014 Craig Topper <[email protected]>

[C++11] Use 'nullptr'.

llvm-svn: 210448


# 8f4f1cf7 05-Jun-2014 Alexey Samsonov <[email protected]>

Mangle predefined string constants names to merge them at link-time

Summary:
This change generalizes the code used to create global LLVM
variables referencing predefined strings (e.g. __FUNCTION__):

Mangle predefined string constants names to merge them at link-time

Summary:
This change generalizes the code used to create global LLVM
variables referencing predefined strings (e.g. __FUNCTION__): now it
just calls GetAddrOfConstantStringFromLiteral method. As a result,
global variables for these predefined strings may get mangled names
and linkonce_odr linkage. Fix the test accordingly.

Test Plan: clang regression tests

Reviewers: majnemer

Reviewed By: majnemer

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D4023

llvm-svn: 210284

show more ...


# 2e31e4e4 05-Jun-2014 Renato Golin <[email protected]>

Add pointer types to global named register

This patch adds support for pointer types in global named registers variables.
It'll be lowered as a pair of read/write_register and inttoptr/ptrtoint call

Add pointer types to global named register

This patch adds support for pointer types in global named registers variables.
It'll be lowered as a pair of read/write_register and inttoptr/ptrtoint calls.
Also adds some early checks on types on SemaDecl to avoid the assert.

Tests changed accordingly. (PR19837)

llvm-svn: 210274

show more ...


# 5659c866 04-Jun-2014 Richard Smith <[email protected]>

Formatting cleanup.

llvm-svn: 210219


# dd59775f 31-May-2014 Michael J. Spencer <[email protected]>

[CodeGen] Don't cast and use SizeTy instead of Int32Ty when constructing {extract,insert} vector element instructions.

llvm-svn: 209942


1...<<11121314151617181920>>...51