diff options
author | Chris Lattner <sabre@nondot.org> | 2010-02-26 23:42:13 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-02-26 23:42:13 +0000 |
commit | e9fd444dcd59f5b17bd30f919cb1b3a50519d3c1 (patch) | |
tree | 301e9153a3ff6d01e355865f201c418b73ce76e5 | |
parent | c6a669b6e7fb13669abefa62c6ac4f871b84bb0b (diff) |
Fix rdar://7694996 a miscompile of 183.equake from my patch yesterday,
confusing the old MAT variable with the new GlobalType one. This caused
us to promote the @disp global pointer into:
@disp.body = internal global double*** undef
instead of:
@disp.body = internal global [3 x double**] undef
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97285 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Transforms/IPO/GlobalOpt.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/Transforms/IPO/GlobalOpt.cpp b/lib/Transforms/IPO/GlobalOpt.cpp index 2ba7ed9fe9..7b1e9c0efd 100644 --- a/lib/Transforms/IPO/GlobalOpt.cpp +++ b/lib/Transforms/IPO/GlobalOpt.cpp @@ -826,11 +826,10 @@ static GlobalVariable *OptimizeGlobalAddressOfMalloc(GlobalVariable *GV, // Create the new global variable. The contents of the malloc'd memory is // undefined, so initialize with an undef value. - const Type *MAT = getMallocAllocatedType(CI); GlobalVariable *NewGV = new GlobalVariable(*GV->getParent(), - MAT, false, + GlobalType, false, GlobalValue::InternalLinkage, - UndefValue::get(MAT), + UndefValue::get(GlobalType), GV->getName()+".body", GV, GV->isThreadLocal()); |