aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-07-13 06:58:07 +0000
committerChris Lattner <sabre@nondot.org>2004-07-13 06:58:07 +0000
commit38ab6bff5d458505cadf650d0b78742787a02b4d (patch)
treece56b4fc4974886f36114ad89c176bbfb2af97b2
parent42df6d1396d0335621f648b0e4a6e59f13e868f2 (diff)
downloadexternal_llvm-38ab6bff5d458505cadf650d0b78742787a02b4d.tar.gz
external_llvm-38ab6bff5d458505cadf650d0b78742787a02b4d.tar.bz2
external_llvm-38ab6bff5d458505cadf650d0b78742787a02b4d.zip
Replace a bunch of complex ConstantPointerRef referring code with simple
code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14785 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/AsmParser/llvmAsmParser.y14
1 files changed, 3 insertions, 11 deletions
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index b2f901f206..a4d2cf4f9c 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -118,17 +118,9 @@ static struct PerModuleInfo {
if (I != GlobalRefs.end()) {
GlobalValue *OldGV = I->second; // Get the placeholder...
I->first.second.destroy(); // Free string memory if necessary
-
- // Loop over all of the uses of the GlobalValue. The only thing they are
- // allowed to be is ConstantPointerRef's.
- assert(OldGV->hasOneUse() && "Only one reference should exist!");
- User *U = OldGV->use_back(); // Must be a ConstantPointerRef...
- ConstantPointerRef *CPR = cast<ConstantPointerRef>(U);
-
- // Change the const pool reference to point to the real global variable
- // now. This should drop a use from the OldGV.
- CPR->replaceUsesOfWithOnConstant(OldGV, GV);
- assert(OldGV->use_empty() && "All uses should be gone now!");
+
+ // Replace all uses of the placeholder with the new GV
+ OldGV->replaceAllUsesWith(GV);
// Remove OldGV from the module...
if (GlobalVariable *GVar = dyn_cast<GlobalVariable>(OldGV))