Chandler Carruth
7750f7694c
Fix an unused variable warning in release builds and make the
...
assert-less codepath marginally more efficient.
llvm-svn: 128472
2011-03-29 18:38:10 +00:00
Devang Patel
6f2e41e0d4
Do not line number entry for unconditional branches. Usually, users do not want to stop at closing '}'.
...
llvm-svn: 128471
2011-03-29 18:35:54 +00:00
John Thompson
f71173043f
Fixed build error.
...
llvm-svn: 128470
2011-03-29 18:31:21 +00:00
Jakob Stoklund Olesen
0ed9ebca58
Remember to use the correct register when rematerializing for snippets.
...
llvm-svn: 128469
2011-03-29 17:47:02 +00:00
Jakob Stoklund Olesen
add79c6abf
Run dead code elimination immediately after rematerialization.
...
This may eliminate some uses of the spilled registers, and we don't want to
insert reloads for that.
llvm-svn: 128468
2011-03-29 17:47:00 +00:00
Owen Anderson
c48981f729
Add safety check that didn't show up in testing.
...
llvm-svn: 128467
2011-03-29 17:42:25 +00:00
Devang Patel
1c6b681413
Document llvm.dbg.sp, llvm.dbg.gv and llvm.dbg.enum
...
llvm-svn: 128466
2011-03-29 17:27:08 +00:00
Bill Wendling
dd1cf3279e
Inline check that's used only once.
...
llvm-svn: 128465
2011-03-29 17:12:55 +00:00
Owen Anderson
d6c5a741b5
Get rid of the non-writeback versions VLDMDB and VSTMDB, which don't actually exist.
...
llvm-svn: 128461
2011-03-29 16:45:53 +00:00
Francois Pichet
117d23c5bc
Add a triple to make the test friendly on no windows platform.
...
llvm-svn: 128459
2011-03-29 11:38:04 +00:00
Francois Pichet
3096d209bf
Accept __declspec(dllimport) for function defined at class scope in Microsoft mode.
...
This fixes a bunch of errors when compiling MSVC header files with the -DDLL flag.
llvm-svn: 128457
2011-03-29 10:39:17 +00:00
Chandler Carruth
ffce245700
Fix a bug in how we were resolving the address of overloaded functions
...
when the resolution took place due to a single template specialization
being named with an explicit template argument list. In this case, the
"resolution" doesn't take into account the target type at all, and
therefore can take place for functions, static member functions, and
*non-static* member functions. The latter weren't being properly checked
and their proper form enforced in this scenario. We now do so.
The result of this last form slipping through was some confusing logic
in IsStandardConversion handling of these resolved address-of
expressions which eventually exploded in an assert. Simplify this logic
a bit and add some more aggressive asserts to catch improperly formed
expressions getting into this routine.
Finally add systematic testing of member functions, both static and
non-static, in the various forms they can take. One of these is
essentially PR9563, and this commit fixes the crash in that PR. However,
the diagnostics for this are still pretty terrible. We at least are now
accepting the correct constructs and rejecting the invalid ones rather
than accepting invalid or crashing as before.
llvm-svn: 128456
2011-03-29 08:08:18 +00:00
Bill Wendling
fb63d55fe8
Rework the logic (and removing the bad check for an unreachable block) so that
...
the FailBB dominator is correctly calculated. Believe it or not, there isn't a
functionality change here.
llvm-svn: 128455
2011-03-29 07:28:52 +00:00
Cameron Zwarich
ff811cc475
Do some simple copy propagation through integer loads and stores when promoting
...
vector types. This helps a lot with inlined functions when using the ARM soft
float ABI. Fixes <rdar://problem/9184212>.
llvm-svn: 128453
2011-03-29 05:19:52 +00:00
Bill Wendling
220c9f045b
Don't try to add stack protector logic to a dead basic block. It messes up
...
dominator information.
llvm-svn: 128452
2011-03-29 05:15:48 +00:00
Bill Wendling
225d9b15b5
Spruce up the error output.
...
llvm-svn: 128451
2011-03-29 04:28:26 +00:00
Jakob Stoklund Olesen
12877b8a15
Handle the special case when all uses follow the last split point.
...
llvm-svn: 128450
2011-03-29 03:12:04 +00:00
Jakob Stoklund Olesen
d8af5298d1
Properly enable rematerialization when spilling after live range splitting.
...
The instruction to be rematerialized may not be the one defining the register
that is being spilled. The traceSiblingValue() function sees through sibling
copies to find the remat candidate.
llvm-svn: 128449
2011-03-29 03:12:02 +00:00
Daniel Dunbar
30d0bdd1df
C-API: Include DataTypes.h instead of stdint.h.
...
llvm-svn: 128446
2011-03-29 02:30:34 +00:00
Rafael Espindola
6b2fac21ca
Reduce test case.
...
llvm-svn: 128445
2011-03-29 02:18:54 +00:00
Evan Cheng
e2086e740f
Optimizing (zext A + zext B) * C, to (VMULL A, C) + (VMULL B, C) during
...
isel lowering to fold the zero-extend's and take advantage of no-stall
back to back vmul + vmla:
vmull q0, d4, d6
vmlal q0, d5, d6
is faster than
vaddl q0, d4, d5
vmovl q1, d6
vmul q0, q0, q1
This allows us to vmull + vmlal for:
f = vmull_u8( vget_high_u8(s), c);
f = vmlal_u8(f, vget_low_u8(s), c);
rdar://9197392
llvm-svn: 128444
2011-03-29 01:56:09 +00:00
Ted Kremenek
03325c4be9
Add workaround for Sema issue found in <rdar://problem/9188004>, which leads to an assertion failure in the uninitialized variables analysis. The problem is that Sema isn't properly registering a variable in a DeclContext (which -Wuninitialized relies on), but
...
my expertise on the template instantiation logic isn't good enough to fix this problem for real. This patch worksaround the
problem in -Wuninitialized, but we should fix it for real later.
llvm-svn: 128443
2011-03-29 01:40:00 +00:00
Johnny Chen
6454e15f49
Add the ability to invoke lldb's disassemble command on the symbols digested from
...
the 'image dump symtab' command. The number of symbols to disassemble can be
specified by the '-n Num' option, or unlimited if not specified.
llvm-svn: 128442
2011-03-29 01:07:00 +00:00
Francois Pichet
3cf622a832
Fix the MSVC build.
...
llvm-svn: 128441
2011-03-29 00:30:01 +00:00
Devang Patel
4a2737aa26
Expoert c interface for disassembler.
...
llvm-svn: 128440
2011-03-29 00:01:39 +00:00
Argyrios Kyrtzidis
ba699d611b
Don't do the checks of Sema::DiagnoseEqualityWithExtraParens() on type-dependent expressions. Fixes rdar://9027658.
...
llvm-svn: 128437
2011-03-28 23:52:04 +00:00
Fariborz Jahanian
b24b568725
Implements property of reference types. Adding
...
an executable test to llvm test suite.
// rdar://9070460.
llvm-svn: 128435
2011-03-28 23:47:18 +00:00
Bill Wendling
96f962fdff
In some cases, the "fail BB dominator" may be null after the BB was split (and
...
becomes reachable when before it wasn't). Check to make sure that it's not null
before trying to use it.
llvm-svn: 128434
2011-03-28 23:02:18 +00:00
Daniel Dunbar
67919b2a5b
Integrated-As: Support -Wa,-L when using the integrated assembler.
...
llvm-svn: 128433
2011-03-28 22:49:28 +00:00
Daniel Dunbar
9cf7bc7a6c
Frontend/cc1as: Add support for -L.
...
llvm-svn: 128432
2011-03-28 22:49:24 +00:00
Daniel Dunbar
3e2b335903
Integrated-As: Add support for setting the AllowTemporaryLabels flag via
...
integrated-as.
llvm-svn: 128431
2011-03-28 22:49:19 +00:00
Daniel Dunbar
4ee0d03274
MC: Add support for disabling "temporary label" behavior. Useful for debugging
...
on Darwin.
llvm-svn: 128430
2011-03-28 22:49:15 +00:00
Johnny Chen
4044fdccfc
Doc string change.
...
llvm-svn: 128429
2011-03-28 22:48:25 +00:00
Johnny Chen
5e28aa5d9b
Add an initial version of lldb-disasm.py script whose purpose is to iterate through
...
all the symbols for an executable image and to issue the lldb 'disassemble' command
on each symbol. The initial version just dumps the symbol table.
llvm-svn: 128428
2011-03-28 22:40:32 +00:00
Anton Yartsev
93900c7d1e
refactoring
...
llvm-svn: 128427
2011-03-28 21:00:05 +00:00
Ted Kremenek
2d45693446
Unbreak CMake build.
...
llvm-svn: 128426
2011-03-28 20:43:53 +00:00
Devang Patel
94d1979a95
Remove scripts used by TEST=dbg from here. They now live inside llvm test suite.
...
llvm-svn: 128425
2011-03-28 20:28:30 +00:00
Devang Patel
90955228bb
These tests are x86_64 specific.
...
llvm-svn: 128421
2011-03-28 20:00:34 +00:00
Johnny Chen
f9cd139369
Fix ARM disassembly for PLD/PLDW/PLI which suffers from code rot and add some test cases.
...
Add comments to ThumbDisassemblerCore.h for recent change made for t2PLD disassembly.
llvm-svn: 128417
2011-03-28 18:41:58 +00:00
Kevin Enderby
f3070dc40d
Again adding a C API to the disassembler for use by such tools as Darwin's
...
otool(1), this time with the needed fix for case sensitive file systems :) .
This is a work in progress as the interface for producing symbolic operands is
not done. But a hacked prototype using information from the object file's
relocation entiries and replacing immediate operands with MCExpr's has been
shown to work with no changes to the instrucion printer. These APIs will be
moved into a dynamic library at some point.
llvm-svn: 128415
2011-03-28 18:25:07 +00:00
Nick Lewycky
ebc2f3a68c
Remove tabs I accidentally added.
...
llvm-svn: 128413
2011-03-28 17:48:26 +00:00
Fariborz Jahanian
d0d31bf263
Also 'self' in blocks need be handled specially.
...
// rdar://9181463
llvm-svn: 128410
2011-03-28 16:23:34 +00:00
Caroline Tice
87c19f61d4
Fix single quote characters throughout the ARM emulation stuff.
...
Fix bugs in various ARM istruction emulation functions:
EmulateVPUSH
- Fix context.
- Fix bug calculating register numbers.
EmulateVPOP
- Fix context.
- Fix bug calculating register numbers.
EmulateShiftIMM
- Fix bug in assert statement.
EmulateLDMDA
- Fix context.
EmulateLDMDB
- Fix context.
EmulateLDMIB
- Fix context.
EmulateSTM
- Fix bug calculating lowest_set_bit.
EmulateSTMDA
- Fix context.
- Fix bug calculating lowest_set_bit.
EmulateSTMDB
- Fix context.
- Fix bug calculating lowest_set_bit.
EmulateSTMIB
- FIx context
EmulateLDRSBImmed
- Fix test to match correction in corrected manual
llvm-svn: 128409
2011-03-28 16:10:45 +00:00
Jay Foad
1c83965f5a
Make more use of PHINode::getNumIncomingValues().
...
llvm-svn: 128406
2011-03-28 13:03:10 +00:00
Che-Liang Chiou
cdedaf1f7d
ptx: clean up branch code a bit
...
llvm-svn: 128405
2011-03-28 10:23:13 +00:00
NAKAMURA Takumi
10b96cb34b
docs/GettingStarted.html: [PR8850] Add a note for x86_64-w64-mingw32.
...
llvm-svn: 128404
2011-03-28 06:27:12 +00:00
NAKAMURA Takumi
05c00021da
docs/GettingStarted.html: Add blurb "--enable-shared" on cygming.
...
llvm-svn: 128403
2011-03-28 06:27:06 +00:00
Eli Friedman
9db11f82a5
Remove stray null from the middle of a comment. (Found because my editor
...
was refusing to open the file.)
llvm-svn: 128402
2011-03-28 02:00:21 +00:00
Matt Beaumont-Gay
93615d9912
Fix PR9572 and neighboring lurking crashers.
...
llvm-svn: 128401
2011-03-28 01:39:13 +00:00
Stephen Wilson
edd820e666
Add a missing include required on Linux
...
llvm-svn: 128400
2011-03-27 23:59:07 +00:00