Changes in directory llvm/lib/CodeGen/SelectionDAG:
SelectionDAG.cpp updated: 1.255 -> 1.256 --- Log message: Added SelectionDAG::InsertISelMapEntry(). This is used to workaround the gcc problem where it inline the map insertion call too aggressively. Before this change it was producing a frame size of 24k for Select_store(), now it's down to 10k (by calling this method rather than calling the map insertion operator). --- Diffs of the changes: (+9 -0) SelectionDAG.cpp | 9 +++++++++ 1 files changed, 9 insertions(+) Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1.255 llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1.256 --- llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1.255 Thu Feb 9 01:15:23 2006 +++ llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Thu Feb 9 16:11:03 2006 @@ -2748,3 +2748,12 @@ std::cerr << "\n\n"; } +/// InsertISelMapEntry - A helper function to insert a key / element pair +/// into a SDOperand to SDOperand map. This is added to avoid the map +/// insertion operator from being inlined. +void SelectionDAG::InsertISelMapEntry(std::map<SDOperand, SDOperand> &Map, + SDNode *Key, unsigned KeyResNo, + SDNode *Element, unsigned ElementResNo) { + Map.insert(std::make_pair(SDOperand(Key, KeyResNo), + SDOperand(Element, ElementResNo))); +} _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits