- Jun 18, 2013
-
-
Nick Lewycky authored
llvm-svn: 184174
-
Bill Wendling authored
llvm-svn: 184173
-
Bill Wendling authored
llvm-svn: 184172
-
- Jun 17, 2013
-
-
Andrew Trick authored
llvm-svn: 184135
-
Andrew Trick authored
llvm-svn: 184133
-
Andrew Trick authored
A complex, expensive heuristic with little value in the current design. llvm-svn: 184132
-
Andrew Trick authored
llvm-svn: 184131
-
Andrew Trick authored
llvm-svn: 184130
-
Andrew Trick authored
This eliminates the MultiPressure scheduling "reason". It was sensitive to queue order. We don't like being sensitive to queue order. llvm-svn: 184129
-
Bill Wendling authored
llvm-svn: 184121
-
Rafael Espindola authored
llvm-svn: 184120
-
Rafael Espindola authored
This ports a missing feature from PathV1.h. I am not sure how to test this with the regular infrastructure, but an Apple bot should check this when r183985 is reapplied. llvm-svn: 184119
-
Vincent Lejeune authored
llvm-svn: 184117
-
Vincent Lejeune authored
Fixes rv7x0 bug in Heaven reported here: https://bugs.freedesktop.org/show_bug.cgi?id=64257 llvm-svn: 184116
-
Rafael Espindola authored
This reverts commit r183985. We were missing the checks for not deleting things like /dev/null. llvm-svn: 184111
-
Benjamin Kramer authored
The main advantages here are way better heuristics, taking into account not just loop depth but also __builtin_expect and other static heuristics and will eventually learn how to use profile info. Most of the work in this patch is pushing the MachineBlockFrequencyInfo analysis into the right places. This is good for a 5% speedup on zlib's deflate (x86_64), there were some very unfortunate spilling decisions in its hottest loop in longest_match(). Other benchmarks I tried were mostly neutral. This changes register allocation in subtle ways, update the tests for it. 2012-02-20-MachineCPBug.ll was deleted as it's very fragile and the instruction it looked for was gone already (but the FileCheck pattern picked up unrelated stuff). llvm-svn: 184105
-
Pekka Jaaskelainen authored
vectorizing loops with memory accesses to non-zero address spaces. It simply dropped the AS info. Fixes PR16306. llvm-svn: 184103
-
Rafael Espindola authored
This patch also adds a simpler version of sys::fs::remove and a tool_output_file constructor for when we already have an open file. llvm-svn: 184095
-
Nadav Rotem authored
llvm-svn: 184089
-
Nadav Rotem authored
llvm-svn: 184084
-
Rafael Espindola authored
llvm-ar is the only tool that needs to write archive files. Every other tool should be able to use the lib/Object interface. llvm-svn: 184083
-
Manuel Klimek authored
This broke for example the 'not' utility, if a directory called 'FileCheck' is executable and in the path before the actual 'FileCheck'. This patch steals the implementation of the "old" PathV1 canExecute implementation: - checks for R_OK (file readable): this is necessary for executing scripts; we should not regress here unless we have good reasons - checks for S_ISREG; if we want to get rid of this, we'd need to change all callers who already made the assumption when depending on Path V1. llvm-svn: 184074
-
- Jun 16, 2013
-
-
David Blaikie authored
Frame index handling is now target-agnostic, so delete the target hooks for creation & asm printing of target-specific addressing in DBG_VALUEs and any related functions. llvm-svn: 184067
-
David Blaikie authored
Rather than using the full power of target-specific addressing modes in DBG_VALUEs with Frame Indicies, simply use Frame Index + Offset. This reduces the complexity of debug info handling down to two representations of values (reg+offset and frame index+offset) rather than three or four. Ideally we could ensure that frame indicies had been eliminated by the time we reached an assembly or dwarf generation, but I haven't spent the time to figure out where the FIs are leaking through into that & whether there's a good place to convert them. Some FI+offset=>reg+offset conversion is done (see PrologEpilogInserter, for example) which is necessary for some SelectionDAG assumptions about registers, I believe, but it might be possible to make this a more thorough conversion & ensure there are no remaining FIs no matter how instruction selection is performed. llvm-svn: 184066
-
Benjamin Kramer authored
llvm-svn: 184059
-
- Jun 15, 2013
-
-
David Blaikie authored
llvm-svn: 184045
-
Jakub Staszak authored
llvm-svn: 184044
-
Benjamin Kramer authored
llvm-svn: 184041
-
Andrew Trick authored
llvm-svn: 184039
-
Andrew Trick authored
llvm-svn: 184038
-
Andrew Trick authored
And add Sandybridge/Haswell resource buffers. llvm-svn: 184034
-
Andrew Trick authored
llvm-svn: 184033
-
Andrew Trick authored
Replace the ill-defined MinLatency and ILPWindow properties with with straightforward buffer sizes: MCSchedMode::MicroOpBufferSize MCProcResourceDesc::BufferSize These can be used to more precisely model instruction execution if desired. Disabled some misched tests temporarily. They'll be reenabled in a few commits. llvm-svn: 184032
-
Andrew Trick authored
"Counts" refer to scaled resource counts within a region. CurrMOps is simply the number of micro-ops to be issue in the current cycle. llvm-svn: 184031
-
Andrew Trick authored
llvm-svn: 184030
-
Andrew Trick authored
Heuristics compare the critical path in the scheduled code, called ExpectedLatency, with the latency of instructions remaining to be scheduled. There are two ways to look at remaining latency: (1) Dependent latency includes the latency between unscheduled and scheduled instructions. (2) Independent latency is simply the height (bottom-up) or depth (top-down) of instructions currently in the ready Q. llvm-svn: 184029
-
Andrew Trick authored
llvm-svn: 184028
-
Stephen Lin authored
This doesn't really effect performance due to all the relevant calls being transparent but is clearer. llvm-svn: 184027
-
David Blaikie authored
Debug Info: Don't print the display name and colon prefix for DEBUG_VALUE comments if the display name is empty llvm-svn: 184026
-
Sean Silva authored
llvm-svn: 184022
-