- Jun 19, 2013
-
-
Bill Wendling authored
Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change. llvm-svn: 184360
-
Bill Wendling authored
Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change. llvm-svn: 184352
-
Bill Wendling authored
Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change. llvm-svn: 184349
-
Bill Wendling authored
llvm-svn: 184346
-
- Jun 18, 2013
-
-
Quentin Colombet authored
value is zero. This allows optmizations to kick in more easily. Fix some test cases so that they remain meaningful (i.e., not completely dead coded) when optimizations apply. <rdar://problem/14096009> superfluous multiply by high part of zero-extended value. llvm-svn: 184222
-
Timur Iskhodzhanov authored
llvm-svn: 184178
-
Bill Wendling authored
Someone may want to do something crazy, like replace these objects if they change or something. No functionality change intended. llvm-svn: 184175
-
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
-
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
-
- 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
-
- Jun 15, 2013
-
-
David Blaikie authored
llvm-svn: 184045
-
Andrew Trick authored
llvm-svn: 184039
-
Andrew Trick authored
llvm-svn: 184038
-
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
-
Matt Arsenault authored
llvm-svn: 184012
-
- Jun 14, 2013
-
-
Stephen Lin authored
llvm-svn: 184008
-
Tim Northover authored
When we're rematerializing into a not-quite-right register we already add the real definition as an imp-def, but we should also be marking the "official" register as dead, since nothing else is going to use it as a result of this remat. Not doing this can affect pressure tracking. rdar://problem/14158833 llvm-svn: 184002
-
Stephen Lin authored
SelectionDAG: Fix incorrect condition checks in some cases of folding FADD/FMUL combinations; also improve accuracy of comments llvm-svn: 183993
-
Derek Schuff authored
in functions which call __builtin_unwind_init() __builtin_unwind_init() is an undocumented gcc intrinsic which has this effect, and is used in libgcc_eh. Goes part of the way toward fixing PR8541. llvm-svn: 183984
-
Jakub Staszak authored
llvm-svn: 183960
-
- Jun 13, 2013
-
-
Dan Gohman authored
operator<< so that functions are printed as just their name instead of as their entire definition, which is excessively verbose in this context. llvm-svn: 183871
-
- Jun 12, 2013
-
-
Eric Christopher authored
llvm-svn: 183807
-
- Jun 11, 2013
-
-
Eric Christopher authored
to return and this is done all over. llvm-svn: 183704
-
Eric Christopher authored
llvm-svn: 183703
-
- Jun 10, 2013
-
-
Eric Christopher authored
llvm-svn: 183698
-
Eric Christopher authored
llvm-svn: 183695
-