1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/utils
James Molloy aecd6e19a2 [DFAPacketizer] Reapply: Track resources for packetized instructions
Reapply with fix to reduce resources required by the compiler - use
unsigned[2] instead of std::pair. This causes clang and gcc to compile
the generated file multiple times faster, and hopefully will reduce
the resource requirements on Visual Studio also. This fix is a little
ugly but it's clearly the same issue the previous author of
DFAPacketizer faced (the previous tables use unsigned[2] rather uglily
too).

This patch allows the DFAPacketizer to be queried after a packet is formed to work out which
resources were allocated to the packetized instructions.

This is particularly important for targets that do their own bundle packing - it's not
sufficient to know simply that instructions can share a packet; which slots are used is
also required for encoding.

This extends the emitter to emit a side-table containing resource usage diffs for each
state transition. The packetizer maintains a set of all possible resource states in its
current state. After packetization is complete, all remaining resource states are
possible packetization strategies.

The sidetable is only ~500K for Hexagon, but the extra tracking is disabled by default
(most uses of the packetizer like MachinePipeliner don't care and don't need the extra
maintained state).

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

llvm-svn: 371399
2019-09-09 13:17:55 +00:00
..
benchmark [benchmark] Fix win32 link on case-sensitive fs 2019-07-30 20:47:59 +00:00
bugpoint
count
crosstool
docker
emacs ARM MTE stack sanitizer. 2019-07-15 20:02:23 +00:00
FileCheck [FileCheck] Document FILECHECK_OPTS in -help 2019-08-14 02:56:20 +00:00
fpcmp
gdb-scripts
git-svn [git-llvm] Do not reinvent @{upstream} 2019-09-07 06:44:52 +00:00
gn gn build: Merge r371182 2019-09-06 09:44:13 +00:00
jedit
kate
KillTheDoctor
lint
lit [lit] Diagnose insufficient args to internal env 2019-08-22 03:42:01 +00:00
llvm-build Write the RequiredLibraries for 'all' in LibraryDependencies.inc in a deterministic order (PR42739) 2019-08-05 13:04:07 +00:00
llvm-lit
LLVMVisualizers Clean up MSVC visualization of LLVM pointer types 2019-06-30 21:54:34 +00:00
Misc
not
PerfectShuffle
release [utils] Update shebang to use the environment. 2019-08-22 23:42:31 +00:00
Reviewing
sanitizers
TableGen [DFAPacketizer] Reapply: Track resources for packetized instructions 2019-09-09 13:17:55 +00:00
Target/ARM
testgen
textmate
unittest reland [gtest] Fix printing of StringRef and SmallString in assert messages. 2019-08-21 13:56:29 +00:00
UpdateTestChecks [UpdateTestChecks] Update tests option 2019-08-07 14:44:50 +00:00
valgrind
vim vim: add immarg keyword 2019-08-30 08:52:55 +00:00
vscode
yaml-bench
abtest.py
add_argument_names.py IR: print value numbers for unnamed function arguments 2019-08-03 14:28:34 +00:00
bisect [Utils][NFC] Copy bisect usage documents from commit msg into script. 2019-08-15 22:07:59 +00:00
bisect-skip-count
bugpoint_gisel_reducer.py
check-each-file
chunk-print-before-all.py [Util] Add a helper script for converting -print-before-all output into a file based equivelent 2019-06-19 22:05:47 +00:00
clang-parse-diagnostics-file
codegen-diff
collect_and_build_with_pgo.py
countloc.sh
create_ladder_graph.py
demangle_tree.py
DSAclean.py
DSAextract.py
extract_symbols.py
extract_vplan.py
findmisopt
findoptdiff
findsym.pl
GenLibDeps.pl [Bitcode] Move Bitstream to a separate library 2019-07-03 22:40:07 +00:00
GetRepositoryPath
GetSourceVersion
getsrcs.sh
indirect_calls.py
lldbDataFormatters.py Add LLDB dataformatters for llvm::StringRef and lldb_private::ConstString 2019-08-16 23:47:57 +00:00
llvm-compilers-check
llvm-gisel-cov.py
llvm-native-gxx
llvm.grm
LLVMBuild.txt
llvmdo
llvmgrep
prepare-code-coverage-artifact.py
schedcover.py
shuffle_fuzz.py
shuffle_select_fuzz_tester.py
sort_includes.py
unicode-case-fold.py
update_analyze_test_checks.py [UpdateTestChecks] Update tests option 2019-08-07 14:44:50 +00:00
update_cc_test_checks.py [UpdateTestChecks] Update tests option 2019-08-07 14:44:50 +00:00
update_llc_test_checks.py [UpdateTestChecks] Update tests option 2019-08-07 14:44:50 +00:00
update_mca_test_checks.py [UpdateTestChecks] Emit warning when invalid value for -check-prefix(es) option 2019-07-29 17:41:00 +00:00
update_mir_test_checks.py [UpdateTestChecks] Update tests option 2019-08-07 14:44:50 +00:00
update_test_checks.py [UpdateTestChecks] Update tests option 2019-08-07 14:44:50 +00:00
UpdateCMakeLists.pl
wciia.py