1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/include/llvm
Marina Yatsina 13c308caeb Take into account the cost of local intervals when selecting split candidate.
When selecting a split candidate for region splitting, the register allocator tries to predict which candidate will have the cheapest spill cost.
Global splitting may cause the creation of local intervals, and they might spill.

This patch makes RA take into account the spill cost of local split intervals in use blocks (we already take into account the spill cost in through blocks).
A flag ("-condsider-local-interval-cost") controls weather we do this advanced cost calculation (it's on by default for X86 target, off for the rest).

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

Change-Id: Icccb8ad2dbf13124f5d97a18c67d95aa6be0d14d
llvm-svn: 323870
2018-01-31 13:31:08 +00:00
..
ADT [ADT] Make moving Optional not reset the Optional it moves from. 2018-01-25 17:24:22 +00:00
Analysis Re-commit : [PowerPC] Add handling for ColdCC calling convention and a pass to mark 2018-01-30 16:17:22 +00:00
AsmParser LLParser: add an argument for overriding data layout and do not check alloca addr space 2018-01-30 22:32:39 +00:00
BinaryFormat CodeGen: support an extension to pass linker options on ELF 2018-01-30 16:29:29 +00:00
Bitcode Re-land "[ThinLTO] Add call edges' relative block frequency to per-module summary." 2018-01-25 19:27:17 +00:00
CodeGen Take into account the cost of local intervals when selecting split candidate. 2018-01-31 13:31:08 +00:00
Config [dump] Make LLVM_ENABLE_DUMP independent, and move to llvm-config.h 2017-12-07 22:55:40 +00:00
DebugInfo [CodeView] Micro-optimizations to speed up type merging. 2018-01-30 17:12:04 +00:00
Demangle
ExecutionEngine [ORC] Refactor the various lookupFlags methods to return the flags map via the 2018-01-25 01:43:00 +00:00
FuzzMutate [FuzzMutate] Avoid using swifterror as a source operand 2018-01-11 14:43:05 +00:00
IR [InstSimplify] (X * Y) / Y --> X for relaxed floating-point ops 2018-01-30 00:18:37 +00:00
IRReader LLParser: add an argument for overriding data layout and do not check alloca addr space 2018-01-30 22:32:39 +00:00
LineEditor
Linker
LTO [ThinLTO/gold] Write empty imports even for modules with symbols 2018-01-30 21:19:26 +00:00
MC Turn two static functions into methods, to simplify calling them. 2018-01-30 21:39:28 +00:00
Object Move getPlatformFlags to ELFObjectFileBase and simplify. 2018-01-29 18:27:30 +00:00
ObjectYAML [WebAssembly] Add COMDAT support 2018-01-09 23:43:14 +00:00
Option [COFF] Process /EXPORT option in fastpath 2018-01-09 20:36:42 +00:00
Passes NewPM: Add an extension point for the start of the pipeline. 2018-01-23 01:25:20 +00:00
ProfileData [NFC] fix trivial typos in comments 2018-01-23 05:49:30 +00:00
Support [NFC] fix trivial typos in comments and documents 2018-01-29 05:17:03 +00:00
TableGen [TableGen] Make sure !if is evaluated throughout class inheritance. 2018-01-30 19:29:21 +00:00
Target Add a TargetOption to enable/disable GlobalISel 2018-01-17 22:34:21 +00:00
Testing/Support [Testing/Support] Make the HasValue matcher composable 2017-12-13 10:00:38 +00:00
ToolDrivers llvm: add llvm-dlltool support to the archiver 2017-07-18 21:26:38 +00:00
Transforms [ThinLTO] - Stop internalizing and drop non-prevailing symbols. 2018-01-29 08:03:30 +00:00
WindowsManifest Fix bug 34608 by moving private header out of public header. 2017-09-14 23:01:13 +00:00
WindowsResource [llvm-readobj] Teach readobj to dump .res files (WindowsResource). 2017-09-20 18:33:35 +00:00
XRay XRayRecord.h: Add missing #include 2017-11-21 00:23:19 +00:00
CMakeLists.txt
InitializePasses.h Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00
LinkAllIR.h Sink some IntrinsicInst.h and Intrinsics.h out of llvm/include 2017-09-07 23:27:44 +00:00
LinkAllPasses.h Rename CountingFunctionInserter and use for both mcount and cygprofile calls, before and after inlining 2017-11-14 21:09:45 +00:00
module.modulemap [WebAssembly] Remove unneeded sub-directory 2017-12-21 03:16:34 +00:00
module.modulemap.build [Modules] Add module for Config/llvm-config.h 2017-10-24 06:18:52 +00:00
Pass.h IR printing improvement for function passes - introducing -print-module-scope 2017-12-01 17:42:46 +00:00
PassAnalysisSupport.h [NFC] fix trivial typos in comments 2018-01-23 05:49:30 +00:00
PassInfo.h [Pass] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-09-06 23:05:38 +00:00
PassRegistry.h [Pass] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-09-06 23:05:38 +00:00
PassSupport.h [Pass] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-09-06 23:05:38 +00:00