History log of /llvm-project/llvm/lib/Analysis/StackSafetyAnalysis.cpp (Results 26 – 50 of 113)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 74d6ce5d 06-Jul-2021 Eli Friedman <efriedma@quicinc.com>

[ScalarEvolution] Make getMinusSCEV() fail for unrelated pointers.

As part of making ScalarEvolution's handling of pointers consistent, we
want to forbid multiplying a pointer by -1 (or any other va

[ScalarEvolution] Make getMinusSCEV() fail for unrelated pointers.

As part of making ScalarEvolution's handling of pointers consistent, we
want to forbid multiplying a pointer by -1 (or any other value). This
means we can't blindly subtract pointers.

There are a few ways we could deal with this:
1. We could completely forbid subtracting pointers in getMinusSCEV()
2. We could forbid subracting pointers with different pointer bases
(this patch).
3. We could try to ptrtoint pointer operands.

The option in this patch is more friendly to non-integral pointers: code
that works with normal pointers will also work with non-integral
pointers. And it seems like there are very few places that actually
benefit from the third option.

As a minimal patch, the ScalarEvolution implementation of getMinusSCEV
still ends up subtracting pointers if they have the same base. This
should eliminate the shared pointer base, but eventually we'll need to
rewrite it to avoid negating the pointer base. I plan to do this as a
separate step to allow measuring the compile-time impact.

This doesn't cause obvious functional changes in most cases; the one
case that is significantly affected is ICmpZero handling in LSR (which
is the source of almost all the test changes). The resulting changes
seem okay to me, but suggestions welcome. As an alternative, I tried
explicitly ptrtoint'ing the operands, but the result doesn't seem
obviously better.

I deleted the test lsr-undef-in-binop.ll becuase I couldn't figure out
how to repair it to test what it was actually trying to test.

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

show more ...


Revision tags: llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1
# 6a6e3821 09-Jan-2021 Kazu Hirata <kazu@google.com>

[llvm] Drop unnecessary make_range (NFC)


Revision tags: llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6
# dca4b713 03-Oct-2020 Simon Pilgrim <llvm-dev@redking.me.uk>

[Analysis] resolveAllCalls - fix use after std::move warning. NFCI.

We can't use Use.Calls after its std::move()'d to TmpCalls as it will be in an undefined state. Instead, swap with the known empty

[Analysis] resolveAllCalls - fix use after std::move warning. NFCI.

We can't use Use.Calls after its std::move()'d to TmpCalls as it will be in an undefined state. Instead, swap with the known empty map in TmpCalls so we can then safely emplace_back into the now empty Use.Calls.

Fixes clang static analyzer warning.

show more ...


Revision tags: llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3
# 97bfac07 19-Sep-2020 Vitaly Buka <vitalybuka@google.com>

[NFC][StackSafety] Replace auto with type

Fixes static analyzer is warning.


Revision tags: llvmorg-11.0.0-rc2
# 3b348d91 14-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[NFC][StackSafety] Move out sort from the loop


# 47552a61 06-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[StackSafety] Change how callee searched in index

Handle other than local linkage types.


# fc4fd898 14-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[StackSafety] Use ValueInfo in ParamAccess::Call

This avoid GUID lookup in Index.findSummaryInModule.
Follow up for D81242.

Reviewed By: tejohnson

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

[StackSafety] Use ValueInfo in ParamAccess::Call

This avoid GUID lookup in Index.findSummaryInModule.
Follow up for D81242.

Reviewed By: tejohnson

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

show more ...


# 891b2be8 14-Aug-2020 Matt Morehouse <mascasa@google.com>

Revert "[NFC][StackSafety] Move out sort from the loop"

This reverts commit 0426e28419799c35cf52fe3d773c5bab9928c699 due to ASan
buildbot failure.


# 4c30d4b4 14-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[NFC][StackSafety] Change map key comparison


# 0426e284 14-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[NFC][StackSafety] Move out sort from the loop


# 798eb71c 14-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[NFC][StackSafety] Dedup callees


# 1970eefb 08-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[NFC][StackSafety] Add a couple of early returns


# 8d91ce8f 08-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[NFC][StackSafety] Count dataflow inputs


# dee812a2 08-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[StackSafety] Fix union which produces wrapped sets


# a6feeb1c 08-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[NFC][StackSafety] Avoid assert in getBaseObjec


# 3a34228b 08-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[StackSafety] Don't keep FullSet in index

Optimization. Missing record is enterpreted as FullSet anyway.


# 648228bc 07-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[NFC][StackSafety] Fix statistics


# 7d499603 07-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[StackSafety,NFC] Add Stats counters


# 7fb9de2c 07-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[StackSafety,NFC] Fix tests in debug


# 58b95c9b 06-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[StackSafety,NFC] Add debug counters


# 92dcf12b 06-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[StackSafety,NFC] Use CHECK-EMPTY in tests


# 5c6d9b2b 07-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[LTO,NFC] Skip generateParamAccessSummary when empty

addGlobalValueSummary can check newly added FunctionSummary
and set HasParamAccess to mark that generateParamAccessSummary
is needed.

Reviewed B

[LTO,NFC] Skip generateParamAccessSummary when empty

addGlobalValueSummary can check newly added FunctionSummary
and set HasParamAccess to mark that generateParamAccessSummary
is needed.

Reviewed By: tejohnson

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

show more ...


# 08cf4965 02-Aug-2020 Vitaly Buka <vitalybuka@google.com>

[StackSafety, NFC] Don't insert empty objects into the map

Result should be the same but it makes generateParamAccessSummary 5x
faster.


Revision tags: llvmorg-11.0.0-rc1, llvmorg-12-init
# 9ce98312 10-Jul-2020 Simon Pilgrim <llvm-dev@redking.me.uk>

StackSafetyAnalysis.cpp - pass ConstantRange arg as const reference.

Avoids unnecessary copies and silences clang tidy warning - we do this in most places, there are just a few that were missed.


# e38727a0 09-Jul-2020 Vitaly Buka <vitalybuka@google.com>

[StackSafety,NFC] Update documentation

It's follow up for D80908

Reviewed By: tejohnson

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


12345