llvm/tools
Andrea Di Biagio 736b8af9cf [llvm-mca] Correctly update the resource strategy for processor resources with multiple units.
When looking at the tests committed by Roman at r346587, I noticed that numbers
reported by the resource pressure for PdAGU01 were wrong.

In particular, according to the aut-generated CHECK lines in tests
memcpy-like-test.s and store-throughput.s, resource pressure for PdAGU01
was not uniformly distributed among the two AGEN pipes.

It turns out that the reason why pressure was not correctly distributed, was
because the "resource selection strategy" object associated with PdAGU01 was not
correctly updated on the event of AGEN pipe used.
As a result, llvm-mca was not simulating a round-robin pipeline allocation for
PdAGU01. Instead, PdAGU1 was always prioritized over PdAGU0.

This patch fixes the issue; now processor resource strategy objects for
resources declaring multiple units, are correctly notified in the event of
"resource used".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@346650 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-12 13:09:39 +00:00
..
bugpoint [TI removal] Make getTerminator() return a generic Instruction. 2018-10-15 10:42:50 +00:00
bugpoint-passes Remove redundant includes from tools. 2017-12-13 21:31:10 +00:00
dsymutil [dsymutil] Copy the LC_BUILD_VERSION load command into the companion binary. 2018-11-08 16:54:59 +00:00
gold [gold-plugin] Fix a bunch of build warnings 2018-11-01 23:34:12 +00:00
llc [llc] Fix sanitizer failure. 2018-06-23 19:04:10 +00:00
lli [Support] Make error banner optional in logAllUnhandledErrors 2018-11-11 01:46:03 +00:00
llvm-ar [llvm-ar] Strip trailing \r and format 2018-10-26 17:38:27 +00:00
llvm-as [ThinLTO] Parse module summary index from assembly 2018-06-26 13:56:49 +00:00
llvm-as-fuzzer make add_llvm_fuzzer calls slightly more consisten with other cmake 2018-05-11 17:58:52 +00:00
llvm-bcanalyzer Fix some missing opcodes in bcanalyzer 2018-09-24 12:47:17 +00:00
llvm-c-test [LLVM-C] Improve Intrinsics Bindings 2018-11-06 01:38:14 +00:00
llvm-cat Pass a reference to a module to the bitcode writer. 2018-02-14 19:11:32 +00:00
llvm-cfi-verify Revert r342148 (and follow-on fix attempts r342154, r342180, r342182, r342193) 2018-09-15 19:04:27 +00:00
llvm-config llvm::sort(C.begin(), C.end(), ...) -> llvm::sort(C, ...) 2018-09-27 02:13:45 +00:00
llvm-cov [Support] Make error banner optional in logAllUnhandledErrors 2018-11-11 01:46:03 +00:00
llvm-cvtres [opt] Change the parameter of OptTable::PrintHelp from Name to Usage and don't append "[options] <inputs>" 2018-10-10 00:15:31 +00:00
llvm-cxxdump [Support] Make error banner optional in logAllUnhandledErrors 2018-11-11 01:46:03 +00:00
llvm-cxxfilt Define InitLLVM to do common initialization all at once. 2018-04-13 18:26:06 +00:00
llvm-cxxmap Add flag to llvm-profdata to allow symbols in profile data to be remapped, and 2018-09-13 20:22:02 +00:00
llvm-demangle-fuzzer make add_llvm_fuzzer calls slightly more consisten with other cmake 2018-05-11 17:58:52 +00:00
llvm-diff [TI removal] Make getTerminator() return a generic Instruction. 2018-10-15 10:42:50 +00:00
llvm-dis [ThinLTO] Print module summary index to assembly 2018-05-26 02:34:13 +00:00
llvm-dwarfdump Add total function byte size and inline function byte size to "llvm-dwarfdump --statistics" 2018-11-09 18:10:02 +00:00
llvm-dwp Reland rL341509: "[llvm-dwp] Use buffer_stream if output file is not seekable (e.g. "-")" 2018-09-06 20:26:54 +00:00
llvm-exegesis [llvm-exegesis][NFC] Add a way to declare the default counter binding for unbound CPUs for a target. 2018-11-09 13:15:32 +00:00
llvm-extract Define InitLLVM to do common initialization all at once. 2018-04-13 18:26:06 +00:00
llvm-go [bindings/go] Add coroutine passes 2018-08-19 23:40:05 +00:00
llvm-isel-fuzzer CodeGen: Add a dwo output file argument to addPassesToEmitFile and hook it up to dwo output. 2018-05-21 20:16:41 +00:00
llvm-jitlistener Define InitLLVM to do common initialization all at once. 2018-04-13 18:26:06 +00:00
llvm-link Restore "[ThinLTO] Ensure we always select the same function copy to import" 2018-07-16 15:30:27 +00:00
llvm-lto [ThinLTO]Expose cache entry expiration time option in llvm-lto and fix a test 2018-10-03 13:00:20 +00:00
llvm-lto2 [LTO] Call InitLLVM from llvm-lto2 2018-10-16 17:37:45 +00:00
llvm-mc [MC] Separate masm integer literal lexer support from inline asm 2018-10-24 20:23:57 +00:00
llvm-mc-assemble-fuzzer [llvm-mc-assemble-fuzzer] Update API - Pass MCObjectWriter instead of a stream 2018-08-17 04:38:41 +00:00
llvm-mc-disassemble-fuzzer make add_llvm_fuzzer calls slightly more consisten with other cmake 2018-05-11 17:58:52 +00:00
llvm-mca [llvm-mca] Correctly update the resource strategy for processor resources with multiple units. 2018-11-12 13:09:39 +00:00
llvm-modextract Pass a reference to a module to the bitcode writer. 2018-02-14 19:11:32 +00:00
llvm-mt [llvm-mt] Accept and ignore notify_update flag 2018-11-07 18:36:50 +00:00
llvm-nm [llvm-nm] Use WithColor for error reporting 2018-11-11 22:12:21 +00:00
llvm-objcopy [Support] Make error banner optional in logAllUnhandledErrors 2018-11-11 01:46:03 +00:00
llvm-objdump [llvm-objdump] Use WithColor for error reporting 2018-11-11 22:12:04 +00:00
llvm-opt-fuzzer [NewPM] teach -passes= to emit meaningful error messages 2018-10-17 10:36:23 +00:00
llvm-opt-report Reland: [OptRemarks] Add library for parsing optimization remarks 2018-10-10 18:43:42 +00:00
llvm-pdbutil Fix a few small issues in llvm-pdbutil 2018-11-02 18:00:37 +00:00
llvm-profdata Add flag to llvm-profdata to allow symbols in profile data to be remapped, and 2018-09-13 20:22:02 +00:00
llvm-rc [llvm-rc] Support joined or separate spelling for /fo flag 2018-11-09 03:16:53 +00:00
llvm-readobj [Support] Make error banner optional in logAllUnhandledErrors 2018-11-11 01:46:03 +00:00
llvm-rtdyld [Support] Make error banner optional in logAllUnhandledErrors 2018-11-11 01:46:03 +00:00
llvm-shlib Support of hurd in llvm-shlib 2018-10-18 20:07:44 +00:00
llvm-size [Support] Make error banner optional in logAllUnhandledErrors 2018-11-11 01:46:03 +00:00
llvm-special-case-list-fuzzer make add_llvm_fuzzer calls slightly more consisten with other cmake 2018-05-11 17:58:52 +00:00
llvm-split Pass a reference to a module to the bitcode writer. 2018-02-14 19:11:32 +00:00
llvm-stress [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
llvm-strings [llvm-strings] Fix whitespaces to match strings output. 2018-11-09 18:03:21 +00:00
llvm-symbolizer [llvm-symbolizer] Simplify 2018-05-26 02:29:14 +00:00
llvm-undname [llvm-undname] Use WithColor for error reporting 2018-11-11 22:11:47 +00:00
llvm-xray [Support] Make error banner optional in logAllUnhandledErrors 2018-11-11 01:46:03 +00:00
llvm-yaml-numeric-parser-fuzzer Use LLVM_BUILTIN_TRAP not __builtin_trap to appease windows builds. NFCI. 2018-08-20 09:49:20 +00:00
lto [libLTO] Expose LLVMCreateDisasmCPUFeatures from libLTO 2018-09-26 16:47:35 +00:00
msbuild Update Visual Studio Integration version number. 2018-08-29 16:57:37 +00:00
obj2yaml [DWARF] Change pubnames to use DWARFSection instead of StringRef 2018-11-11 18:57:28 +00:00
opt [newpm] Fix r346645: Missing consume of the Error return by the pipeline parser 2018-11-12 12:27:58 +00:00
opt-remarks [CMake] Expose opt-remark tooling through libOptRemarks.dylib 2018-11-05 11:57:44 +00:00
opt-viewer [opt-viewer] Kill parser processes before moving onto rendering 2018-02-26 21:15:51 +00:00
sancov [sancov] Generalize the code to get the previous instruction to multiple architectures 2018-10-10 00:57:24 +00:00
sanstats Fix broken links to the Itanium CXX ABI 2017-09-12 00:19:11 +00:00
verify-uselistorder Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
xcode-toolchain [CMake] Use LLVM_ENABLE_IDE instead of CMAKE_CONFIGURATION_TYPES 2018-10-15 21:20:02 +00:00
yaml2obj llvm::sort(C.begin(), C.end(), ...) -> llvm::sort(C, ...) 2018-09-27 02:13:45 +00:00
CMakeLists.txt [RFC] Build LLVM-C.dll on MSVC that exports only the C API 2018-08-07 15:54:50 +00:00
LLVMBuild.txt Add a Microsoft Demangler. 2018-07-20 17:27:48 +00:00