Commit Graph

201803 Commits

Author SHA1 Message Date
David Majnemer c9741603bc [CodeGen] Update a test-case affected by folding IntToPtr/PtrToInt into Loads
Folding IntToPtr or PtrToInt into Loads, due to r238452,
perturbs the mips-varargs test-case.

Patch by Philip Pfaffe!

Differential Revision: http://reviews.llvm.org/D9153

llvm-svn: 238455
2015-05-28 18:51:36 +00:00
Ed Maste 08948137fd XTIMEOUT new TestChangeProcessGroup.py on FreeBSD
llvm-svn: 238454
2015-05-28 18:45:30 +00:00
Colin LeMahieu 2048ea4056 [llvm] Parameterizing the output stream for dumpbytes and outputting directly to stream.
llvm-svn: 238453
2015-05-28 18:39:50 +00:00
David Majnemer dd04352558 [InstCombine] Fold IntToPtr and PtrToInt into preceding loads.
Currently we only fold a BitCast into a Load when the BitCast is its
only user.

Do the same for any no-op cast.

Differential Revision: http://reviews.llvm.org/D9152

llvm-svn: 238452
2015-05-28 18:39:17 +00:00
Alexey Samsonov d804a1e36b Add llvm-dwarfdump-fuzzer that uses LibFuzzer to fuzz llvm-dwarfdump tool.
The fuzzer is very simple, but not quite useful at the moment: it's unable
to discover "interesting" examples, as LLVMObject library is terrible at
error recovery, calling "report_fatal_error()" far too often.

llvm-svn: 238451
2015-05-28 18:35:18 +00:00
Owen Anderson abaa523e9e Add support for the convergent flag at the MC and MachineInstr levels.
llvm-svn: 238450
2015-05-28 18:33:39 +00:00
Chad Rosier adc06311ba Reuse Loc variable. NFC.
llvm-svn: 238448
2015-05-28 18:18:21 +00:00
Duncan P. N. Exon Smith 34683d10bf AsmPrinter: Suppress warnings on GCC from r238362, NFC
GCC seems to have some overzealous warnings about strict aliasing.
Rafael reports that this patch suppresses them on GCC 4.9, and I'm
hoping this will work for GCC 4.7 as well.  I'll watch [1] and iterate
if necessary.

[1]: http://bb.pgr.jp/builders/clang-3stage-x86_64-linux/builds/8597

llvm-svn: 238447
2015-05-28 18:09:13 +00:00
Rafael Espindola 66f3c9ce15 Use range loops for accessing file names. NFC.
llvm-svn: 238446
2015-05-28 18:03:20 +00:00
Owen Anderson ca5480062a Expand the Flags field of MCInstrDesc to 64 bits, while simultaneously
shrinking the Size and NumDefs fields to offset the size growth, and
reordering the fields to preserve a good packing.

This is necessary in the short term for adding a convergent flag, and
simultaneously future-proofs us against more flags being added in the
future.

llvm-svn: 238445
2015-05-28 18:03:07 +00:00
Rafael Espindola aa486e9bd0 Merge computeSymbolTable and writeSymbolTable.
For now this just saves a few loops, but it will allow more simplifications
in the future.

llvm-svn: 238444
2015-05-28 17:54:01 +00:00
Hans Wennborg bb4f962ad6 Get the dll storage class right for structors of classes exported/imported via explicit instantiation (PR23667)
This is a follow-up to r238266. It turned out structors are codegened through a different path,
and didn't get the storage class set in EmitGlobalFunctionDefinition.

llvm-svn: 238443
2015-05-28 17:44:56 +00:00
Oleksiy Vyalov 0b5ebef7cd Refactor AdbClient and make PlatformAndroid::GetFile to use "adb pull".
http://reviews.llvm.org/D10082

llvm-svn: 238442
2015-05-28 17:42:48 +00:00
Ed Maste 5f5b1e99aa Add explicit dependency on headers to swig wrapper (cmake build)
This should avoid issues like that described in llvm.org/pr23686

Differential Revision:	http://reviews.llvm.org/D10092

llvm-svn: 238441
2015-05-28 17:25:34 +00:00
Chaoren Lin 1c614fedf9 Make FileSpec::Dump use FileSpec::GetPath(), not the other way around.
Summary:
Fix FileSpec::Dump() to output denormalized path.

See D9942 for previous discussions.

Reviewers: zturner

Reviewed By: zturner

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D10077

llvm-svn: 238440
2015-05-28 17:02:45 +00:00
Kai Nacke 3adf9b8d80 [mips] Add new format for dmtc2/dmfc2 for Octeon CPUs.
Octeon CPUs use dmtc2 rt,imm16 and dmfcp2 rt,imm16 for the crypto coprocessor.
E.g. dmtc2 rt,0x4057 starts calculation of sha-1.

I had to introduce a new deconding namespace to avoid a decoding conflict.

Reviewed By: dsanders

Differential Revision: http://reviews.llvm.org/D10083

llvm-svn: 238439
2015-05-28 16:23:16 +00:00
Ed Maste 39db0f6213 Add a comment explaining the eCommandRequiresTarget test
llvm.org/pr23686

llvm-svn: 238438
2015-05-28 16:06:48 +00:00
Ed Maste 8e45371307 Revert r238425, it undoes the purpose of the test
llvm.org/pr23686

llvm-svn: 238437
2015-05-28 15:58:10 +00:00
Ranjeet Singh b90541519e [ARM] Be less specific about the error message expected.
Differential Revision: http://reviews.llvm.org/D10087

llvm-svn: 238436
2015-05-28 15:55:34 +00:00
Renato Golin 33e1f82e5a [ARMTargetParser] FIXME MachO arch names. NFC
llvm-svn: 238435
2015-05-28 15:49:28 +00:00
Ed Maste 6d0bee5fc2 DebugInfo: .debug_line DWARF64 support
This adds support for the 64-bit DWARF format, but is still limited to
less than 4GB of debug data by the DataExtractor class.  Some versions
of the GNU MIPS toolchain generate 64-Bit DWARF even though it isn't
actually necessary.

Differential Revision: http://reviews.llvm.org/D1988

llvm-svn: 238434
2015-05-28 15:38:17 +00:00
Aidan Dodds 5f2d0c3c23 Fix THUMB function detection when function name is not prefixed.
Differential Revision: http://reviews.llvm.org/D10062

llvm-svn: 238433
2015-05-28 15:37:01 +00:00
Rafael Espindola e2b355d651 Don't create an unused _GLOBAL_OFFSET_TABLE_.
This was a bug for bug compatibility with gas that is completely unnecessary.
If a _GLOBAL_OFFSET_TABLE_ symbol is used, it will already be created by
the time we get to the ELF writer.

llvm-svn: 238432
2015-05-28 15:20:00 +00:00
Tamas Berghammer 034980681d Fix write register context in EmulateInstructionARM::EmulateMOVRdRm
llvm-svn: 238431
2015-05-28 15:09:45 +00:00
Renato Golin 3c007259a4 [ARMTargetParser] FIXME on getLLVMArchSuffixForARM. NFC
llvm-svn: 238430
2015-05-28 15:05:53 +00:00
Renato Golin 42dad6477d [ARMTargetParser] Adding sub-arch information for Clang. NFC
llvm-svn: 238429
2015-05-28 15:05:18 +00:00
Ed Maste 3fa1b65c1c Use /usr/bin/env to find python
Python may not be /usr/bin/python on some systems. For example, on
FreeBSD it will be /usr/local/bin/python.

Reviewers: samsonov
Differential Revision: http://reviews.llvm.org/D9914

llvm-svn: 238428
2015-05-28 14:53:14 +00:00
Daniel Sanders 3985530328 [mips] Make TTypeEncoding indirect to allow .eh_frame to be read-only.
Summary:
Following on from r209907 which made personality encodings indirect, do the
same for TType encodings. This fixes the case where a try/catch block needs
to generate references to, for example, std::exception in the
.gcc_except_table.

Reviewers: petarj

Reviewed By: petarj

Subscribers: srhines, joerg, tberghammer, llvm-commits

Differential Revision: http://reviews.llvm.org/D9669

llvm-svn: 238427
2015-05-28 14:52:15 +00:00
Yury Gribov 83aaa8e05c [ASan] Disable alloca tests on ARM targets due to flakiness.
llvm-svn: 238426
2015-05-28 14:29:12 +00:00
Ed Maste 7daee53732 Fix TestCommandScript: return an error if target executable is not set
The test invokes the 'targetname' test command before setting a
target executable, which caused Python to raise TypeError: cannot
concatenate 'str' and 'NoneType' objects.

llvm.org/pr23686

llvm-svn: 238425
2015-05-28 14:22:57 +00:00
Petar Jovanovic 9720283e99 [Mips64] Add support for MCJIT for MIPS64r2 and MIPS64r6
Add support for resolving MIPS64r2 and MIPS64r6 relocations in MCJIT.

Patch by Vladimir Radosavljevic.

Differential Revision: http://reviews.llvm.org/D9667

llvm-svn: 238424
2015-05-28 13:48:41 +00:00
Pavel Labath fb7d5b8384 Fix race in IOHandlerProcessSTDIO
Summary:
IOHandlerProcessSTDIO::Run() was opening the pipe for interrupt requests lazily. This was racing
with another thread executing IOHandlerProcessSTDIO::Cancel() simultaneously. I fix this by
opening the pipe in the object constructor. The pipe will be automatically closed when the object
is destroyed.

Test Plan: Tests pass on linux.

Reviewers: clayborg, ribrdb

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D10060

