This is an archive of the discontinued LLVM Phabricator instance.

[llvm-exegesis][NFC] internal changes
ClosedPublic

Authored by gchatelet on Dec 18 2019, 3:19 AM.

Details

Summary

BitVectors are now cached to lower memory utilization.
Instructions have reference semantics.

Event Timeline

gchatelet created this revision.Dec 18 2019, 3:19 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 18 2019, 3:19 AM
courbet added inline comments.Dec 18 2019, 3:58 AM
llvm/tools/llvm-exegesis/lib/CodeTemplate.cpp
17–18

Let's take Instr by pointer to avoid potentially binding to temporaries.

llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
86

push_back(make_unique) ? I don't think there's a good reason to new here.

llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
97

The name is a bit misleading. To me, an XXXBitVector is a BitVector. BitVectorCache would be better I think.

98

Doc ? This is not obvious.

101

SmallVector<T, 0> ? Why not std::vector ?

109–118

can this be private ?

122

Move this to the top ?

gchatelet updated this revision to Diff 234523.Dec 18 2019, 5:49 AM
gchatelet marked 9 inline comments as done.
  • Address comments
courbet accepted this revision.Dec 18 2019, 6:06 AM
This revision is now accepted and ready to land.Dec 18 2019, 6:06 AM
This revision was automatically updated to reflect the committed changes.