Commit Graph

179741 Commits

Author SHA1 Message Date
Joerg Sonnenberger 130765558b Add rfci instruction.
llvm-svn: 214256
2014-07-29 23:45:20 +00:00
Lang Hames 9cb7353e0b [MCJIT] Add options to llvm-rtdyld to describe a phony target address space for
use in -verify mode.

This patch adds three hidden command line options to llvm-rtdyld:

 -target-addr-start <start-addr> : Specify the start of the virtual address
                                   space on the phony target.

 -target-addr-end   <end-addr>   : Specify the end of the virtual address space
                                   on the phony target.

 -target-section-sep <sep>       : Specify the separation (in bytes) between the
                                   end of one section and the start of the next.

These options automatically default to sane values for the target platform. In
particular, they allow narrow (e.g. 32-bit, 16-bit) targets to be tested from
wider (e.g. 64-bit, 32-bit) hosts without overflowing pointers.

The section separation option defaults to zero, but can be set to a large number
(e.g. 1 << 32) to force large separations between sections in order to
stress-test large-code-model code.

llvm-svn: 214255
2014-07-29 23:43:13 +00:00
Joerg Sonnenberger 2450768251 mbar without argument is equivalent to mbar 0.
llvm-svn: 214250
2014-07-29 23:31:27 +00:00
Duncan P. N. Exon Smith b57aef0030 Revert "UseListOrder: Order GlobalValue uses after initializers"
This reverts commits r214242 and r214243 while I investigate buildbot
failures [1][2][3].  I can't reproduce these failures locally, so if
anyone can see what I've done wrong, I'd appreciate a note.

[1]: http://lab.llvm.org:8011/builders/llvm-hexagon-elf/builds/9840
[2]: http://lab.llvm.org:8011/builders/clang-hexagon-elf/builds/14981
[3]: http://bb.pgr.jp/builders/cmake-llvm-x86_64-linux/builds/15191

llvm-svn: 214249
2014-07-29 23:31:11 +00:00
Greg Clayton 49a95e1f41 Silence a warning saying "typedef requires a name" from clang.
llvm-svn: 214247
2014-07-29 23:23:58 +00:00
Richard Smith a0ce9c4651 [modules] Factor out ODR checking, to avoid unnecessary repeated work in
finishPendingActions loop.

llvm-svn: 214246
2014-07-29 23:23:27 +00:00
Alexey Samsonov 20c5c7b723 [UBSan] Get pc/bp for stack unwinding as early as possible.
This will ensure that stack frames in error reports will not
contain internal UBSan failures, and frame #0 will be the
actual place in the program where the error happens.

llvm-svn: 214245
2014-07-29 23:22:41 +00:00
Joerg Sonnenberger 99ef10f915 Recognize BookE's mbar instruction.
llvm-svn: 214244
2014-07-29 23:16:31 +00:00
Duncan P. N. Exon Smith 508f5b0316 UseListOrder: Additional test coverage for r214242
r214242 was subtle enough it really deserves a targeted test with
comments.  This adds some global variables that trigger the relevant
code path.  Sorry this wasn't committed with the fix.

llvm-svn: 214243
2014-07-29 23:15:49 +00:00
Duncan P. N. Exon Smith 1d501e8f46 UseListOrder: Order GlobalValue uses after initializers
To avoid unnecessary forward references, the reader doesn't process
initializers of `GlobalValue`s until after the constant pool has been
processed, and then in reverse order.  Model this when predicting
use-list order.  This gets two more Bitcode tests passing with
`llvm-uselistorder`.

Part of PR5680.

llvm-svn: 214242
2014-07-29 23:06:14 +00:00
Duncan P. N. Exon Smith 2e6a87b281 UseListOrder: Create a struct around OrderMap, NFC
llvm-svn: 214241
2014-07-29 23:03:40 +00:00
Manman Ren 72b07e8578 Feedback on r214189, no functionality change.
llvm-svn: 214240
2014-07-29 22:58:13 +00:00
Eli Bendersky 447755be51 Add missing test for r214210.
Thanks dblaikie for reminding me.

llvm-svn: 214239
2014-07-29 22:57:59 +00:00
Joerg Sonnenberger 053566aeab Fix typo in alias: DSIR -> DSISR
llvm-svn: 214238
2014-07-29 22:42:44 +00:00
Hans Wennborg cbd71cacb0 clang-format vs plugin: include the license
The vsix installer will show the license when it starts, and it
would print an annoying message when there was none.

While we're here, add a MoreInfoUrl.

llvm-svn: 214237
2014-07-29 22:34:53 +00:00
Todd Fiala 7306cf3cb7 Add $vAttach support to llgs.
Also adds a new test case for vAttach;{pid} for llgs and debugserver.