llvm-svn: 238423
2015-05-28 13:41:08 +00:00
Tobias Grosser b2f399264d Update isl to 93b8e43d
This update brings mostly interface cleanups, but also fixes two bugs in
imath (a memory leak, some undefined behavior).

llvm-svn: 238422
2015-05-28 13:32:11 +00:00
Pavel Labath b1f24ad3cf Cleanup the forked child in TestChangeProcessGroup
if the test fails for some reason, we can end up leaking a process. This has a tendency to
confuse the buildbots. I have added a cleanup hook to make sure we cleanup the child.

llvm-svn: 238421
2015-05-28 13:12:48 +00:00
Ed Maste 3d3c60117f Add thumb breakpoint for FreeBSD (currently disabled)
Patch by Tom Rix, with additional changes to sync whitespace/style with
PlatformLinux.cpp.

It is currently disabled pending kernel support.

Differential Revision:	http://reviews.llvm.org/D9170

llvm-svn: 238420
2015-05-28 13:06:09 +00:00
Aaron Ballman e08537f3ea Silencing two signed/unsigned mismatch warnings; NFC.
llvm-svn: 238419
2015-05-28 12:55:59 +00:00
Benjamin Kramer 5188a2af72 [AsmPrinter] Destroy allocated DIEAbbrevs on teardown.
DIEAbbrev contains a SmallVector that can leak for overly large abbrevs. They
used to be owned by the DIE, but after the recent refactoring DWARFFile
allocates its own abbrevs.

Leak found by asan.

llvm-svn: 238418
2015-05-28 12:55:43 +00:00
Pavel Labath e749b20171 Don't check breakpoint location count in TestChangeProcessGroup
apparently, we get two locations for the breakpoint on android.

llvm-svn: 238417
2015-05-28 12:46:13 +00:00
Renato Golin 391544c431 [ARMTargetParser] Removing string parsing from getCPUDefineSuffix. NFC.
Yet another FIXME from ARMTargetParser.

llvm-svn: 238416
2015-05-28 12:11:11 +00:00
Renato Golin 7374fcdb38 [ARMTargetParser] Adding a few more CPUs for Clang CPU detection. NFC.
llvm-svn: 238415
2015-05-28 12:10:37 +00:00
Benjamin Kramer 5377ad62f5 [MC] Replace custom string join function with the one from StringExtras.
NFC.

llvm-svn: 238414
2015-05-28 11:45:32 +00:00
Diego Novillo 63b2ad4f71 Fix PPC failure. Adjust CHECK pattern.
llvm-svn: 238413
2015-05-28 11:25:52 +00:00
Benjamin Kramer dba7ee90b5 Don't call utostr in Twine/raw_ostream contexts.
Creating temporary std::strings there is unnecessary.

llvm-svn: 238412
2015-05-28 11:24:24 +00:00
Tamas Berghammer 157e84f5a9 Fix breakpoint setting in gdb remote test cases on arm
llvm-svn: 238411
2015-05-28 10:55:01 +00:00
Tamas Berghammer 64d807e95d Fix write register context in EmulateInstructionARM::EmulateADDRdSPImm
llvm-svn: 238410
2015-05-28 10:38:32 +00:00
Yury Gribov 64c701b3f7 [ASan] XFAIL VLA tests on ARM and PowerPC. Patch by Max Ostapenko!
llvm-svn: 238409
2015-05-28 10:30:46 +00:00
Pavel Labath b9d6e89931 Move prctl call in TestChangeProcessGroup to the child
I was hoping the enable-tracing flag will be inherited from the parent. It is not.

llvm-svn: 238408
2015-05-28 10:28:34 +00:00
Yury Gribov 73570f4323 [ASan] Add new interceptors to asan_win_dll_thunk.cc to fix build errors on Windows.
Patch by Maria Guseva!

llvm-svn: 238407
2015-05-28 10:21:59 +00:00
Yury Gribov 0ca65fd83d [sanitizer] More string interceptors: strstr, strcasestr, strspn, strcspn, strpbrk.
Patch by Maria Guseva.

Differential Revision: http://reviews.llvm.org/D9017

llvm-svn: 238406
2015-05-28 09:24:33 +00:00
Pavel Labath 05a1f2ac4c [NativeProcessLinux] Support inferiors which change their process group
Summary:
Previously, we wait()ed for events from the inferiors process group. This is resulted in a
failure if the inferior changed its process group in the middle of execution. To avoid this, I
pass -1 to the wait() call. The flag __WNOTHREAD makes sure we don't actually wait for events
from any process, but only the processes(threads) which are our children (or traced by us). Since
this happens on the monitor thread, which is dedicated to monitoring a single inferior, we will
be getting events only from this inferior.

Test Plan: All tests pass on linux. I have added a test to check the new functionality.

Reviewers: chaoren, ovyalov

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D10061

llvm-svn: 238405
2015-05-28 08:59:21 +00:00