summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused flag polly-allow-non-scev-backedge-taken-countJohannes Doerfert2015-10-083-7/+2
| | | | | | | | | | | Drop an unused flag polly-allow-non-scev-backedge-taken-count and also its occurrences from the tests. Contributed-by: Chris Jenneisch <chrisj@codeaurora.org> Differential Revision: http://reviews.llvm.org/D13400 llvm-svn: 249675
* [MSVC Compat] Try to treat an implicit, fixed enum as an unfixed enumDavid Majnemer2015-10-087-11/+21
| | | | | | | | | | | | | | | | | | consider the following: enum E *p; enum E { e }; The above snippet is not ANSI C because 'enum E' has not bee defined when we are processing the declaration of 'p'; however, it is a popular extension to make the above work. This would fail using the Microsoft enum semantics because the definition of 'E' would implicitly have a fixed underlying type of 'int' which would trigger diagnostic messages about a mismatch between the declaration and the definition. Instead, treat fixed underlying types as not fixed for the purposes of the diagnostic. llvm-svn: 249674
* Testcase and fix for bug 24074Ravitheja Addepally2015-10-0822-73/+753
| | | | | | | | | | | | | | | | | | | | Summary: In bug 24074, the type information is not shown correctly. This commit includes the following - -> Changes for displaying correct type based on current lexical scope for the command "image lookup -t" -> The corresponding testcase. -> This patch was reverted due to segfaults in FreeBSD and Mac, I fixed the problems for both now. Reviewers: emaste, granata.enrico, jingham, clayborg Differential Revision: http://reviews.llvm.org/D13290 llvm-svn: 249673
* [OPENMP 4.1] Codegen for array sections/subscripts in 'reduction' clause.Alexey Bataev2015-10-0816-190/+870
| | | | | | OpenMP 4.1 adds support for array sections/subscripts in 'reduction' clause. Patch adds codegen for this feature. llvm-svn: 249672
* Make CMake display more readable paths to Python binaries on WindowsBruce Mitchener2015-10-081-3/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously CMake would display messages like these: ``` -- LLDB Found PythonExecutable: $<$<CONFIG:Debug>:C:/Projects/Python-2.7.9-bin/x64/python_d.exe>$<$<NOT:$<CONFIG:Debug>>:C:/Projects/Python-2.7.9-bin/x64/python.exe> -- LLDB Found PythonLibs: $<$<CONFIG:Debug>:C:/Projects/Python-2.7.9-bin/x64/libs/python27_d.lib>$<$<NOT:$<CONFIG:Debug>>:C:/Projects/Python-2.7.9-bin/x64/libs/python27.lib> -- LLDB Found PythonDLL: $<$<CONFIG:Debug>:C:/Projects/Python-2.7.9-bin/x64/python27_d.dll>$<$<NOT:$<CONFIG:Debug>>:C:/Projects/Python-2.7.9-bin/x64/python27.dll> ``` This patch makes the messages look like this: ``` -- LLDB Found PythonExecutable: C:/Projects/Python-2.7.9-bin/x64/python.exe and C:/Projects/Python-2.7.9-bin/x64/python_d.exe -- LLDB Found PythonLibs: C:/Projects/Python-2.7.9-bin/x64/libs/python27.lib and C:/Projects/Python-2.7.9-bin/x64/libs/python27_d.lib -- LLDB Found PythonDLL: C:/Projects/Python-2.7.9-bin/x64/python27.dll and C:/Projects/Python-2.7.9-bin/x64/python27_d.dll ``` I've also added checks to ensure the messages are actually accurate, as in check that the files actually exist before claiming they've been found. If any of the files are missing Python integration will be disabled for the build. Patch by Vadim Macagon. Thanks! Reviewers: brucem, zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13520 llvm-svn: 249671
* Update a few more tests in response to the MS ABI enum semanticsDavid Majnemer2015-10-0813-15/+15
| | | | | | | Our self hosting buildbots found a few more tests which weren't updated to reflect that the enum semantics are part of the Microsoft ABI. llvm-svn: 249670
* [X86] Fix wrong treatment of multi-lane blends in BUILD_VECTORtoBlendMask()Michael Kuperstein2015-10-082-36/+50
| | | | | | | | | | | This fixes two separate bugs: 1) The mask for the high lane was not set correctly. That fixes PR24532. 2) The transformation should bail out if it believes it involves more than 2 lanes, as it does not currently do anything sensible in this case. Differential Revision: http://reviews.llvm.org/D13505 llvm-svn: 249669
* Do not assert on first non-prologue instruction being a CFI directive.Michael Kuperstein2015-10-082-5/+59
| | | | llvm-svn: 249668
* [Sema] Tweak incomplete enum types on MSVC ABI targetsDavid Majnemer2015-10-085-6/+8
| | | | | | | | | Enums without an explicit, fixed, underlying type are implicitly given a fixed 'int' type for ABI compatibility with MSVC. However, we can enforce the standard-mandated rules on these types as-if we didn't know this fact if the tag is not part of a definition. llvm-svn: 249667
* [SystemZ] SystemZElimCompare pass improved.Jonas Paulsson2015-10-083-18/+52
| | | | | | | | | | | | | | Compare elimination extended to recognize load-and-test instructions used for comparison and eliminate them the same way as with compare instructions. Test case fp-cmp-05.ll updated to expect optimized results now also for z13. The order of instruction shortening and compare elimination passes have been changed so that opcodes do not have to be handled in both passes. Reviewed by Ulrich Weigand. llvm-svn: 249666
* [SystemZ] Bugfix: check CC reg liveness in SystemZShortenInst.Jonas Paulsson2015-10-081-4/+25
| | | | | | | | | | | | | | The following instruction shortening transformations would introduce a definition of the CC reg, so therefore liveness of CC reg must be checked: WFADB -> ADBR WFSDB -> SDBR Also add the CC reg implicit def operand to the MI in case of change of opcode. Reviewed by Ulrich Weigand. llvm-svn: 249665
* [SystemZ] Use load-and-test for fp compare with 0 if vector support is present.Jonas Paulsson2015-10-084-5/+53
| | | | | | | | | Since the LTxBRCompare instructions can't be used with vector registers, a normal load-and-test instruction (with a modelled def operand) is used instead. Reviewed by Ulrich Weigand. llvm-svn: 249664
* [SystemZ] More minor fixing in SystemZElimCompare.cppJonas Paulsson2015-10-081-9/+5
| | | | | | | | Don't use subreg indices since they are not used after regalloc. Reviewed by Ulrich Weigand. llvm-svn: 249663
* [SystemZ] Minor fixes in SystemZElimCompare.cppJonas Paulsson2015-10-081-4/+3
| | | | | | Reviewed by Ulrich Weigand. llvm-svn: 249662
* [ELF2] Add ENTRY command to the linker scriptDenis Protivensky2015-10-082-2/+35
| | | | | | | | Set ENTRY as an entry point if -e is not specified. Differential Revision: http://reviews.llvm.org/D13509 llvm-svn: 249661
* Update tests touched by r249656David Majnemer2015-10-0820-32/+33
| | | | | | | | | These test updates almost exclusively around the change in behavior around enum: enums without a definition are considered incomplete except when targeting MSVC ABIs. Since these tests are interested in the 'incomplete-enum' behavior, restrict them to %itanium_abi_triple. llvm-svn: 249660
* Use range-based for loops. NFC.Craig Topper2015-10-081-13/+7
| | | | llvm-svn: 249659
* Use itostr(), not std::to_string() because of Android.Douglas Katzman2015-10-081-1/+1
| | | | llvm-svn: 249658
* Unbreak 'debug-options' test when builder is DarwinDouglas Katzman2015-10-081-1/+1
| | | | llvm-svn: 249657
* [MSVC Compat] Enable ABI impacting non-conforming behavior independently of ↵David Majnemer2015-10-087-29/+46
| | | | | | | | | | -fms-compatibility No ABI for C++ currently makes it possible to implement the standard 100% perfectly. We wrongly hid some of our compatible behavior behind -fms-compatibility instead of tying it to the compiler ABI. llvm-svn: 249656
* Stop messing with the 'g' group of options in CompilerInvocation.Douglas Katzman2015-10-08227-392/+480
| | | | | | | | | | | | | | | | With this change, most 'g' options are rejected by CompilerInvocation. They remain only as Driver options. The new way to request debug info from cc1 is with "-debug-info-kind={line-tables-only|limited|standalone}" and "-dwarf-version={2|3|4}". In the absence of a command-line option to specify Dwarf version, the Toolchain decides it, rather than placing Toolchain-specific logic in CompilerInvocation. Also fix a bug in the Windows compatibility argument parsing in which the "rightmost argument wins" principle failed. Differential Revision: http://reviews.llvm.org/D13221 llvm-svn: 249655
* [SCEV] Check `Pred` first in isKnownPredicateViaSplittingSanjoy Das2015-10-081-2/+2
| | | | | | | Comparing `Pred` with `ICmpInst::ICMP_ULT` is cheaper that memory access -- do that check before loading / storing `ProvingSplitPredicate`. llvm-svn: 249654
* [SCEV] Use `auto *` instead of `auto`; NFCISanjoy Das2015-10-081-7/+7
| | | | | | (As prescribed by the coding style document) llvm-svn: 249653
* Fix a -Wdeclaration-after-statement warning.Craig Topper2015-10-081-1/+1
| | | | llvm-svn: 249652
* [LLDB][MIPS] microMIPS load/store instruction emulation for hardware watchpointsMohit K. Bhakkad2015-10-081-18/+55
| | | | | | | | Reviewers: clayborg. Subscribers: jaydeep, bhushan, sagar, nitesh.jain, lldb-commits. Differential Revision: http://reviews.llvm.org/D13493 llvm-svn: 249651
* Remove a default which immediately breaks.Rui Ueyama2015-10-081-2/+0
| | | | | | | getID()'s return type is unsigned int, so I don't think we need this default for -Wswitch-enum. llvm-svn: 249650
* Fix incorrect parsing of arguments for nested functions. Reviewed as ↵Marshall Clow2015-10-082-2/+4
| | | | | | http://reviews.llvm.org/D13192. Thanks to Anseny Kapoulkine for the patch. llvm-svn: 249649
* Revert "Handle inline stacks in gcov-encoded sample profiles."Diego Novillo2015-10-087-139/+53
| | | | | | | | This reverts commit r249644. The buildbots are failing the new test I added. Investigating. llvm-svn: 249648
* [WinEH] Remove NewMSEH and enable its behavior by defaultReid Kleckner2015-10-0817-885/+253
| | | | | | | Testing has shown that it is at least as reliable as the old landingpad pattern matching code. llvm-svn: 249647
* [libFuzzer] fix 32-bit buildKostya Serebryany2015-10-081-1/+1
| | | | llvm-svn: 249646
* ELF2: Inititalize other symbols only once as well.Rui Ueyama2015-10-082-6/+10
| | | | llvm-svn: 249645
* Handle inline stacks in gcov-encoded sample profiles.Diego Novillo2015-10-087-53/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for reading sample profiles with inline stacks. Inline stacks in a profile are generated when the sampled binary has samples in inlined functions. For instance, if main() calls foo() and foo() calls bar(), and bar() is inlined into foo() and foo() inlined into main(), the profile may look something like: main total:364084 head:0 [ ... ] 2.3: _Z3fool total:243786 1: 60149 1.2: 38568 1.4: 46511 1.7: _Z3bari total:98558 1.1: 52672 1.2: 45886 At line 2, discriminator 3, main() calls foo(). In turn, foo() calls bar() at line 1, discriminator 7. In the textual format, this stacking of inline calls is represented with indentation. With this change, LLVM can now read sample profile files generated by the create_gcov tool from https://github.com/google/autofdo. llvm-svn: 249644
* CodeGen: print and verify after TargetPassConfig::insertPass by defaultJustin Bogner2015-10-083-21/+36
| | | | | | | | | | | | | | In r224059, we started verifying after addPass, but missed doing so on insertPass. There isn't a good reason for the discrepancy, and skipping the verifier in these cases causes bugs. This also exposes a verifier error that was introduced in r249087, but the verifier doesn't run until after the register coalescer, when the issue happens to have been resolved. I've skipped the verifier after SIFixSGPRLiveRangesID to avoid the failures for now and will follow up with Matt for a proper fix. llvm-svn: 249643
* ELF2: Make member variable names shorter.Rui Ueyama2015-10-083-12/+11
| | | | | | | I'm going to use them in other patches, and the names feel too long despite their narrow scope. llvm-svn: 249642
* When pretty-printing a C++11 literal operator, don't insert whitespace betweenRichard Smith2015-10-0813-46/+50
| | | | | | | the "" and the suffix; that breaks names such as 'operator""if'. For symmetry, also remove the space between the 'operator' and the '""'. llvm-svn: 249641
* Don't emit exceptional stackrestore cleanups around inalloca functionsReid Kleckner2015-10-084-34/+16
| | | | | | | | The backend restores the stack pointer after recovering from an exception. This is similar to r245879, but it doesn't try to use the normal cleanup mechanism, so hopefully it won't cause the same breakage. llvm-svn: 249640
* Make clang_Cursor_getMangling not mangle if the declaration isn't mangledEhsan Akhgari2015-10-083-1/+12
| | | | | | | | | | | | Right now clang_Cursor_getMangling will attempt to mangle any declaration, even if the declaration isn't mangled (extern C). This results in a partially mangled name which isn't useful for much. This patch makes clang_Cursor_getMangling return an empty string if the declaration isn't mangled. Patch by Michael Wu <mwu@mozilla.com>. llvm-svn: 249639
* [WinEH] Add missing test case for llvm.eh.exceptioncodeReid Kleckner2015-10-071-0/+41
| | | | llvm-svn: 249638
* [WinEH] Fix 32-bit funclet epilogues in the presence of dynamic allocasReid Kleckner2015-10-072-2/+73
| | | | | | | | In particular, passing non-trivially copyable objects by value on win32 uses a dynamic alloca (inalloca). We would clobber ESP in the epilogue and end up returning to outer space. llvm-svn: 249637
* ELF2: Initialize SyntheticOptional only once.Rui Ueyama2015-10-074-1/+13
| | | | llvm-svn: 249636
* ELF2: Use the same name as COFF.Rui Ueyama2015-10-073-3/+3
| | | | llvm-svn: 249635
* [ELF/AArch64] Add tests to verify we handle overflow correctly for relocs.Davide Italiano2015-10-072-0/+16
| | | | llvm-svn: 249634
* Provide missing Internal{Alloc, Free} declarations for libbacktrace symbolizer.Alexey Samsonov2015-10-071-0/+1
| | | | | | | | | | | | | | | | | | | | | Summary: Since r223145 we don't include sanitizer_allocator_internal.h into sanitizer_symbolizer.h, so we can have undefined reference to Internal{Alloc, Free} stuff into sanitizer_symbolizer_libbacktrace.cc under SANITIZER_CP_DEMANGLE macro. This patch simply includes appropriate header into sanitizer_symbolizer_libbacktrace.h to resolve the issue. Patch by Maxim Ostapenko! Reviewers: kcc, eugenis, samsonov Subscribers: llvm-commits, ygribov Differential Revision: http://reviews.llvm.org/D13429 llvm-svn: 249633
* Stop linking all target libraries in llvm-nm and llvm-objdump.Pete Cooper2015-10-073-3/+7
| | | | | | | | | | llvm-nm only needs the target to parse module level assembly in bitcode. It doesn't need a disassembler or codegen. llvm-objdump needs to be able to disassemble a file, but doesn't need asm parsers or codegen. This reduces the sizes of these tools by a few MB each, depending on how many backends are linked in. llvm-svn: 249632
* Expected fail this test and supplied the radar number that is tracking the fix.Greg Clayton2015-10-071-1/+2
| | | | llvm-svn: 249631
* ELF2: Use `-flavor gnu2` after `not` to fix Windows buildbot.Rui Ueyama2015-10-0719-44/+44
| | | | | | | | `not` command on Windows is not able to find an executable from PATH if a given command already has an extension even if the extension is not ".exe". llvm-svn: 249630
* [DWARFASTParserClang] Strengthen incomplete type handling.Siva Chandra2015-10-079-47/+186
| | | | | | | | | | | | Summary: This change fixes pr24916. As associated test has been added. Reviewers: clayborg Subscribers: zturner, lldb-commits Differential Revision: http://reviews.llvm.org/D13224 llvm-svn: 249629
* [ELF2] Garbage collect or{16,64}le. They're now unused.Davide Italiano2015-10-071-2/+0
| | | | llvm-svn: 249628
* [ELF2/AArch64] _ABS* relocations don't read contents. Fix it.Davide Italiano2015-10-071-3/+3
| | | | | | Spotted by: Rafael Espindola. llvm-svn: 249627
* Fix the TestCppNsImport test case for DWARF. It was failing for DWARF in .o ↵Greg Clayton2015-10-072-0/+11
| | | | | | | | | | | files because SymbolFileDWARFDebugMap didn't implement the following function: void ParseDeclsForContext (lldb_private::CompilerDeclContext decl_ctx) override; Now it does and the test works. llvm-svn: 249626
OpenPOWER on IntegriCloud