[MemProf] Fix an incorrect iterator increment (#123438) We pass in a pointer to an Edge iterator to moveEdgeToExistingCalleeClone, so that it can be correctly updated when we remove edges during an edge iteration. We were not dereferencing this pointer in one case, meaning we would increment the pointer and not the iterator as intended. This did not cause any issues, as it turns out that we would simply skip the edge on the next iteration as it was already appropriately handled. While in theory this incurred some extra compilation time, in practice for a large application the effect was not significant. I confirmed that there was no effect to any cloning from the fix. I plan to send a follow up change to avoid the need to pass in an iterator at all and simplify / consolidate the handling in the caller, but want to fix this in case something requires a revert of the follow on fix.
Welcome to the LLVM project!
This repository contains the source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and run-time environments.
The LLVM project has multiple components. The core of the project is itself called “LLVM”. This contains all of the tools, libraries, and header files needed to process intermediate representations and convert them into object files. Tools include an assembler, disassembler, bitcode analyzer, and bitcode optimizer.
C-like languages use the Clang frontend. This component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode -- and from there into object files, using LLVM.
Other components include: the libc++ C++ standard library, the LLD linker, and more.
Consult the Getting Started with LLVM page for information on building and running LLVM.
For information on how to contribute to the LLVM project, please take a look at the Contributing to LLVM guide.
Join the LLVM Discourse forums, Discord chat, LLVM Office Hours or Regular sync-ups.
The LLVM project has adopted a code of conduct for participants to all modes of communication within the project.