diff --git a/llvm-prettyprinters/gdb/prettyprinters.cpp b/llvm-prettyprinters/gdb/prettyprinters.cpp
index bb0e02d..ed556ec 100644
--- a/llvm-prettyprinters/gdb/prettyprinters.cpp
+++ b/llvm-prettyprinters/gdb/prettyprinters.cpp
@@ -6,6 +6,7 @@
 #include "llvm/ADT/SmallString.h"
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/ADT/Twine.h"
+#include "llvm/ADT/ilist.h"
 #include "llvm/Support/Error.h"
 
 int Array[] = {1, 2, 3};
@@ -25,4 +26,25 @@
 llvm::PointerIntPair<int *, 1> PointerIntPair(IntPtr, 1);
 llvm::PointerUnion<float *, int *> PointerUnion(IntPtr);
 
+using IlistTag = llvm::ilist_tag<struct A>;
+using SimpleIlistTag = llvm::ilist_tag<struct B>;
+struct IlistNode : llvm::ilist_node<IlistNode, IlistTag>,
+                   llvm::ilist_node<IlistNode, SimpleIlistTag> {
+  int Value;
+};
+auto Ilist = [] {
+  llvm::ilist<IlistNode, IlistTag> Result;
+  for (int I : {13, 14, 15}) {
+    Result.push_back(new IlistNode);
+    Result.back().Value = I;
+  }
+  return Result;
+}();
+auto SimpleIlist = []() {
+  llvm::simple_ilist<IlistNode, SimpleIlistTag> Result;
+  for (auto &Node : Ilist)
+    Result.push_front(Node);
+  return Result;
+}();
+
 int main() { return 0; }
diff --git a/llvm-prettyprinters/gdb/prettyprinters.gdb b/llvm-prettyprinters/gdb/prettyprinters.gdb
index d6e8164..12baa6e 100644
--- a/llvm-prettyprinters/gdb/prettyprinters.gdb
+++ b/llvm-prettyprinters/gdb/prettyprinters.gdb
@@ -45,4 +45,85 @@
 # CHECK: llvm::PointerUnion containing int * = {pointer = 0xabc}
 p PointerUnion
 
+# Switch to print pretty adds newlines to the following statements.
+set print pretty
 
+# CHECK: {
+# CHECK:   [0] = {
+# CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
+# CHECK:       prev = [[Ilist_Sentinel:0x.*]] <Ilist>,
+# CHECK:       next = [[Node_14:0x.*]]
+# CHECK:     },
+# CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
+# CHECK:       prev = [[Node_14]],
+# CHECK:       next = [[SimpleIlist_Sentinel:0x.*]] <SimpleIlist>
+# CHECK:     },
+# CHECK:     members of IlistNode:
+# CHECK:     Value = 13
+# CHECK:   },
+# CHECK:   [1] = {
+# CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
+# CHECK:       prev = [[Node_13:0x.*]],
+# CHECK:       next = [[Node_15:0x.*]]
+# CHECK:     },
+# CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
+# CHECK:       prev = [[Node_15]],
+# CHECK:       next = [[Node_13]]
+# CHECK:     },
+# CHECK:     members of IlistNode:
+# CHECK:     Value = 14
+# CHECK:   },
+# CHECK:   [2] = {
+# CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
+# CHECK:       prev = [[Node_14]],
+# CHECK:       next = [[Ilist_Sentinel]] <Ilist>
+# CHECK:     },
+# CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
+# CHECK:       prev = [[SimpleIlist_Sentinel]] <SimpleIlist>,
+# CHECK:       next = [[Node_14]]
+# CHECK:     },
+# CHECK:     members of IlistNode:
+# CHECK:     Value = 15
+# CHECK:   }
+# CHECK: }
+p Ilist
+
+# CHECK: {
+# CHECK:   [0] = {
+# CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
+# CHECK:       prev = [[Node_14]],
+# CHECK:       next = [[Ilist_Sentinel]] <Ilist>
+# CHECK:     },
+# CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
+# CHECK:       prev = [[SimpleIlist_Sentinel]] <SimpleIlist>,
+# CHECK:       next = [[Node_14]]
+# CHECK:     },
+# CHECK:     members of IlistNode:
+# CHECK:     Value = 15
+# CHECK:   },
+# CHECK:   [1] = {
+# CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
+# CHECK:       prev = [[Node_13]],
+# CHECK:       next = [[Node_15]]
+# CHECK:     },
+# CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
+# CHECK:       prev = [[Node_15]],
+# CHECK:       next = [[Node_13]]
+# CHECK:     },
+# CHECK:     members of IlistNode:
+# CHECK:     Value = 14
+# CHECK:   },
+# CHECK:   [2] = {
+# CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<A> >> = {
+# CHECK:       prev = [[Ilist_Sentinel]] <Ilist>,
+# CHECK:       next = [[Node_14]]
+# CHECK:     },
+# CHECK:     <llvm::ilist_node<IlistNode, llvm::ilist_tag<B> >> = {
+# CHECK:       prev = [[Node_14]],
+# CHECK:       next = [[SimpleIlist_Sentinel]] <SimpleIlist>
+# CHECK:     },
+# CHECK:     members of IlistNode:
+# CHECK:     Value = 13
+# CHECK:   }
+# CHECK: }
+p SimpleIlist
