- Feb 12, 2013
-
-
Kay Tiong Khoo authored
Fixed decode of existing 3dNow prefetchw instruction Intel is scheduled to add a compatible prefetchw (same encoding) to future CPUs llvm-svn: 174920
-
Lang Hames authored
move-constructors and move-assignment operators, use memcpy to copy adjacent POD members. Previously, classes with one or more Non-POD members would fall back on element-wise copies for all members, including POD members. This often generated a lot of IR. Without padding metadata, it wasn't often possible for the LLVM optimizers to turn the element-wise copies into a memcpy. This code hasn't yet received any serious tuning. I didn't see any serious regressions on a self-hosted clang build, or any of the nightly tests, but I think it's important to get this out in the wild to get more testing. Insights, feedback and comments welcome. Many thanks to David Blaikie, Richard Smith, and especially John McCall for their help and feedback on this work. llvm-svn: 174919
-
Tanya Lattner authored
llvm-svn: 174918
-
Michael J. Spencer authored
llvm-svn: 174916
-
Hal Finkel authored
When building the pairable-instruction dependency map, don't search past the last pairable instruction. For large blocks that have been divided into multiple instruction groups, searching past the last instruction in each group is very wasteful. This gives a 32% speedup on the csa.ll test case from PR15222 (when using 50 instructions in each group). No functionality change intended. llvm-svn: 174915
-
Hal Finkel authored
This map is queried only for instructions in pairs of pairable instructions; so make sure that only pairs of pairable instructions are added to the map. This gives a 3.5% speedup on the csa.ll test case from PR15222. No functionality change intended. llvm-svn: 174914
-
- Feb 11, 2013
-
-
Michael J. Spencer authored
llvm-svn: 174913
-
Akira Hatanaka authored
MipsCodeEmitter.cpp. JALR and NOP are expanded by function emitPseudoExpansionLowering, which is not called when the old JIT is used. This fixes the following tests which have been failing on llvm-mips-linux builder: LLVM :: ExecutionEngine__2003-01-04-LoopTest.ll LLVM :: ExecutionEngine__2003-05-06-LivenessClobber.ll LLVM :: ExecutionEngine__2003-06-04-bzip2-bug.ll LLVM :: ExecutionEngine__2005-12-02-TailCallBug.ll LLVM :: ExecutionEngine__2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll LLVM :: ExecutionEngine__hello2.ll LLVM :: ExecutionEngine__stubs.ll LLVM :: ExecutionEngine__test-branch.ll LLVM :: ExecutionEngine__test-call.ll LLVM :: ExecutionEngine__test-common-symbols.ll LLVM :: ExecutionEngine__test-loadstore.ll LLVM :: ExecutionEngine__test-loop.ll llvm-svn: 174912
-
Bill Wendling authored
llvm-svn: 174911
-
Bill Wendling authored
llvm-svn: 174910
-
Bill Wendling authored
llvm-svn: 174909
-
Akira Hatanaka authored
llvm-svn: 174907
-
Richard Smith authored
declarations if we didn't have a lookup map when the external decls were added. llvm-svn: 174906
-
Michael Ilseman authored
llvm-svn: 174905
-
Krzysztof Parzyszek authored
- variety of compare instructions, - loops with no preheader, - arbitrary lower and upper bounds. llvm-svn: 174904
-
Michael Ilseman authored
llvm-svn: 174903
-
Daniel Dunbar authored
llvm-svn: 174902
-
Krzysztof Parzyszek authored
llvm-svn: 174901
-
Kay Tiong Khoo authored
*added file for test cases for i386 intel syntax llvm-svn: 174900
-
Fariborz Jahanian authored
of @throw statement by finding location of the ';' correctly. // rdar://13186010 llvm-svn: 174898
-
Jim Ingham authored
llvm-svn: 174897
-
Justin Holewinski authored
[NVPTX] Remove NoCapture from address space conversion intrinsics. NoCapture is not valid in this case, and was causing incorrect optimizations. llvm-svn: 174896
-
Douglas Gregor authored
[Modules] Cope better with top-level declarations loaded after being declared in the current translation unit <rdar://problem/13189985>. These two related tweaks to keep the information associated with a given identifier correct when the identifier has been given some top-level information (say, a top-level declaration) and more information is then loaded from a module. The first ensures that an identifier that was "interesting" before being loaded from an AST is considered to be different from its on-disk counterpart. Otherwise, we lose such changes when writing the current translation unit as a module. Second, teach the code that injects AST-loaded names into the identifier chain for name lookup to keep the most recent declaration, so that we don't end up confusing our declaration chains by having a different declaration in there. llvm-svn: 174895
-
Tobias Grosser authored
We need to remove one dimension. Any is correct as long as it exists. We have choosen for whatever reason the dimension #dims - 2. This is incorrect if there is just one dimension. For CLooG this case did never happen. For isl however, the case can happen and causes undefined behavior including crashes. We choose now always the last dimension #dims - 1. We could have choosen dimension '0' but the last dimension is what we remove conceptionally in the algorithm, so it seems better to actually program it that way. While at it remove another piece of undefined behavior. llvm-svn: 174894
-
Hal Finkel authored
This eliminates one more linear search over a range of std::multimap entries. This gives a 22% speedup on the csa.ll test case from PR15222. No functionality change intended. llvm-svn: 174893
-
Daniel Malea authored
- Access any LLDB CLI command in Vim by typing ":L<command>". Tab-completion works too! - See source locations for breakpoints and the current PC with vim "marks" and highlights. - Examine backtraces, locals, disassembly, registers, and breakpoints in dedicated Vim windows. - See when in-scope variables and registers change by watching for (red) highlights. This plugin opens multiple Vim "windows" to display debugger information. To quit all windows at the same time use ":qa". The alternative would be ":q" to close each window separately. This plugin is known to work on Mac OS X (Mountain Lion) with MacVim and the system-provided terminal Vim, and on Linux (Ubuntu 12.04 and 12.10) with GVim and the terminal Vim from the "vim-gnome" package. llvm-svn: 174892
-
Tim Northover authored
llvm-svn: 174891
-
Michel Danzer authored
The modifiers don't seem to have any effect with V_MOV_B32, supposedly it's meant to just move bits untouched. Fixes 46 piglit tests with radeonsi, though unfortunately 11 of those had just regressed because they started using the clamp modifier. NOTE: This is a candidate for the Mesa stable branch. Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 174890
-
Nico Weber authored
Before: for (id foo in[self getStuffFor : bla]) { } Now: for (id foo in [self getStuffFor:bla]) { } "in" is treated as loop keyword if the line starts with "for", and as a regular identifier else. To check for "in", its IdentifierInfo is handed through a few layers. llvm-svn: 174889
-
Evgeniy Stepanov authored
llvm-svn: 174888
-
Evgeniy Stepanov authored
Respect REAL(scanf) return value and don't report memory stores that could potentially happen, but did not. llvm-svn: 174887
-
Kostya Serebryany authored
This flag makes asan use a small (<2G) offset for 64-bit asan shadow mapping. On x86_64 this saves us a register, thus achieving ~2/3 of the zero-base-offset's benefits in both performance and code size. Thanks Jakub Jelinek for the idea. llvm-svn: 174886
-
Tim Northover authored
This does two things: It removes a call to abs() which may have "long long" parameter on Windows, which is not necessarily available in C++03. It also corrects the signedness of Amount, which was relying on implementation-defined conversions previously. Code was already tested (albeit in an implemnetation defined way) so no extra tests. llvm-svn: 174885
-
Bill Schmidt authored
llvm-svn: 174884
-
Evgeniy Stepanov authored
llvm-svn: 174883
-
Evgeniy Stepanov authored
Handle %a in cases when it is unambiguous. Handle %m. Patch by Jakub Jelinek. llvm-svn: 174882
-
Bill Schmidt authored
llvm-svn: 174881
-
Manuel Klimek authored
You can run tests with -debug instead now. llvm-svn: 174880
-
Daniel Jasper authored
In google style, trailing comments are separated by two spaces. This patch fixes the counting of these spaces and prevents clang-format from creating a line with 81 columns. llvm-svn: 174879
-
Manuel Klimek authored
Now correctly formats: #define A \ \ b; to #define A b; Added the state whether an unwrapped line is a macro to the debug output. llvm-svn: 174878
-