[llvm] r310810 - [opt-viewer] Listify `dict_items` for Py3 indexing

Brian Gesiak via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 13 21:16:43 PDT 2017

Author: modocache
Date: Sun Aug 13 21:16:43 2017
New Revision: 310810

URL: http://llvm.org/viewvc/llvm-project?rev=310810&view=rev
[opt-viewer] Listify `dict_items` for Py3 indexing

In Python 2, calling `dict.items()` returns an indexable `list`, whereas
on Python 3 it returns a set-like `dict_items` object, which cannot be
indexed. Explicitly onvert the `dict_items` object so that it can be
indexed when using Python 3.

In combination with D36622, D36623, and D36624, this change allows
`opt-viewer.py` to exit successfully when run with Python 3.4.

Test Plan:
Run `opt-viewer.py` using Python 3.4 and confirm it does not encounter a
runtime error when when indexing into `dict.items()`.

Reviewers: anemet

Reviewed By: anemet

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D36630


Modified: llvm/trunk/tools/opt-viewer/optrecord.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/opt-viewer/optrecord.py?rev=310810&r1=310809&r2=310810&view=diff
--- llvm/trunk/tools/opt-viewer/optrecord.py (original)
+++ llvm/trunk/tools/opt-viewer/optrecord.py Sun Aug 13 21:16:43 2017
@@ -146,7 +146,7 @@ class Remark(yaml.YAMLObject):
             del mapping['DebugLoc']
         assert(len(mapping) == 1)
-        (key, value) = mapping.items()[0]
+        (key, value) = list(mapping.items())[0]
         if key == 'Caller' or key == 'Callee':
             value = cgi.escape(demangle(value))

More information about the llvm-commits mailing list