BlockGenerators: Allow values to be removed from ScalarMap

This function is not yet used in Polly, but is useful to external projects that
generate multi-module code using Polly.

llvm-svn: 262010
This commit is contained in:
Tobias Grosser 2016-02-26 13:27:02 +00:00
parent 64ca00c344
commit f8746fc88e
1 changed files with 11 additions and 0 deletions

View File

@ -111,6 +111,17 @@ public:
/// GlobalMap. /// GlobalMap.
Value *getOrCreateScalarAlloca(Value *ScalarBase); Value *getOrCreateScalarAlloca(Value *ScalarBase);
/// @brief Remove a Value's allocation from the ScalarMap.
///
/// This function allows to remove values from the ScalarMap. This is useful
/// if the corresponding alloca instruction will be deleted (or moved into
/// another module), as without removing these values the underlying
/// AssertingVH will trigger due to us still keeping reference to this
/// scalar.
///
/// @param ScalarBase The value to remove.
void freeScalarAlloc(Value *ScalarBase) { ScalarMap.erase(ScalarBase); }
/// @brief Return the PHi-node alloca for @p ScalarBase /// @brief Return the PHi-node alloca for @p ScalarBase
/// ///
/// If no alloca was mapped to @p ScalarBase a new one is created. /// If no alloca was mapped to @p ScalarBase a new one is created.