Commit Graph

151143 Commits

Author SHA1 Message Date
Rafael Espindola d45b9f15f9 Don't define LTDL_SHLIBPATH_VAR.
llvm-svn: 183771
2013-06-11 19:04:13 +00:00
Rafael Espindola 8cc6dc26bb Remove GetSystemLibraryPaths.
llvm-svn: 183770
2013-06-11 18:58:47 +00:00
Rafael Espindola b58973f918 Don't define LLVM_LIBDIR, it is not used anymore.
llvm-svn: 183769
2013-06-11 18:52:11 +00:00
Samuel Benzaquen b5dd69f00d Reduce the number of symbols on the object file.
Summary:
Some compilers where failing with this file because the number of symbols was above 2**15.
- Replace std::list<> and std::vector<> with plain arrays.
- Change VariadicMatcherCreateCallback to be a function template, and a
  single class that wraps the instantiations.
- Remove some more unnecessary template arguments and function calls.

Reviewers: klimek

CC: cfe-commits, revane

Differential Revision: http://llvm-reviews.chandlerc.com/D948

llvm-svn: 183768
2013-06-11 18:51:07 +00:00
Akira Hatanaka 4be04b139b [mips] Use function TargetInstrInfo::getRegClass.
No functionality changes.

llvm-svn: 183767
2013-06-11 18:48:16 +00:00
Enrico Granata 7bd2bbb9ac <rdar://problem/13779789>
Allow memory read -t to take persistent types (those defined with expression struct $....)

llvm-svn: 183766
2013-06-11 18:47:55 +00:00
Rafael Espindola b5f4a1b0ba Remove Path::GetBitcodeLibraryPaths.
llvm-svn: 183765
2013-06-11 18:45:35 +00:00
Rafael Espindola 0487a3210f Remove unused FindLibrary function.
llvm-svn: 183764
2013-06-11 18:41:07 +00:00
Rafael Espindola 3add14d77e Remove sys::identifyFileType.
llvm-svn: 183763
2013-06-11 18:18:02 +00:00
Rafael Espindola 2fa59a9330 Convert another use of sys::identifyFileType.
No functionality change.

llvm-svn: 183762
2013-06-11 18:12:28 +00:00
Michael Liao e7fdb1386a Fix documentation on the path to Bitcode reader/writer
llvm-svn: 183761
2013-06-11 18:09:21 +00:00
Argyrios Kyrtzidis 016fa1b899 [libclang/python] Add a few "cursor kinds" that were missing in the python binding for libclang.
Patch by Mathieu Baudet!

llvm-svn: 183760
2013-06-11 18:05:42 +00:00
Rafael Espindola 46ed353313 Convert another use of sys::identifyFileType.
No functionality change.

llvm-svn: 183759
2013-06-11 18:05:26 +00:00
Rafael Espindola 8de8607c7d Convert another use of sys::identifyFileType.
No functionality change.

llvm-svn: 183758
2013-06-11 18:01:14 +00:00
Eli Friedman 02de0986b9 Make ASTContext::Allocate use size_t for the size argument.
llvm-svn: 183757
2013-06-11 17:58:38 +00:00
Rafael Espindola a82555c0f8 Change how globalopt handles aliases in llvm.used.
Instead of a custom implementation of replaceAllUsesWith, we just call
replaceAllUsesWith and recreate llvm.used and llvm.compiler-used.

This change is particularity interesting because it makes llvm see
through what clang is doing with static used functions in extern "C"
contexts. With this change, running clang -O2 in

extern "C" {
  __attribute__((used)) static void foo() {}
}

produces

@llvm.used = appending global [1 x i8*] [i8* bitcast (void ()* @foo to
i8*)], section "llvm.metadata"
define internal void @foo() #0 {
entry:
  ret void
}

llvm-svn: 183756
2013-06-11 17:48:06 +00:00
Greg Clayton 3fb543b06d Remove eFormatHalfFloat as it isn't needed. eFormatFloat should be used and the byte size will tell us how to display it.
llvm-svn: 183755
2013-06-11 17:32:06 +00:00
Rafael Espindola 660a5a14f6 Convert another use of sys::identifyFileType.
No functionality change.

llvm-svn: 183754
2013-06-11 17:28:56 +00:00
Rafael Espindola 823de7cd4c Port r183666 to identify_magic.
It will be tested in the next commit which moves another user to identify_magic.

Original message:

Fix an out of bounds array access.

We were looking at Magic[5] without checking Length. Since this path would not
return unless Length >= 18 anyway, just move the >= 18 check up.

llvm-svn: 183753
2013-06-11 17:25:45 +00:00
Rafael Espindola 9b404295a9 Fix variable name.
llvm-svn: 183752
2013-06-11 17:22:12 +00:00
Argyrios Kyrtzidis d6f57221c8 Modify a comment to reflect changes of r183717.
llvm-svn: 183751
2013-06-11 16:42:34 +00:00
Alexander Kornienko 555efc36d0 Insert a space at the start of a line comment in case it starts with an alphanumeric character.
Summary:
"//Test" becomes "// Test". This change is aimed to improve code
readability and conformance to certain coding styles. If a comment starts with a
non-alphanumeric character, the space isn't added, e.g. "//-*-c++-*-" stays
unchanged.

Reviewers: klimek

Reviewed By: klimek

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D949

llvm-svn: 183750
2013-06-11 16:01:49 +00:00
Rafael Espindola 447d2d12f0 Fix variable name style. Don't cast to and from int.
This enables the compiler to see the enum and produce warnings about a switch
not being fully covered. Fix one of these warnings.

llvm-svn: 183749
2013-06-11 15:29:10 +00:00
Sergey Matveev 978460c12c [lsan] Harmonized some naming inconsistencies.
llvm-svn: 183748
2013-06-11 15:26:20 +00:00
Rafael Espindola cd81b90913 Convert another use of sys::identifyFileType.
No functionality change.

llvm-svn: 183747
2013-06-11 15:19:04 +00:00
Rafael Espindola d2d22eef6e Convert another use of sys::identifyFileType.
No functionality change.

llvm-svn: 183746
2013-06-11 15:09:43 +00:00
Rafael Espindola 110801addc Convert a use of sys::identifyFileType to sys::fs::identify_magic.
No functionality change.

llvm-svn: 183745
2013-06-11 14:39:59 +00:00
Benjamin Kramer 193960c822 R600: Make helper functions static.
llvm-svn: 183744
2013-06-11 13:32:25 +00:00
Rafael Espindola 70a729dfd5 Require members of llvm.used to be named.
The effect of llvm.used is to introduce an invisible reference, so this seems
a reasonable restriction. It will be used to provide an easy ordering of
the entries in llvm.used.

llvm-svn: 183743
2013-06-11 13:18:13 +00:00
Benjamin Kramer 8981d6c945 Silence GCC warning.
llvm-svn: 183742
2013-06-11 13:13:47 +00:00
Benjamin Kramer 65745dc0b1 ASTUnit: Invert the dependency of PrecompilePreambleAction on PrecompilePreambleConsumer.
Actions outlive consumers. PR16295. Found by AddressSanitizer.

llvm-svn: 183741
2013-06-11 13:07:19 +00:00
Rafael Espindola c1b32686fe Factor duplicated yamlReader creation.
The yaml reader is not specific to any file format. This patch moves
it to TargetInfo and makes validate a non virtual interface so that it
can be constructed from a single location.

The same method will be used to create a reader for llvm bitcode
files.

llvm-svn: 183740
2013-06-11 12:36:05 +00:00
Manuel Klimek c00dd83583 Make it possible to assign clang-format-buffer to a keybinding.
Patch by Chris Gray.

llvm-svn: 183739
2013-06-11 12:00:24 +00:00
Dmitry Vyukov a8570d38fe tsan: add -Wno-maybe-uninitialized to Go build script
this is how the rest of the codebase is built

llvm-svn: 183738
2013-06-11 11:44:43 +00:00
NAKAMURA Takumi 4d5ee8046f Rework r183728, suppress assert(0) for now. Its behavior depends on assertions on win32 hosts.
FIXME: Introduce yet another checker but assert(0).
llvm-svn: 183736
2013-06-11 10:01:42 +00:00
Sergey Matveev 5129c5e56f [lsan] Fix the unittest makefiles.
llvm-svn: 183735
2013-06-11 09:52:02 +00:00
Mihai Popa c1d119ed6e It adds support for negative zero offsets for loads and stores.
Negative zero is returned by the primary expression parser as INT32_MIN, so all that the method needs to do is to accept this value.
Behavior already present for Thumb2.

llvm-svn: 183734
2013-06-11 09:48:35 +00:00
Mihai Popa 1c7be576c5 This patch adds support for FPINST/FPINST2 as operands to vmsr/vmrs. These are optional registers that may be supported some ARM implementations to aid with resolution of floating point exceptions. The manual pages for vmsr and vmrs do not detail their use. Encodings and other information can be found in ARM Architecture Reference Manual section F, chapter 6, paragraph 3.
llvm-svn: 183733
2013-06-11 09:39:51 +00:00
Alexey Samsonov bc1c6714f2 [Sanitizer] add file forgotten in r183730
llvm-svn: 183732
2013-06-11 08:14:24 +00:00
Amaury de la Vieuville 064546cbfe ARM: Enforce decoding rules for VLDn instructions
llvm-svn: 183731
2013-06-11 08:14:14 +00:00
Alexey Samsonov c8e7364763 [Sanitizer] support running external llvm-symbolizer on Mac
llvm-svn: 183730
2013-06-11 08:13:36 +00:00
Amaury de la Vieuville 53ff029d62 ARM: Fix STREX/LDREX reecoding
The decoded MCInst wasn't reencoded as the same instruction

llvm-svn: 183729
2013-06-11 08:03:20 +00:00
NAKAMURA Takumi 1ab3650ec0 Tweak a couple of tests on win32 hosts with +Asserts.
- Don't use assert(0), or tests may pass or fail according to assertions.
  - For now, The tests are marked as XFAIL for win32 hosts.

FIXME: Could we avoid XFAIL to specify triple in the RUN lines?
llvm-svn: 183728
2013-06-11 06:52:58 +00:00
NAKAMURA Takumi 76380ab4c0 ARMAsmBackend.cpp: Use Triple::isOSBinFormatCOFF() instead of isOSWindows().
FYI, isOSBinFormatCOFF() is as same as isOSWindows(), on trunk.

llvm-svn: 183727
2013-06-11 06:52:43 +00:00
NAKAMURA Takumi 8018a29d06 Whitespace.
llvm-svn: 183726
2013-06-11 06:52:36 +00:00
David Majnemer bfce664d09 Remove some unicode that sneaked in.
llvm-svn: 183725
2013-06-11 06:19:45 +00:00
Rui Ueyama daadcc59ad [WinLink] Add -force command line option to allow undefined symbols.
llvm-svn: 183724
2013-06-11 04:52:14 +00:00
David Majnemer 66ad574f40 Implement DR61: Address of ambiguous bound methods should be disallowed
DR61 affirms that expressions containing unresolved member access should
be disallowed when performing "address of" operations.

llvm-svn: 183723
2013-06-11 03:56:29 +00:00
David Majnemer 55890bfaa6 Implement DR85: Redeclaration of member is forbidden
Disallow the existence of a declaration of a member class that isn't a
forward declaration before it's definition.

llvm-svn: 183722
2013-06-11 03:51:23 +00:00
Richard Smith 7c5d4dce49 Rework IR emission for lifetime-extended temporaries. Instead of trying to walk
into the expression and dig out a single lifetime-extended entity and manually
pull its cleanup outside the expression, instead keep a list of the cleanups
which we'll need to emit when we get to the end of the full-expression. Also
emit those cleanups early, as EH-only cleanups, to cover the case that the
full-expression does not terminate normally. This allows IR generation to
properly model temporary lifetime when multiple temporaries are extended by the
same declaration.

We have a pre-existing bug where an exception thrown from a temporary's
destructor does not clean up lifetime-extended temporaries created in the same
expression and extended to automatic storage duration; that is not fixed by
this patch.

llvm-svn: 183721
2013-06-11 02:41:00 +00:00