Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump LLVM from 13.0.0 to 15.0.0 #901

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Conversation

xudon9
Copy link
Contributor

@xudon9 xudon9 commented Nov 11, 2022

Changes:

  • Let ARM Apple use the prebuilt LLVM libraries
  • Let AMD64 Linux build LLVM libraries from source (as it is not available on LLVM GitHub release page)
  • Update how variables specifically defined for assertions are used.

@@ -321,6 +321,7 @@ template <unsigned ElementSize = 128> struct SparseBitVectorElement
if (Bits[i] != 0)
return i * BITWORD_SIZE + countTrailingZeros(Bits[i]);
assert(false && "SBV: find_first: SBV cannot be empty");
return -1; // Unreachable. Make the compiler happy
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

return -1; = > abort();

@@ -334,6 +335,7 @@ template <unsigned ElementSize = 128> struct SparseBitVectorElement
countLeadingZeros(Bits[Idx]) - 1;
}
assert(false && "SBV: find_last: SBV cannot be empty");
return -1; // Unreachable. Make the compiler happy
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

return -1; = > abort();

if (!SVFModule::pagReadFromTXT())
{
assert(!SVFUtil::isa<DummyValVar>(node) && "a dummy node??");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

_unused(node);

assert(added && "not added??");
if (!AddrCGEdgeSet.insert(edge).second)
{
assert(!"new AddrCGEdge not added??");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

_unused(added);

bool added = directEdgeSet.insert(edge).second;
assert(added && "not added??");
if (!directEdgeSet.insert(edge).second) {
assert(!"new CopyCGEdge not added??");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

assert(added && "not added??");
if (!directEdgeSet.insert(edge).second)
{
assert(!"new NormalGepCGEdge not added??");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

assert(added && "not added??");
if (!directEdgeSet.insert(edge).second)
{
assert(!"new VariantGepCGEdge not added??");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

assert(added && "not added??");
if (!LoadCGEdgeSet.insert(edge).second)
{
assert(!"new LoadCGEdge not added??");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

assert(added && "not added??");
if (!StoreCGEdgeSet.insert(edge).second)
{
assert(!"new StoreCGEdge not added??");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

@@ -364,7 +364,8 @@ ICFGEdge* ICFG::getICFGEdge(const ICFGNode* src, const ICFGNode* dst, ICFGEdge::
ICFGEdge* ICFG::addIntraEdge(ICFGNode* srcNode, ICFGNode* dstNode)
{
checkIntraEdgeParents(srcNode, dstNode);
if(ICFGEdge* edge = hasIntraICFGEdge(srcNode,dstNode, ICFGEdge::IntraCF))
ICFGEdge* edge = hasIntraICFGEdge(srcNode, dstNode, ICFGEdge::IntraCF);
if (edge != nullptr)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above and all below code needs to be revised and remove if

@xudon9
Copy link
Contributor Author

xudon9 commented Nov 11, 2022

updated accordingly.

@codecov
Copy link

codecov bot commented Nov 11, 2022

Codecov Report

Merging #901 (8fda4ba) into master (52f853f) will decrease coverage by 0.04%.
The diff coverage is 94.44%.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #901      +/-   ##
==========================================
- Coverage   63.62%   63.57%   -0.05%     
==========================================
  Files         219      219              
  Lines       22026    20142    -1884     
==========================================
- Hits        14014    12806    -1208     
+ Misses       8012     7336     -676     
Impacted Files Coverage Δ
include/Graphs/SVFGOPT.h 0.00% <0.00%> (ø)
include/MSSA/MemSSA.h 100.00% <ø> (ø)
include/MemoryModel/PersistentPointsToDS.h 52.41% <0.00%> (-0.65%) ⬇️
include/MemoryModel/SVFIR.h 100.00% <ø> (ø)
include/SABER/SaberCondAllocator.h 68.29% <ø> (-1.93%) ⬇️
include/SVF-FE/IRAnnotator.h 91.60% <ø> (+0.44%) ⬆️
include/Util/SparseBitVector.h 89.53% <0.00%> (ø)
lib/MSSA/MemRegion.cpp 71.98% <ø> (-0.35%) ⬇️
lib/MTA/TCT.cpp 78.73% <ø> (-0.42%) ⬇️
lib/MemoryModel/PointerAnalysisImpl.cpp 58.25% <ø> (+1.10%) ⬆️
... and 163 more

@timmyyuan
Copy link
Contributor

@xudon9 @yuleisui Any update here, please?

@yuleisui
Copy link
Collaborator

The current repo should be able to work on top of llvm-15.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants