Commit Graph

174448 Commits

Author SHA1 Message Date
Louis Gerbarg 1b91aa2cf5 Add missing line breaks to debug output in CodeGenPrepare
llvm-svn: 208731
2014-05-13 21:54:22 +00:00
Benjamin Kramer 3f085ba6d6 GVN: Fix non-determinism in map iteration.
Iterating over a DenseMaop is non-deterministic and results to unpredictable IR
output.

Based on a patch by Daniel Reynaud!

llvm-svn: 208728
2014-05-13 21:06:40 +00:00
Benjamin Kramer d97f95e2f2 GVN: rangify a couple of loops.
No functionality change.

llvm-svn: 208727
2014-05-13 21:06:36 +00:00
Eric Christopher d1309ee27d Save the optimization level the subtarget was created with in a
member variable and sink the initialization of crbits into the
subtarget feature reset code.

No functional change, but this refactor will be used in a future
commit.

llvm-svn: 208726
2014-05-13 20:49:08 +00:00
Eric Christopher 83fcaa8c66 Make this test target independent.
llvm-svn: 208725
2014-05-13 20:16:43 +00:00
Richard Smith d6f9e73527 PR19729: Delete a bunch of bogus code in Sema::FindAllocationOverload. This
caused us to perform copy-initialization for the parameters of an allocation
function called by a new-expression multiple times, resulting in us rejecting
allocations that passed non-copyable parameters (and much worse things in
MSVC compat mode, where we potentially called this function multiple times).

llvm-svn: 208724
2014-05-13 19:56:21 +00:00
Eric Christopher addf51ddde Make the split function use StringRef::split.
llvm-svn: 208723
2014-05-13 19:55:17 +00:00
Eric Christopher 4d7f2108e4 Add a requires for the arm-registered-target needed by this test as
well.

llvm-svn: 208722
2014-05-13 19:52:18 +00:00
Tom Stellard 9541307c27 autoconf: Fix soname for libLLVM-Major.Minor.so (2nd try)
We were using libLLVM-Major.Minor.Patch.so for the soname, but we
need the soname to stay consistent for all Major.Minor.* releases
otherwise operating system distributors  will need to rebuild all
packages that link with LLVM every time there is a new point release.

This patch also reverses the compatibility symlink, so
libLLVM-Major.Minor.Patch.so is now a symlink that points
to libLLVM-Major-Minor.so.

llvm-svn: 208721
2014-05-13 19:37:03 +00:00
Joerg Sonnenberger cc1edb5a45 Add __ARM_DWARF_EH__ to signify the use of Itanium ABI for unwind
instructions.

llvm-svn: 208719
2014-05-13 18:58:36 +00:00
Joerg Sonnenberger 4645b44fc6 Test preprocessor defines for NetBSD/ARM.
llvm-svn: 208718
2014-05-13 18:58:00 +00:00
Rafael Espindola ee076a27ce Update for llvm API change.
llvm-svn: 208717
2014-05-13 18:45:53 +00:00
Rafael Espindola 99e05cf163 Split GlobalValue into GlobalValue and GlobalObject.
This allows code to statically accept a Function or a GlobalVariable, but
not an alias. This is already a cleanup by itself IMHO, but the main
reason for it is that it gives a lot more confidence that the refactoring to fix
the design of GlobalAlias is correct. That will be a followup patch.

llvm-svn: 208716
2014-05-13 18:45:48 +00:00
Joerg Sonnenberger 94cbb666b2 Check explicitly for EHABI and just use the default settings.
Code depends on the assembler and linker to fix things up...

llvm-svn: 208715
2014-05-13 17:58:13 +00:00
Alexander Potapenko 291b827890 [libsanitizer] Fix the return type of internal_fork
llvm-svn: 208714
2014-05-13 17:31:09 +00:00
Todd Fiala 9d03d8a65d Fix broken TestMultithreaded on Linux.
The clean line is failing under Ubuntu 12.04/gcc.  It cleans fine
without it on MacOSX.  It doesn't clean right on Linux but at least
now it doesn't fail the test.

llvm-svn: 208713
2014-05-13 17:20:17 +00:00
Christian Pirker 5b0e7a2be2 ARM: Additional test files for thumb fixups (checked with llvm-mv -show-encoding)
llvm-svn: 208712
2014-05-13 17:06:51 +00:00
Christian Pirker 39db7ec81f ARMEB: Fix byte order of EH frame unwinding instructions, with modified test file
This commit was already commited as revision rL208689 and discussd in
phabricator revision D3704.
But the test file was crashing on OS X and windows.

