gollvm: sync with LLVM trunk

This patch brings the gollvm source into sync with LLVM trunk
circa revision cbf25fbed5b46ec47e3ce2799ed9095f2f18ea8f.

Includes a fix to llvm-godumpspec related to the handling of
const-qualified unspecified types (e.g. "const void *"), which the
LLVM DWARF utilities handle slightly differently now.

Fixes golang/go#42355.

Change-Id: Iead855143a2209046fb95c03fe3a20aaa3e68c67
Reviewed-on: https://go-review.googlesource.com/c/gollvm/+/267478
Trust: Than McIntosh <thanm@google.com>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
diff --git a/libgo/godumpspec/godumpspec.cpp b/libgo/godumpspec/godumpspec.cpp
index 8a88fba..c802ac1 100644
--- a/libgo/godumpspec/godumpspec.cpp
+++ b/libgo/godumpspec/godumpspec.cpp
@@ -1101,10 +1101,13 @@
     case dwarf::DW_TAG_volatile_type: {
       // Throw away these qualifiers.
       DWARFDie qtyp = die.getAttributeValueAsReferencedDie(dwarf::DW_AT_type);
-      assert(qtyp.isValid());
-      rval = generateType(qtyp);
-      setTypeAlign(die, typeAlign(qtyp));
-      setTypeSize(die, typeSize(qtyp));
+      if (!qtyp.isValid()) {
+        rval = false;
+      } else {
+        rval = generateType(qtyp);
+        setTypeAlign(die, typeAlign(qtyp));
+        setTypeSize(die, typeSize(qtyp));
+      }
       break;
     }
     default: