diff --git a/llvm/tools/opt-viewer/opt-viewer.py b/llvm/tools/opt-viewer/opt-viewer.py
--- a/llvm/tools/opt-viewer/opt-viewer.py
+++ b/llvm/tools/opt-viewer/opt-viewer.py
@@ -4,9 +4,9 @@
import argparse
import cgi
-import codecs
import errno
import functools
+import io
from multiprocessing import cpu_count
import os.path
import re
@@ -54,12 +54,12 @@
existing_filename = fn
self.no_highlight = no_highlight
- self.stream = codecs.open(os.path.join(output_dir, optrecord.html_file_name(filename)), 'w', encoding='utf-8')
+ self.stream = io.open(os.path.join(output_dir, optrecord.html_file_name(filename)), 'w', encoding='utf-8')
if existing_filename:
- self.source_stream = open(existing_filename)
+ self.source_stream = io.open(existing_filename, encoding='utf-8')
else:
self.source_stream = None
- print('''
+ print(u'''
Unable to locate file {}
@@ -72,10 +72,7 @@
file_text = stream.read()
if self.no_highlight:
- if sys.version_info.major >= 3:
- html_highlighted = file_text
- else:
- html_highlighted = file_text.decode('utf-8')
+ html_highlighted = file_text
else:
html_highlighted = highlight(
file_text,
@@ -147,7 +144,7 @@
if not self.source_stream:
return
- print('''
+ print(u'''
{}
@@ -186,7 +183,7 @@
'''.format(os.path.basename(self.filename)), file=self.stream)
self.render_source_lines(self.source_stream, line_remarks)
- print('''
+ print(u'''
@@ -195,7 +192,7 @@
class IndexRenderer:
def __init__(self, output_dir, should_display_hotness, max_hottest_remarks_on_index):
- self.stream = codecs.open(os.path.join(output_dir, 'index.html'), 'w', encoding='utf-8')
+ self.stream = io.open(os.path.join(output_dir, 'index.html'), 'w', encoding='utf-8')
self.should_display_hotness = should_display_hotness
self.max_hottest_remarks_on_index = max_hottest_remarks_on_index
@@ -210,7 +207,7 @@
'''.format(**locals()), file=self.stream)
def render(self, all_remarks):
- print('''
+ print(u'''
@@ -233,7 +230,7 @@
for i, remark in enumerate(all_remarks[:max_entries]):
if not suppress(remark):
self.render_entry(remark, i % 2)
- print('''
+ print(u'''
''', file=self.stream)
diff --git a/llvm/tools/opt-viewer/optrecord.py b/llvm/tools/opt-viewer/optrecord.py
--- a/llvm/tools/opt-viewer/optrecord.py
+++ b/llvm/tools/opt-viewer/optrecord.py
@@ -2,6 +2,7 @@
from __future__ import print_function
+import io
import yaml
# Try to use the C parser.
try:
@@ -272,7 +273,7 @@
all_remarks = dict()
file_remarks = defaultdict(functools.partial(defaultdict, list))
- with open(input_file) as f:
+ with io.open(input_file, encoding = 'utf-8') as f:
docs = yaml.load_all(f, Loader=Loader)
filter_e = None