Added function to set a register to a particular value + tests.
Add EFLAGS test, use new setRegTo instead of setRegToConstant.
Details
Diff Detail
- Repository
- rL LLVM
- Build Status
Buildable 22775 Build 22775: arc lint + arc unit
Event Timeline
tools/llvm-exegesis/lib/Assembler.cpp | ||
---|---|---|
173–174 | let's keep this code factored out in generateSnippetSetupCode(). | |
tools/llvm-exegesis/lib/BenchmarkRunner.h | ||
46 ↗ | (On Diff #164660) | you can kill that now. |
47 ↗ | (On Diff #164660) | where are you setting these ? |
tools/llvm-exegesis/lib/RegisterValue.h | ||
1 ↗ | (On Diff #164660) | Can you please split this to a different patch ? |
tools/llvm-exegesis/lib/Target.h | ||
38–39 | Please comment what happens when the register bit width is not the same as that of the value. | |
52 | As discussed, let's not change this API (+fillMemoryOperands, getMaxMemoryAccessSize). It already handles not supporting memory operands, which is valid for a target. | |
tools/llvm-exegesis/lib/X86/Target.cpp | ||
104 | Conceptually, the "load immediate" opcode should be a function of the size of the register AND value, not just value (e.g. MOV64ri vs MOV64ri32). See my comment below. | |
121 | Is there any case when the size of the value is not the same as that of the register ? If not, let's make this a requirement and crash if the value bit width is not exactly that of the register. | |
323 | let's fail gracefully instead of crashing here. That's not the users' fault. |
getLoadImmediateOpcode