aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/MachineFunction.h
diff options
context:
space:
mode:
authorGabor Greif <ggreif@gmail.com>2009-03-04 06:57:48 +0000
committerGabor Greif <ggreif@gmail.com>2009-03-04 06:57:48 +0000
commitc7f6b8c5d40e17bf43fd3a1549d7d89c9da735e1 (patch)
treeaaea2b823dc215090f5792c8cd12d6479b8f7716 /include/llvm/CodeGen/MachineFunction.h
parentae3f2b6c77721034b5abfae7b6d1bf1bc60478d6 (diff)
"Ghostify" embedded sentinels. This is a real win in all cases
because less bytes are allocated and subobject construction is gone. For reference how it works, see BasicBlock.h. Btw. it is very assuring to see that somebody has invented this ilist-embedded sentinel technique before me :-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66026 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/MachineFunction.h')
-rw-r--r--include/llvm/CodeGen/MachineFunction.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/llvm/CodeGen/MachineFunction.h b/include/llvm/CodeGen/MachineFunction.h
index 689e4357b1..1371f1d0cd 100644
--- a/include/llvm/CodeGen/MachineFunction.h
+++ b/include/llvm/CodeGen/MachineFunction.h
@@ -37,9 +37,11 @@ class TargetMachine;
template <>
struct ilist_traits<MachineBasicBlock>
: public ilist_default_traits<MachineBasicBlock> {
- mutable MachineBasicBlock Sentinel;
+ mutable ilist_node<MachineBasicBlock> Sentinel;
public:
- MachineBasicBlock *createSentinel() const { return &Sentinel; }
+ MachineBasicBlock *createSentinel() const {
+ return static_cast<MachineBasicBlock*>(&Sentinel);
+ }
void destroySentinel(MachineBasicBlock *) const {}
void addNodeToList(MachineBasicBlock* MBB);