I fixed the test file in the same way as in rL208340.

llvm-svn: 208711
2014-05-13 16:44:30 +00:00
Rafael Espindola 35ae374040 Style fix: The name of variables starts with an upper case letter.
llvm-svn: 208710
2014-05-13 16:41:02 +00:00
Tom Stellard daeafc5e7f Revert "autoconf: Fix soname for libLLVM-Major.Minor.so"
This reverts commit r208708.

I forgot to run make clean before testing this and it broke tools
linking.

llvm-svn: 208709
2014-05-13 16:35:56 +00:00
Tom Stellard e10c886248 autoconf: Fix soname for libLLVM-Major.Minor.so
We were using libLLVM-Major.Minor.Patch.so for the soname, but we
need the soname to stay consistent for all Major.Minor.* releases
otherwise operating system distributors  will need to rebuild all
packages that link with LLVM every time there is a new point release.

This patch also reverses the compatibility symlink, so
libLLVM-Major.Minor.Patch.so is now a symlink that points
to libLLVM-Major-Minor.so.

llvm-svn: 208708
2014-05-13 16:18:55 +00:00
Alexander Potapenko 4a6cac4382 [libsanitizer] Use internal_fork() to spawn the symbolizer process.
This should fix https://code.google.com/p/thread-sanitizer/issues/detail?id=61

llvm-svn: 208707
2014-05-13 16:17:54 +00:00
Aaron Ballman 8063c3b80c Fix the AST printer for attributed statements so that it does not print duplicate attribute introducers. Eg) [[clang::fallthrough]] instead of [[[[clang::fallthrough]]]]
llvm-svn: 208706
2014-05-13 16:12:14 +00:00
Joey Gouly 12a8bf09d0 [CGP] r205941 changed the logic, so that a cast happens *before* 'Result' is
compared to 'AddrMode.BaseReg'. In the case that 'AddrMode.BaseReg' is
nullptr, 'Result' will also be nullptr, so the cast causes an assertion. We
should use dyn_cast_or_null here to check 'Result' is not null and it is an
instruction.

Bug found by Mats Petersson, and I reduced his IR to get a test case.

llvm-svn: 208705
2014-05-13 15:42:45 +00:00
Rafael Espindola 2e7eceb317 Revert "ARMEB: Fix byte order of EH frame unwinding instructions"
This reverts commit r208689.

The test was crashing on OS X and windows.

llvm-svn: 208704
2014-05-13 15:19:56 +00:00
Aaron Ballman fd7da7690b Updated the test case to show that no diagnostics are expected, and not require emitting the AST until after the AST printing for statement attributes is updated.
llvm-svn: 208703
2014-05-13 15:14:59 +00:00
Aaron Ballman f3d9b09dea No longer triggering a checked iterator assert on Windows when using std::copy while deserializing attributed statements with more than one attribute.
llvm-svn: 208702
2014-05-13 14:55:01 +00:00
Timur Iskhodzhanov b9bd76b85d Enable sanitizer tests (check-sanitizer, check-asan) on Windows
llvm-svn: 208701
2014-05-13 14:25:49 +00:00
Timur Iskhodzhanov 5ce3937ed4 [Sanitizer tests] Define 16- and 64-bit versions of atomic_compare_exchange_strong on Windows
Reviewed at http://reviews.llvm.org/D3745

llvm-svn: 208700
2014-05-13 14:23:25 +00:00
Timur Iskhodzhanov a27b044166 Define the InterlockedCompareExchange64 intrinsic on 32-bits too
llvm-svn: 208699
2014-05-13 13:59:05 +00:00
Timur Iskhodzhanov 5812350591 [Sanitizer tests] Exclude three tests that fail on Windows
llvm-svn: 208698
2014-05-13 13:34:00 +00:00
Timur Iskhodzhanov e33158bcd1 [Sanitizer tests] Land the sanitizer twin of the asan-only change r208682
llvm-svn: 208697
2014-05-13 13:29:11 +00:00
Timur Iskhodzhanov 339e8c98f8 [Sanitizer tests] Add sanitizer_test_config.h to make the inclusion of gtest.h conditional
Reviewed at http://reviews.llvm.org/D3744

