| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 174925
|
|
|
|
| |
llvm-svn: 174924
|
|
|
|
|
|
| |
unresolved breakpoints)
llvm-svn: 174923
|
|
|
|
|
|
| |
of immediately afterwards.
llvm-svn: 174922
|
|
|
|
| |
llvm-svn: 174921
|
|
|
|
|
|
|
| |
Fixed decode of existing 3dNow prefetchw instruction
Intel is scheduled to add a compatible prefetchw (same encoding) to future CPUs
llvm-svn: 174920
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 174918
|
|
|
|
| |
llvm-svn: 174916
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 174913
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 174911
|
|
|
|
| |
llvm-svn: 174910
|
|
|
|
| |
llvm-svn: 174909
|
|
|
|
| |
llvm-svn: 174907
|
|
|
|
|
|
| |
declarations if we didn't have a lookup map when the external decls were added.
llvm-svn: 174906
|
|
|
|
|
|
| |
bitcast X to ...
llvm-svn: 174905
|
|
|
|
|
|
|
|
| |
- variety of compare instructions,
- loops with no preheader,
- arbitrary lower and upper bounds.
llvm-svn: 174904
|
|
|
|
| |
llvm-svn: 174903
|
|
|
|
| |
llvm-svn: 174902
|
|
|
|
| |
llvm-svn: 174901
|
|
|
|
|
|
| |
*added file for test cases for i386 intel syntax
llvm-svn: 174900
|
|
|
|
|
|
|
| |
of @throw statement by finding location of the ';'
correctly. // rdar://13186010
llvm-svn: 174898
|
|
|
|
| |
llvm-svn: 174897
|
|
|
|
|
|
| |
is not valid in this case, and was causing incorrect optimizations.
llvm-svn: 174896
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
llvm-svn: 174891
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 174888
|
|
|
|
|
|
|
| |
Respect REAL(scanf) return value and don't report memory stores that
could potentially happen, but did not.
llvm-svn: 174887
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 174884
|
|
|
|
| |
llvm-svn: 174883
|
|
|
|
|
|
|
|
|
| |
Handle %a in cases when it is unambiguous.
Handle %m.
Patch by Jakub Jelinek.
llvm-svn: 174882
|
|
|
|
| |
llvm-svn: 174881
|
|
|
|
|
|
| |
You can run tests with -debug instead now.
llvm-svn: 174880
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Previous code had a confusing comment which was mostly an implementation
detail. This condition corresponds to "lsb up to register width" and "width not
ridiculous".
llvm-svn: 174877
|
|
|
|
|
|
|
|
| |
Build system setup for MSan lit tests (build with freshly-built clang, run,
check output) - a nearly exact copy from ASan.
First 2 lit tests for MSan.
llvm-svn: 174876
|
|
|
|
| |
llvm-svn: 174875
|
|
|
|
|
|
|
| |
This allows llvm-dwarfdump to handle the relocations needed, at least
for LLVM-produced code.
llvm-svn: 174874
|
|
|
|
|
|
| |
This broke on Windows, presumably due to interleaving of output streams.
llvm-svn: 174873
|