summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Sink DwarfUnit::CURanges into DwarfCompileUnitDavid Blaikie2014-11-033-8/+7
| | | | llvm-svn: 221161
* Don't allow dllimport/export on classes with internal linkage (PR21399)Hans Wennborg2014-11-033-0/+14
| | | | | | | | | | | Trying to import or export such classes doesn't make sense, and Clang would assert trying to export vtables for them. This is consistent with how we treat functions with internal linkage, but it is stricter than MSVC so we may have to back down if it breaks real code. llvm-svn: 221160
* Temporary disable formatting errorTobias Grosser2014-11-031-0/+3
| | | | | | | This should silence the buildbots until we understand if the clang-format changes in r221125 have been intentional. See reply on cfe-commits for details. llvm-svn: 221159
* Revert "clang-format: [Java] Allow trailing semicolons after enums."Daniel Jasper2014-11-032-4/+4
| | | | | | | | | This reverts commit b5bdb2ef59ab922bcb4d6e843fffaee1f7f68a8c. This doesn't really seem necessary on second though and causes problems with C++ enum formatting. llvm-svn: 221158
* [AArch64] Fix miscompile of comparison with 0xffffffffffffffffOliver Stannard2014-11-032-4/+40
| | | | | | | Some literals in the AArch64 backend had 15 'f's rather than 16, causing comparisons with a constant 0xffffffffffffffff to be miscompiled. llvm-svn: 221157
* Handle ctor/init_array initialization.Sid Manning2014-11-032-1/+15
| | | | | | | | | Hexagon was not calling InitializeELF and could not select between ctors and init_array. Phabricator revision: http://reviews.llvm.org/D6061 llvm-svn: 221156
* Merge the directive-eabi_attribute.s and directive-eabi_attribute-2.s tests.Charlie Turner2014-11-032-142/+146
| | | | | | | | | | | | | test/MC/ARM/directive-eabi_attribute.s had gotten out-of-sync with test/MC/ARM/directive-eabi_attribute-2.s. The former tests the encoding of build attributes in object files, and the latter the encoding in assembly files. Since both these tests need to be updated at the same time, it makes sense to combine them into a single test. The object file encodings are being checked against the ouput of -arm-attributes rather than by direct byte comparisons which makes for easier reading. Change-Id: I0075de506ae5626fb2fa235383fe5ce6a65a15a9 llvm-svn: 221155
* Don't dllimport inline functions when targeting MinGW (PR21366)Hans Wennborg2014-11-0311-329/+624
| | | | | | | | | | | | It turns out that MinGW never dllimports of exports inline functions. This means that code compiled with Clang would fail to link with MinGW-compiled libraries since we might try to import functions that are not imported. To fix this, make Clang never dllimport inline functions when targeting MinGW. llvm-svn: 221154
* Add CRLF support to LineIterator.Rafael Espindola2014-11-033-16/+33
| | | | | | | The MRI scripts have to work with CRLF, and in general it is probably a good idea to support this in a core utility like LineIterator. llvm-svn: 221153
* [clang-tidy] Added -fix-errors optionAlexander Kornienko2014-11-032-4/+41
| | | | | | | | | | | | | | | | | | Summary: Added -fix-errors option to allow applying fixes when compiler errors are present. Without this flag -fix would bail out if there are compiler errors. This is needed to avoid applying wrong fixes if Clang fails to recover from compilation errors correctly. Reviewers: djasper, klimek Reviewed By: klimek Subscribers: curdeius, cfe-commits Differential Revision: http://reviews.llvm.org/D6059 llvm-svn: 221152
* Revert r221150, as it broke sanitizer testsOliver Stannard2014-11-0310-51/+19
| | | | llvm-svn: 221151
* Emit .eh_frame with relocations to functions, rather than sectionsOliver Stannard2014-11-0310-19/+51
| | | | | | | | | | | | | | | | | | | | | | | When LLVM emits DWARF call frame information, it currently creates a local, section-relative symbol in the code section, which is pointed to by a relocation on the .eh_frame section. However, for C++ we emit some functions in section groups, and the SysV ABI has some rules to make it easier to remove these sections (http://www.sco.com/developers/gabi/latest/ch4.sheader.html#section_group_rules): A symbol table entry with STB_LOCAL binding that is defined relative to one of a group's sections, and that is contained in a symbol table section that is not part of the group, must be discarded if the group members are discarded. References to this symbol table entry from outside the group are not allowed. This means that we need to use the function symbol for the relocation, not a temporary symbol. There was a comment in the code claiming that the local symbol was used to avoid creating a relocation, but a relocation must be created anyway as the code and CFI are in different sections. llvm-svn: 221150
* [OCaml] Fix mismatched CAMLparam/CAMLreturn.Peter Zotov2014-11-031-4/+3
| | | | | | | Also, revert r221142--it was an incorrect fix to this bug which fixed tests by accident. llvm-svn: 221149
* Test commit.Charlie Turner2014-11-031-2/+2
| | | | | | | Fixes two typos. Change-Id: I129f647de8933e1d8f0dc9941bcb91602edce7e2 llvm-svn: 221148
* CMake: Add libm to list of system libs printed by llvm-config.Peter Collingbourne2014-11-031-0/+1
| | | | | | | This is required by the interpreter library, and also matches the autoconf behavior. llvm-svn: 221147
* [mips] Remove unused prototype and variable. NFC.Daniel Sanders2014-11-032-5/+0
| | | | llvm-svn: 221146
* [OCaml] Add -g on DEBUG_SYMBOLS=1, not ENABLE_OPTIMIZED.Peter Zotov2014-11-031-1/+1
| | | | | | Thanks echristo for pointing this out. llvm-svn: 221145
* Unbreak build.Peter Zotov2014-11-031-1/+1
| | | | | | A bug in lit.cfg was introduced in r221137. llvm-svn: 221144
* [OCaml] Don't use deprecated non-caml_namespaced functions.Peter Zotov2014-11-031-7/+7
| | | | llvm-svn: 221143
* [OCaml] Initialize local roots prior to raising.Peter Zotov2014-11-031-3/+4
| | | | | | On 4.02, the OCaml unwinder otherwise gets confused and segfaults. llvm-svn: 221142
* [OCaml] Core package should depend on LLVMTransformUtils for LLVMCloneModule.Peter Zotov2014-11-031-1/+1
| | | | llvm-svn: 221141
* [OCaml] Fix ocamlc -custom builds when configured as --enable-shared.Peter Zotov2014-11-031-2/+3
| | | | llvm-svn: 221140
* [OCaml] Avoid embedding absolute paths into executables.Peter Zotov2014-11-032-15/+16
| | | | | | | | | | | | Bindings built out-of-tree, e.g. via OPAM, should append a line to META.llvm like the following: linkopts = "-cclib -L$libdir -cclib -Wl,-rpath,$libdir" where $libdir is the lib/ directory where LLVM libraries are installed. llvm-svn: 221139
* [OCaml] Don't build stub libraries twice.Peter Zotov2014-11-031-0/+3
| | | | | | | The default Makefile.rules BUILD_ARCHIVE machinery was unintentionally enabled. llvm-svn: 221138
* [OCaml] Run tests twice, with ocamlc and ocamlopt (if available)Peter Zotov2014-11-0314-25/+60
| | | | | | | | | | ocamlc and ocamlopt expose a distinct set of buildsystem bugs, e.g. only ocamlc would detect -custom or -dllib-related bugs, and as all buildbots will have ocamlopt, these bugs will stay hidden. This change should add no more than 30 seconds of testing time. llvm-svn: 221137
* [OCaml] META: remove exists_if(toplevel).Peter Zotov2014-11-032-2/+0
| | | | | | | ocamlfind ignores the predicates in this case, making the package unavailable for batch compilation as well. llvm-svn: 221136
* [OCaml] ExecutionEngine package should not depend on interpreter.Peter Zotov2014-11-031-1/+1
| | | | | | Interpreter support was removed in r220957. llvm-svn: 221135
* Forgot to add input file for test added in r221133David Majnemer2014-11-031-0/+0
| | | | llvm-svn: 221134
* llvm-vtabledump: Handle Itanium VTablesDavid Majnemer2014-11-032-95/+222
| | | | | | Add support in the vtable dumper for the Itanium ABI. llvm-svn: 221133
* [x86] Add cx16 feature to KNL, SKX, and CoreAVXi CPUs.Craig Topper2014-11-031-2/+5
| | | | llvm-svn: 221132
* [x86] Realphabetize the feature string decoding function since it was mostly ↵Craig Topper2014-11-031-4/+4
| | | | | | in alphabetical order. llvm-svn: 221131
* Add FSGSBASE intrinsics to x86 intrinsic headers.Craig Topper2014-11-036-15/+142
| | | | llvm-svn: 221130
* InstCombine: Combine (X | Y) - X to (~X & Y)David Majnemer2014-11-032-6/+25
| | | | | | | | This implements the transformation from (X | Y) - X to (~X & Y). Differential Revision: http://reviews.llvm.org/D5791 llvm-svn: 221129
* [LinkerScript] Change ErrorOr usage to fix MSVC2012 buildbotsRafael Auler2014-11-031-4/+4
| | | | | | | Number parsing functions used an ErrorOr<> idiom that is not supported in MSVC2012. This patch fixes this. llvm-svn: 221128
* Remove definitions from Intrin.h that already exist in one of the other x86 ↵Craig Topper2014-11-032-52/+5
| | | | | | intrinsic headers. Add a run line with Broadwell as the cpu type to ms-intrin.cpp test to catch some of these in the future. llvm-svn: 221127
* [lld] Teach LLD how to parse most linker scriptsRafael Auler2014-11-0313-94/+3157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch does *not* implement any semantic actions, but it is a first step to teach LLD how to read complete linker scripts. The additional linker scripts statements whose parsing is now supported are: * SEARCH_DIR directive * SECTIONS directive * Symbol definitions inside SECTIONS including PROVIDE and PROVIDE_HIDDEN * C-like expressions used in many places in linker scripts * Input to output sections mapping The goal of this commit was guided towards completely parsing a default GNU ld linker script and the linker script used to link the FreeBSD kernel. Thus, it also adds a test case based on the default linker script used in GNU ld for x86_64 ELF targets. I tested SPEC userland programs linked by GNU ld, using the linker script dump'ed by this parser, and everything went fine. I then tested linking the FreeBSD kernel with a dump'ed linker script, installed the new kernel and booted it, everything went fine. Directives that still need to be implemented: * MEMORY * PHDRS Reviewers: silvas, shankarke and ruiu http://reviews.llvm.org/D5852 llvm-svn: 221126
* clang-format: [Java] Allow trailing semicolons after enums.Daniel Jasper2014-11-032-4/+4
| | | | | | | | | | | Before: enum SomeThing { ABC, CDE } ; After: enum SomeThing { ABC, CDE }; llvm-svn: 221125
* clang-format: [Java] Fix more generics formatting.Daniel Jasper2014-11-032-1/+2
| | | | | | | | | | Before: < T extends B > T getInstance(Class<T> type); After: <T extends B> T getInstance(Class<T> type); llvm-svn: 221124
* Sink range list handling down from DwarfUnit into its only use, in ↵David Blaikie2014-11-032-15/+15
| | | | | | DwarfCompileUnit. llvm-svn: 221123
* clang-format: [Java] Fix static generic methods.Daniel Jasper2014-11-032-2/+5
| | | | | | | | | | Before: public static<R> ArrayList<R> get() {} After: public static <R> ArrayList<R> get() {} llvm-svn: 221122
* clang-format: [Java] Fix class declaration formatting.Daniel Jasper2014-11-033-4/+13
| | | | | | | | | | | | | | | | Before: @SomeAnnotation() abstract class aaaaaaaaaaaa extends bbbbbbbbbbbbbbb implements cccccccccccc { } After: @SomeAnnotation() abstract class aaaaaaaaaaaa extends bbbbbbbbbbbbbbb implements cccccccccccc { } llvm-svn: 221121
* Use ErrorOr for the ::create factory on instrumented and sample profilers.Diego Novillo2014-11-038-51/+65
| | | | | | | | | | | | | | | | | Summary: As discussed in http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20141027/242445.html, the creation of reader and writer instances is better done using ErrorOr. There are no functional changes, but several callers needed to be adjusted. Reviewers: bogner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6076 llvm-svn: 221120
* R600: Don't unnecessarily repeat the register classMatt Arsenault2014-11-021-5/+5
| | | | llvm-svn: 221119
* R600/SI: Use REG_SEQUENCE instead of INSERT_SUBREGsMatt Arsenault2014-11-024-47/+43
| | | | llvm-svn: 221118
* Support REG_SEQUENCE in tablegen.Matt Arsenault2014-11-024-15/+67
| | | | | | | | | The problem is mostly that variadic output instruction aren't handled, so it is rejected for having an inconsistent number of operands, and then the right number of operands isn't emitted. llvm-svn: 221117
* Fix typoMatt Arsenault2014-11-021-1/+1
| | | | llvm-svn: 221116
* Fix missing C++ mode commentMatt Arsenault2014-11-021-1/+1
| | | | llvm-svn: 221115
* clang-format: Fix false positive in lambda detection.Daniel Jasper2014-11-022-1/+3
| | | | | | | | | | | | Before: delete [] a -> b; After: delete[] a->b; This fixes part of llvm.org/PR21419. llvm-svn: 221114
* clang-format: [Java] Support enums without trailing semicolon.Daniel Jasper2014-11-022-0/+16
| | | | | | | | | | | | | | | | | | | Before: class SomeClass { enum SomeThing { ABC, CDE } void f() { } } After: class SomeClass { enum SomeThing { ABC, CDE } void f() { } } This fixed llvm.org/PR21458. llvm-svn: 221113
* clang-format: [Java] Don't break imports.Daniel Jasper2014-11-022-3/+8
| | | | | | This fixes llvm.org/PR21453. llvm-svn: 221112
OpenPOWER on IntegriCloud