- Mar 05, 2011
-
-
Jakob Stoklund Olesen authored
The coalescer can in very rare cases leave too large live intervals around after rematerializing cheap-as-a-move instructions. Linear scan doesn't really care, but live range splitting gets very confused when a live range is killed by a ghost instruction. I will fix this properly in the coalescer after 2.9 branches. llvm-svn: 127096
-
Abramo Bagnara authored
llvm-svn: 127094
-
Douglas Gregor authored
template (not a specialization!), use the "injected" function template arguments, which correspond to the template parameters of the function template. This is required when substituting into the default template parameters of template template parameters within a function template. Fixes PR9016. llvm-svn: 127092
-
Douglas Gregor authored
transform the type that replaces the template type parameter. In the vast majority of cases, there's nothing to do, because most template type parameters are replaced with something non-dependent that doesn't need further transformation. However, when we're dealing with the default template arguments of template template parameters, we might end up replacing a template parameter (of the template template parameter) with a template parameter of the enclosing template. This addresses part of PR9016, but not within function templates. That's a separate issue. llvm-svn: 127091
-
Bob Wilson authored
llvm-svn: 127090
-
Benjamin Kramer authored
InstCombine: We know the number of items initially added to the worklist map, reserve space early to avoid rehashing. llvm-svn: 127089
-
Benjamin Kramer authored
This makes lookup slightly more expensive but it's worth it, unused DenseMaps are common in LLVM code apparently. 1% speedup on clang -O3 bzip2.c 4% speedup on clang -O3 oggenc.c (Release build of clang on i386/linux) llvm-svn: 127088
-
Anton Korobeynikov authored
that at cc1 level we will always have normalized triple and thus can provide necessary default based on e.g. environment value (e.g. for "arm-eabi" triple, etc.) llvm-svn: 127087
-
Sebastian Redl authored
llvm-svn: 127086
-
Abramo Bagnara authored
llvm-svn: 127085
-
Che-Liang Chiou authored
llvm-svn: 127084
-
Benjamin Kramer authored
llvm-svn: 127082
-
NAKAMURA Takumi authored
llvm-svn: 127080
-
NAKAMURA Takumi authored
llvm-svn: 127079
-
NAKAMURA Takumi authored
Mingw MSYS does not have test.exe (only shell built-in test), and is not capable to invoke test(1) from utils/not. llvm-svn: 127078
-
NAKAMURA Takumi authored
llvm-svn: 127077
-
NAKAMURA Takumi authored
llvm-svn: 127076
-
Andrew Trick authored
llvm-svn: 127075
-
NAKAMURA Takumi authored
utils/lit/lit/TestRunner.py: bash is available with MSYS on Python/W32. Then we can execute "bash tests". llvm-svn: 127074
-
NAKAMURA Takumi authored
On mingw and python/w32, lit would not be expected to understand MSYS-style path. llvm-svn: 127073
-
NAKAMURA Takumi authored
On Windows hosts, Python scripts in test/Scripts did not accept binary files from stdin. The environment variable "PYTHONUNBUFFERED" makes stdin as binary. Thanks to Danil Malyshev! llvm-svn: 127072
-
Andrew Trick authored
llvm-svn: 127071
-
Andrew Trick authored
llvm-svn: 127070
-
Cameron Zwarich authored
the percentage of time spent in CodeGenPrepare when llcing 403.gcc from 12.6% to 1.8% of total llc time. llvm-svn: 127069
-
Andrew Trick authored
llvm-svn: 127068
-
Andrew Trick authored
regs. This is the only change in this checkin that may affects the default scheduler. With better register tracking and heuristics, it doesn't make sense to artificially lower the register limit so much. Added -sched-high-latency-cycles and X86InstrInfo::isHighLatencyDef to give the scheduler a way to account for div and sqrt on targets that don't have an itinerary. It is currently defaults to 10 (the actual number doesn't matter much), but only takes effect on non-default schedulers: list-hybrid and list-ilp. Added several heuristics that can be individually disabled for the non-default sched=list-ilp mode. This helps us determine how much better we can do on a given benchmark than the default scheduler. Certain compute intensive loops run much faster in this mode with the right set of heuristics, and it doesn't seem to have much negative impact elsewhere. Not all of the heuristics are needed, but we still need to experiment to decide which should be disabled by default for sched=list-ilp. llvm-svn: 127067
-
Chris Lattner authored
llvm-svn: 127066
-
Andrew Trick authored
llvm-svn: 127065
-
Nick Lewycky authored
possible. This goes into instcombine and instsimplify because instsimplify doesn't need to check hasOneUse since it returns (almost exclusively) constants. This fixes PR9343 #4 #5 and #8! llvm-svn: 127064
-
Nick Lewycky authored
true/false or "icmp slt/sge Y, 0". llvm-svn: 127063
-
Jakob Stoklund Olesen authored
The global cost is the sum of block frequencies for spill code that must be inserted because preferences weren't met. llvm-svn: 127062
-
Matt Beaumont-Gay authored
llvm-svn: 127061
-
NAKAMURA Takumi authored
test/CodeGen/X86/vec_cast.ll: [PR8311] Add explicit -mtriple=x86_64-linux and -mtriple=x86_64-win32. Thanks to Nadav, it might be fixed in r126424. llvm-svn: 127060
-
Jin-Gu Kang authored
llvm-svn: 127059
-
-
Douglas Gregor authored
use the translation unit as its declaration context, then deserialize the actual lexical and semantic DeclContexts after the template parameter is complete. This avoids problems when the DeclContext itself (e.g., a class template) is dependent on the template parameter (e.g., for the injected-class-name). llvm-svn: 127056
-
Johnny Chen authored
API with a process not in eStateConnected, and checks that the remote launch failed. Modify SBProcess::RemoteLaunch()/RemoteAttachToProcessWithID()'s log statements to fix a crasher when logging is turned on. llvm-svn: 127055
-
Jakob Stoklund Olesen authored
This simplifies the code and makes it faster too. The interference patterns are saved for each candidate register. It will be reused for actually executing the split. Work in progress. llvm-svn: 127054
-
Greg Clayton authored
It will just load all files exactly where the files state they are (file addresses == load addresses). This is used when the llvm::Triple::OSType is set to llvm::Triple::UnknownOS or llvm::Triple::NoOS. llvm-svn: 127053
-
Argyrios Kyrtzidis authored
Currently we can only remap a file by creating a MemoryBuffer and replacing the file contents with it. Allow remapping a file by specifying another filename whose contents should be loaded if the original file gets loaded. This allows to override files without having to create & load buffers in advance. llvm-svn: 127052
-