Mercurial > hg > CbC > CbC_llvm
diff lib/Transforms/IPO/StripSymbols.cpp @ 83:60c9769439b8 LLVM3.7
LLVM 3.7
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 18 Feb 2015 14:55:36 +0900 |
parents | 54457678186b |
children | afa8332a0e37 |
line wrap: on
line diff
--- a/lib/Transforms/IPO/StripSymbols.cpp Mon Sep 08 22:07:30 2014 +0900 +++ b/lib/Transforms/IPO/StripSymbols.cpp Wed Feb 18 14:55:36 2015 +0900 @@ -301,8 +301,8 @@ // For each compile unit, find the live set of global variables/functions and // replace the current list of potentially dead global variables/functions // with the live list. - SmallVector<Value *, 64> LiveGlobalVariables; - SmallVector<Value *, 64> LiveSubprograms; + SmallVector<Metadata *, 64> LiveGlobalVariables; + SmallVector<Metadata *, 64> LiveSubprograms; DenseSet<const MDNode *> VisitedSet; for (DICompileUnit DIC : F.compile_units()) { @@ -349,28 +349,12 @@ // subprogram list/global variable list with our new live subprogram/global // variable list. if (SubprogramChange) { - // Make sure that 9 is still the index of the subprograms. This is to make - // sure that an assert is hit if the location of the subprogram array - // changes. This is just to make sure that this is updated if such an - // event occurs. - assert(DIC->getNumOperands() >= 10 && - SPs == DIC->getOperand(9) && - "DICompileUnits is expected to store Subprograms in operand " - "9."); - DIC->replaceOperandWith(9, MDNode::get(C, LiveSubprograms)); + DIC.replaceSubprograms(DIArray(MDNode::get(C, LiveSubprograms))); Changed = true; } if (GlobalVariableChange) { - // Make sure that 10 is still the index of global variables. This is to - // make sure that an assert is hit if the location of the subprogram array - // changes. This is just to make sure that this index is updated if such - // an event occurs. - assert(DIC->getNumOperands() >= 11 && - GVs == DIC->getOperand(10) && - "DICompileUnits is expected to store Global Variables in operand " - "10."); - DIC->replaceOperandWith(10, MDNode::get(C, LiveGlobalVariables)); + DIC.replaceGlobalVariables(DIArray(MDNode::get(C, LiveGlobalVariables))); Changed = true; }