llvm-svn: 214236
2014-07-29 22:30:01 +00:00
Justin Bogner cf36a366a8 llvm-profdata: Clean up and reorganize some tests
This moves some tests around to make it clearer what's being tested,
and adds very rudimentary comment syntax to the text input format to
make specifying this kind of test a little bit simpler.

llvm-svn: 214235
2014-07-29 22:29:23 +00:00
Joerg Sonnenberger 9e9623ca64 Support move to/from segment register.
llvm-svn: 214234
2014-07-29 22:21:57 +00:00
Reid Kleckner 56d861fbb9 Attempt to fix the expression parser after r214119
__INT?_TYPE__ is now explicitly, so adding an explicit 'signed'
specifier causes errors.

llvm-svn: 214233
2014-07-29 21:59:33 +00:00
Alexey Samsonov 17edc9230e [UBSan] Build part of UBSan runtime that can be linked into C programs with -fno-rtti flag.
llvm-svn: 214232
2014-07-29 21:52:25 +00:00
Lang Hames 3ce5baefce [MCJIT] XFAIL some RuntimeDyld tests on MIPS - RuntimeDyldChecker isn't properly
endian-aware yet, and this is causing failures when cross-linking on MIPS.

llvm-svn: 214231
2014-07-29 21:48:22 +00:00
Greg Clayton 2be78ba934 Remove unused variable that was causing a warning.
llvm-svn: 214230
2014-07-29 21:47:02 +00:00
Rafael Espindola 176e664198 Use nullptr instead of NULL.
llvm-svn: 214229
2014-07-29 21:46:05 +00:00
Alex Lorenz 251b3e3fbc Coverage: improve efficiency of the counter propagation to the expansion regions.
This patch reduces the complexity of the two inner loops in order to speed up 
the loading of coverage data for very large functions.

llvm-svn: 214228
2014-07-29 21:42:24 +00:00
Lang Hames b2eb492df4 [MCJIT] Make sure we print the full 64-bit result of exprs in RuntimeDyldChecker.
llvm-svn: 214227
2014-07-29 21:38:20 +00:00
Rafael Espindola a9716f8925 Remove unused includes.
llvm-svn: 214226
2014-07-29 21:38:05 +00:00
Matt Arsenault 1acc72f431 R600/SI: Implement getLdStBaseRegImmOfs
llvm-svn: 214225
2014-07-29 21:34:55 +00:00
Duncan P. N. Exon Smith 5f18fda87c UseListOrder: Try to resolve buildbot failure
MSVC [1] thinks `UseListShuffleVector` needs a copy constructor, but I
don't.  Let's see if being explicit about `UseListOrder` is convincing.

[1]: http://lab.llvm.org:8011/builders/lld-x86_64-win7/builds/11664/steps/build_Lld/logs/stdio

Here's the failure:

C:/lld-x86_64_win7/lld-x86_64-win7/llvm.src/include\llvm/IR/UseListOrder.h(92): error C2248: 'llvm::UseListShuffleVector::operator =' : cannot access private member declared in class 'llvm::UseListShuffleVector' (C:\lld-x86_64_win7\lld-x86_64-win7\llvm.src\lib\Bitcode\Writer\ValueEnumerator.cpp) [C:\lld-x86_64_win7\lld-x86_64-win7\llvm.obj\lib\Bitcode\Writer\LLVMBitWriter.vcxproj]
          C:/lld-x86_64_win7/lld-x86_64-win7/llvm.src/include\llvm/IR/UseListOrder.h(56) : see declaration of 'llvm::UseListShuffleVector::operator ='
          C:/lld-x86_64_win7/lld-x86_64-win7/llvm.src/include\llvm/IR/UseListOrder.h(32) : see declaration of 'llvm::UseListShuffleVector'
          This diagnostic occurred in the compiler generated function 'llvm::UseListOrder &llvm::UseListOrder::operator =(const llvm::UseListOrder &)'

llvm-svn: 214224
2014-07-29 21:30:21 +00:00
Greg Clayton c76fa8a3eb Resolve the executable _before_ we try to get the module specifications.
Also fixed the host 32 and 64 bit arch to return "x86_64-apple-macosx" again instead of "x86_64-apple-" (unspecified OS) after recent changes.

<rdar://problem/17845078> 

llvm-svn: 214223
2014-07-29 21:27:21 +00:00
Richard Smith 00db2f13f8 PR20473: Don't "deduplicate" string literals with the same value but different
lengths! In passing, simplify string literal deduplication by relying on LLVM
to deduplicate the underlying constant values.

llvm-svn: 214222
2014-07-29 21:20:12 +00:00
Rafael Espindola 9d2250ad43 Delete dead code.
The gold plugin doesn't call lseek or read directly any more.