llvm-svn: 208696
2014-05-13 13:25:12 +00:00
Timur Iskhodzhanov 2e9136c2da [Sanitizer/ASan tests] Automatically detect the presence of libstdc++
llvm-svn: 208695
2014-05-13 12:57:50 +00:00
Aaron Ballman e58a570989 Teach the table generator to not generate switch statements containing only a default label with no cases. This solves some warnings with MSVC.
No functional changes intended.

llvm-svn: 208694
2014-05-13 12:52:35 +00:00
Evgeniy Stepanov 68d7f43e38 [sanitizer] Disable fopen64 interceptor on osx.
llvm-svn: 208693
2014-05-13 12:05:38 +00:00
Timur Iskhodzhanov e5e92fac4a [Sanitizer tests] Fix most of the build problems on Windows
E.g. use the pthread helpers introduced in r208674

llvm-svn: 208692
2014-05-13 12:02:53 +00:00
Christian Pirker f2526a56fe ARM: Additional test files for thumb fixups
llvm-svn: 208691
2014-05-13 11:50:39 +00:00
Daniel Sanders 387fc15d2c [mips] Marked up instructions added in MIPS32r2 and tested that IAS for -mcpu=mips(2|32) does not accept them
Summary:
This required a new instruction group representing the 32-bit subset of
MIPS-3 that was available in MIPS32R2.

To limit the number of tests required, only one 32-bit and one 64-bit ISA
prior to MIPS32/MIPS64 are tested.

rdhwr has been deliberately left without an ISA annotation for now. This is
because the assembler and CodeGen disagree on when the instruction is
available. Strictly speaking, it is only available in MIPS32r2 and
MIPS64r2. However, it is emulated by a kernel trap on earlier ISA's and is
necessary for TLS so CodeGen should emit it on older ISA's too.

Depends on D3696

Reviewers: vmedic

Reviewed By: vmedic

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

llvm-svn: 208690
2014-05-13 11:45:36 +00:00
Christian Pirker ea3514ecdb ARMEB: Fix byte order of EH frame unwinding instructions
llvm-svn: 208689
2014-05-13 11:41:49 +00:00
Nico Weber 688dfa55b6 try to make test/Driver/masm.c work with the hexagon bot
llvm-svn: 208688
2014-05-13 11:30:01 +00:00
Joerg Sonnenberger daa13aa4c8 Drop AST's version of ARMCXXABI, it doesn't differ from the Itanium base
class.

llvm-svn: 208687
2014-05-13 11:20:16 +00:00
Evgeniy Stepanov 7bd7063db0 [sanitizer] Mark several functions as possibly unused.
llvm-svn: 208686
2014-05-13 11:18:22 +00:00
Daniel Sanders 579168629e [mips] Free up two values in SubtargetFeatureFlag by folding the redundant IsGP32/IsGP64 into IsGP32bit/IsGP64bit
Summary:
We are currently very close to the 32-bit limit of the current assembler
implementation. This is because there is no way to represent an instruction
that is available in, for example, Mips3 or Mips32. We have to define a
feature bit that represents this.

This patch cleans up a pair of redundant feature bits and slightly postpones the
point we will reach the limit.

Reviewers: zoran.jovanovic, jkolek, vmedic

Reviewed By: vmedic

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

llvm-svn: 208685
2014-05-13 11:17:46 +00:00
Artyom Skrobov 1219355d38 Fix build failure with MSVC, following r208680
llvm-svn: 208684
2014-05-13 11:16:22 +00:00
Nico Weber ad8e36c41a Support -masm= flag for x86 targets.
`clang -S -o - file.c -masm=att` will write assembly to stdout in at&t syntax
(the default), `-masm=intel` will instead output intel style asm.

llvm-svn: 208683
2014-05-13 11:11:24 +00:00
Timur Iskhodzhanov 7d07fe20a0 [ASan tests] Add Windows-specific flags to lib/asan/tests/CMakeLists.txt
Reviewed at http://reviews.llvm.org/D3720

llvm-svn: 208682
2014-05-13 10:33:42 +00:00
Artyom Skrobov 3f50b48875 include/llvm/Support/Unicode.h didn't have re-include guards
llvm-svn: 208681
2014-05-13 10:11:29 +00:00
Artyom Skrobov 6298b347b6 [un]wrap extracted from lib/Target/Target[MachineC].cpp, lib/ExecutionEngine/ExecutionEngineBindings.cpp into include/llvm/IR/DataLayout.h
llvm-svn: 208680
2014-05-13 09:45:26 +00:00
Tim Northover 0ee9e7ed7a TableGen: strengthen assert
llvm-svn: 208679
2014-05-13 09:37:41 +00:00