- Jun 16, 2013
-
-
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
-
Tom Stellard authored
Also add a seperate vector lit test file, since r600 doesn't seem to handle v2i32 load/store yet, but we can test both for SI. Patch by: Aaron Watry Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Signed-off-by:
Aaron Watry <awatry@gmail.com> llvm-svn: 184021
-
Rafael Espindola authored
Archive files (.a) can have a symbol table indicating which object files in them define which symbols. The purpose of this symbol table is to speed up linking by allowing the linker the read only the .o files it is actually going to use instead of having to parse every object's symbol table. LLVM's archive library currently supports a LLVM specific format for such table. It is hard to see any value in that now that llvm-ld is gone: * System linkers don't use it: GNU ar uses the same plugin as the linker to create archive files with a regular index. The OS X ar creates no symbol table for IL files, I assume the linker just parses all IL files. * It doesn't interact well with archives having both IL and native objects. * We probably don't want to be responsible for yet another archive format variant. This patch then: * Removes support for creating and reading such index from lib/Archive. * Remove llvm-ranlib, since there is nothing left for it to do. We should in the future add support for regular indexes to llvm-ar for both native and IL objects. When we do that, llvm-ranlib should be reimplemented as a symlink to llvm-ar, as it is equivalent to "ar s". llvm-svn: 184019
-
Tom Stellard authored
Reviewed-by: Vincent Lejeune<vljn at ovi.com> llvm-svn: 184016
-
Tom Stellard authored
We were using RAT_INST_STORE_RAW, which seemed to work, but the docs say this instruction doesn't exist for Cayman, so it's probably safer to use a documented instruction instead. Reviewed-by: Vincent Lejeune<vljn at ovi.com> llvm-svn: 184015
-
Tom Stellard authored
Reviewed-by: Vincent Lejeune<vljn at ovi.com> llvm-svn: 184014
-
Tom Stellard authored
Reviewed-by: Vincent Lejeune<vljn at ovi.com> llvm-svn: 184013
-
Matt Arsenault authored
llvm-svn: 184012
-
- Jun 14, 2013
-
-
Rafael Espindola authored
It looks like clang-tools-extra/unittests/cpp11-migrate/TransformTest.cpp depends on the behaviour of the old one on Windows. Maybe a difference between GetCurrentDirectoryA and GetCurrentDirectoryW? llvm-svn: 184009
-
Stephen Lin authored
llvm-svn: 184008
-
Rafael Espindola authored
GetCurrentDirectory is now unused. Remove it. llvm-svn: 184003
-
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
-
Rafael Espindola authored
llvm-svn: 183996
-
Stephen Lin authored
SelectionDAG: Fix incorrect condition checks in some cases of folding FADD/FMUL combinations; also improve accuracy of comments llvm-svn: 183993
-
Rafael Espindola authored
llvm-svn: 183992
-
Rafael Espindola authored
llvm-svn: 183988
-
Rafael Espindola authored
llvm-svn: 183987
-
Rafael Espindola authored
llvm-svn: 183985
-
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
-
Rafael Espindola authored
llvm-svn: 183982
-
Rafael Espindola authored
llvm-svn: 183980
-
Rafael Espindola authored
llvm-svn: 183979
-
Amaury de la Vieuville authored
was stc2 p0, c0, [r0]! instead of stc2 p0, c0, [r0,#0]! llvm-svn: 183975
-
Benjamin Kramer authored
Give it the right register format so we can also emit it when AVX is enabled. llvm-svn: 183971
-