llvm-svn: 214221
2014-07-29 21:09:43 +00:00
Johannes Doerfert 13c5c64b5d [Refactor] Expose the IslExprBuilder (missing files)
llvm-svn: 214220
2014-07-29 21:06:08 +00:00
Marshall Clow 81f051cd10 std::once_flag was forward declared with _LIBCPP_TYPE_VIS decoration, and the defined with _LIBCPP_TYPE_VIS_ONLY decoration. Make them match
llvm-svn: 214219
2014-07-29 21:05:31 +00:00
Rafael Espindola 2743525032 Have a single enum for "not a bitcode" error.
This is more convenient for callers. No functionality change, this will
be used in a next patch to the gold plugin.

llvm-svn: 214218
2014-07-29 21:01:24 +00:00
Matt Arsenault 1eb18309d5 R600/SI: Enable named operand table for DS instructions
llvm-svn: 214217
2014-07-29 21:00:56 +00:00
Matt Arsenault 620155fd1d Remove line with no effect
llvm-svn: 214216
2014-07-29 21:00:53 +00:00
Johannes Doerfert 48cf6ecbb1 [Refactor] Expose the IslExprBuilder
This allows us to use to IslExprBuilder not only from within
  IslCodegeneration.

llvm-svn: 214215
2014-07-29 20:50:09 +00:00
Rafael Espindola 6c472e5e14 gold plugin: Fix handling of corrupted bitcode files.
We should still claim them and tell gold about the error.

llvm-svn: 214214
2014-07-29 20:46:19 +00:00
Duncan P. N. Exon Smith e60ba2139e UseListShuffleVector: Remove copy constructor
Remove the copy constructor added in r214178 to appease MSVC17 since it
shouldn't be called at all.  My guess is that explicitly deleting it
will make the compiler happy.  To round out the operations I've also
deleted copy assignment and added move assignment.  Otherwise no
functionality change.

llvm-svn: 214213
2014-07-29 20:45:52 +00:00
Duncan P. N. Exon Smith fece635342 UseListShuffleVector: Code reorganization, NFC
llvm-svn: 214212
2014-07-29 20:45:49 +00:00
Lang Hames 480763f814 [MCJIT] Make the RuntimeDyldChecker stub_addr builtin use file names rather than
full paths for its first argument.

This allows us to remove the annoying sed lines in the test cases, and write
direct references to file names in stub_addr calls (rather than <filename>
placeholders).

llvm-svn: 214211
2014-07-29 20:40:37 +00:00
Eli Bendersky 24412b1420 Fix FileCheck crash when empty prefix is passed.
llvm-svn: 214210
2014-07-29 20:30:53 +00:00
Rafael Espindola c3f2e73006 Move the bitcode error enum to the include directory.
This will let users in other libraries know which error occurred. In particular,
it will be possible to check if the parsing failed or if the file is not
bitcode.

llvm-svn: 214209
2014-07-29 20:22:46 +00:00
Bob Wilson 9e6e0751b3 Support LIBRARY_PATH on all Darwin targets.
r197490 changed the behavior of LIBRARY_PATH to try to match GCC's behavior
for cross compilers and make clang work better on "bare metal" targets.
Unfortunately that change is breaking a number of MacPorts projects because
the LIBRARY_PATH environment variable is being ignored when compiling on a
64-bit host for a 32-bit target. Because the host and target architectures
differ, isCrossCompiling returns true. This does not make sense for Darwin,
where multiple architectures are supported natively via "fat" Mach-O slices
and where development is generally done against SDKs regardless. This patch
fixes the problem by overriding isCrossCompiling to return false for Darwin
toolchains.

llvm-svn: 214208
2014-07-29 20:17:52 +00:00
Greg Clayton 82625d3a5f Use the most up to date dsymutil on Darwin, not the one in /usr/bin/dsymutil.
llvm-svn: 214207
2014-07-29 20:10:59 +00:00
Alex Lorenz a422911c3a Coverage: fix the missing output stream in recursive call to CoverageMappingContext::dump
llvm-svn: 214206
2014-07-29 19:58:16 +00:00
Juergen Ributzka 0e913b17d6 [RuntimeDyld][AArch64] Make encode/decodeAddend also work on big-endian hosts.
llvm-svn: 214205
2014-07-29 19:57:15 +00:00
Juergen Ributzka fbd40c36eb [RuntimeDyld][AArch64] Make encode/decodeAddend more typesafe by using the relocation enum type. NFCI.
llvm-svn: 214204
2014-07-29 19:57:11 +00:00
Fariborz Jahanian 2056b38fac Provide warning name for property attribute warning
mismatch. //rdar://17845264

llvm-svn: 214203
2014-07-29 19:45:49 +00:00
Larisse Voufo d49d61b07b Revert "Fix test case in r214190. (It failed on my end.)"
This was an accident.

llvm-svn: 214202
2014-07-29 19:28:40 +00:00