summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Lower unsigned vsetcc to psubus in certain casesQuentin Colombet2014-02-263-12/+171
| | | | | | | | | | | | | | | | | | | | | The current approach to lower a vsetult is to flip the sign bit of the operands, swap the operands and then use a (signed) pcmpgt. psubus (unsigned saturating subtract) can be used to emulate a vsetult more efficiently: + case ISD::SETULT: { + // If the comparison is against a constant we can turn this into a + // setule. With psubus, setule does not require a swap. This is + // beneficial because the constant in the register is no longer + // destructed as the destination so it can be hoisted out of a loop. I also enable lowering via psubus in a few other cases where it's clearly beneficial: setule and setuge if minu/maxu cannot be used. rdar://problem/14338765 Patch by Adam Nemet <anemet@apple.com>. llvm-svn: 202301
* Sema: Definition of dllimport globals is not allowedNico Rieck2014-02-267-25/+33
| | | | | | | Upgrades the warning to an error and clarifies the message by treating the definition as error instead of the attribute. llvm-svn: 202300
* Don't mix the plain and keyword signatures of target_link_libraries.Rafael Espindola2014-02-261-1/+1
| | | | llvm-svn: 202299
* Undef helper macros after using them.Joerg Sonnenberger2014-02-261-0/+2
| | | | llvm-svn: 202298
* Reapply r201910. MSVC gets __func__ defined explicitly, even though itJoerg Sonnenberger2014-02-2612-14/+14
| | | | | | can't build anything here. llvm-svn: 202297
* Emulate C99/C++11 __func__ for Visual C++.Joerg Sonnenberger2014-02-261-0/+3
| | | | llvm-svn: 202296
* Silencing an MSVC signed comparison warning.Aaron Ballman2014-02-261-1/+1
| | | | llvm-svn: 202295
* Fix the aggressive anti-dep breaker's subregister definition handlingHal Finkel2014-02-261-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The aggressive anti-dependency breaker scans instructions, bottom-up, within the scheduling region in order to find opportunities where register renaming can be used to break anti-dependencies. Unfortunately, the aggressive anti-dep breaker was treating a register definition as defining all of that register's aliases (including super registers). This behavior is incorrect when the super register is live and there are other definitions of subregisters of the super register. For example, given the following sequence: %CR2EQ<def> = CROR %CR3UN, %CR3UN<kill> %CR2GT<def> = IMPLICIT_DEF %X4<def> = MFOCRF8 %CR2 the analysis of the first subregister definition would work as expected: Anti: %CR2GT<def> = IMPLICIT_DEF Def Groups: CR2GT=g194->g0(via CR2) Antidep reg: CR2GT (zero group) Use Groups: but the analysis of the second one would not: Anti: %CR2EQ<def> = CROR %CR3UN, %CR3UN<kill> Def Groups: CR2EQ=g195 Antidep reg: CR2EQ Rename Candidates for Group g195: ... because, when processing the %CR2GT<def>, we'd mark all super registers of %CR2GT (%CR2 in this case) as defined. As a result, when processing %CR2EQ<def>, %CR2 no longer appears to be live, and %CR2EQ<def>'s group is not %unioned with the %CR2 group. I don't have an in-tree test case for this yet (and even if I did, I don't have a small one). llvm-svn: 202294
* GlobalOpt: Apply fastcc to internal x86_thiscallcc functionsReid Kleckner2014-02-262-5/+60
| | | | | | | | | | We should apply fastcc whenever profitable. We can expand this list, but there are lots of conventions with performance implications that we don't want to change. Differential Revision: http://llvm-reviews.chandlerc.com/D2705 llvm-svn: 202293
* Relax COFF string table checkNico Rieck2014-02-263-2/+14
| | | | | | | | | COFF object files with 0 as string table size are currently rejected. This prevents us from reading object files written by tools like cvtres that violate the PECOFF spec and write 0 instead of 4 for the size of an empty string table. llvm-svn: 202292
* Fix broken FileCheck prefixNico Rieck2014-02-261-4/+4
| | | | llvm-svn: 202291
* [Mips] Remove non-ASCII symbol from the comment.Simon Atanasyan2014-02-261-1/+1
| | | | llvm-svn: 202290
* [Mips] Split reloc26 function into two parts - for processing local andSimon Atanasyan2014-02-261-7/+11
| | | | | | external relocations. llvm-svn: 202289
* [Mips] Use a correct number of bits when apply result of calculated relocation.Simon Atanasyan2014-02-262-12/+13
| | | | llvm-svn: 202288
* [Mips] Exit from the class method as soon as possible.Simon Atanasyan2014-02-261-3/+4
| | | | llvm-svn: 202287
* Use the overloaded std::abs rather than C's abs(int) to address Clang's ↵David Blaikie2014-02-261-1/+1
| | | | | | -Wabsolute-value llvm-svn: 202286
* Fix x86 32-bit register context definition to build properly on 32 and ↵Todd Fiala2014-02-261-1/+13
| | | | | | | | | | | | | | 64-bit hosts. This fix changes thee x86 32-bit floating point register area to be the proper size independent of the host platform. Note as of this change list, this register context is not yet used since selecting it exposes issues with watchpoint assertions. Change by Matthew Gardiner. llvm-svn: 202285
* Add libexecinfo for backtrace() on FreeBSDEd Maste2014-02-261-0/+5
| | | | llvm-svn: 202284
* Use count 0.Rafael Espindola2014-02-261-4/+1
| | | | | | Thanks to Roman Divacky for the suggestion. llvm-svn: 202283
* Fixed lldb cmake build to include missing libpanel/libncurses.Todd Fiala2014-02-261-1/+1
| | | | | | | | | These libraries became necessary recently to link properly. I think they are needed everywhere non-Windows, but if they end up breaking on a given platform, we can conditionalize this further. llvm-svn: 202282
* remove useless declarationSylvestre Ledru2014-02-261-2/+0
| | | | llvm-svn: 202281
* Don't install CMakeLists.txt along with the headers.Bob Wilson2014-02-261-1/+2
| | | | llvm-svn: 202280
* tsan: fix deadlock detector test so that it does not force contention in runtimeDmitry Vyukov2014-02-261-12/+21
| | | | llvm-svn: 202278
* Fix typo. Thanks to Roman Divacky for noticing it.Rafael Espindola2014-02-262-11/+12
| | | | llvm-svn: 202277
* Compare DataLayout by Value, not by pointer.Rafael Espindola2014-02-266-1/+30
| | | | | | | | This fixes spurious warnings in llvm-link about the datalayout not matching. Thanks to Zalman Stern for reporting the bug! llvm-svn: 202276
* Use a sorted array to store the information about a few address spaces.Rafael Espindola2014-02-262-33/+44
| | | | | | | | | We don't have any test with more than 6 address spaces, so a DenseMap is probably not the correct answer. An unsorted array would also be OK, but we have to sort it for printing anyway. llvm-svn: 202275
* Move these functions out of line. A DenseMap lookup is not a simple operation.Rafael Espindola2014-02-262-21/+29
| | | | llvm-svn: 202274
* Fix PR18165: LSR must avoid scaling factors that exceed the limit on ↵Andrew Trick2014-02-262-0/+100
| | | | | | | | truncated use. Patch by Michael Zolotukhin! llvm-svn: 202273
* remove useless declaration. Triggers 20 warnings on ↵Sylvestre Ledru2014-02-261-1/+0
| | | | | | http://buildd-clang.debian.net/scan-build/ llvm-svn: 202271
* * Rename PYTHON_INCLUDES to PYTHON_INC_DIR to match the similar declarationSylvestre Ledru2014-02-261-2/+2
| | | | | | | | in lldb.svn/Makefile * Use CPP.Flags to export the declaration. The current solution broke all builds on http://llvm-jenkins.debian.net/ llvm-svn: 202270
* Add newlines to fallback-style description. Patch by Kamal Essoufi\!Alexander Kornienko2014-02-261-3/+4
| | | | llvm-svn: 202269
* Support 'q' length modifier in scanf/printf interceptorsAlexey Samsonov2014-02-262-0/+3
| | | | llvm-svn: 202268
* [ASan] Split interception-in-shared-lib-test.cc into two tests with ↵Alexander Potapenko2014-02-263-7/+41
| | | | | | | | platform-specific RUN commands. Get rid of a TestCases/SharedLibs/shared-lib-test-so.cc dependency in these tests. llvm-svn: 202267
* [asan] remove UB (comparison of two unrelated pointers) from a testKostya Serebryany2014-02-261-7/+8
| | | | llvm-svn: 202266
* llvm-symbolizer: use dynamic symbol table if the regular one is stripped.Alexey Samsonov2014-02-264-29/+50
| | | | llvm-svn: 202265
* Move getELFDynamicSymbolIterators to a public header.Alexey Samsonov2014-02-262-25/+23
| | | | llvm-svn: 202264
* [CMake] BUILD_SHARED_LIBS: Fixup for r202261: Give PULIC to system_libs in ↵NAKAMURA Takumi2014-02-261-1/+9
| | | | | | LLVMSupport. llvm-svn: 202263
* Ensure bitcode encoding of instructions and their operands stays stable.Michael Kuperstein2014-02-2614-0/+583
| | | | | | | | This includes instructions with aggregate operands (insert/extract), instructions with vector operands (insert/extract/shuffle), binary arithmetic and bitwise instructions, conversion instructions and terminators. Work was done by lama.saba@intel.com. llvm-svn: 202262
* [CMake] Work around to use target_link_libraries(PUBLIC) in ↵NAKAMURA Takumi2014-02-261-0/+7
| | | | | | | BUILD_SHARED_LIBS mode. FIXME: It may be PRIVATE since SO knows its dependent libs. llvm-svn: 202261
* [CMake] Move LLVMBUILD_LIB_DEPS stuff from add_llvm_library (and ↵NAKAMURA Takumi2014-02-261-13/+30
| | | | | | LLVm-Config) to llvm_add_library to centralize target_link_libraries. llvm-svn: 202260
* AArch64: use less cluttered intrinsic for vtbl/vtbxTim Northover2014-02-261-6/+2
| | | | | | | The table is always 128-bit so there's no reason to specify it every time we want the intrinsic. llvm-svn: 202259
* AArch64: simplify tbl/tbx polymorphismTim Northover2014-02-262-100/+100
| | | | | | | | | The table argument is always 128-bit (and interpreted as <16 x i8>) so the extra specifier for it is just clutter. No user-visible behaviour change, so no tests. llvm-svn: 202258
* ARMv8 IfConversion must skip narrow instructions that a) define CPSR and b) ↵Artyom Skrobov2014-02-264-16/+139
| | | | | | wouldn't affect CPSR in an IT block llvm-svn: 202257
* Stop test/CodeGen/ARM/a15.ll targetting non-ARM targets.Daniel Sanders2014-02-261-1/+1
| | | | | | | | | | | | | | | | | Summary: Fixes an issue where a test attempts to use -mcpu=cortex-a15 on non-ARM targets. This triggers an assertion on MIPS since it doesn't know what ABI to use by default for unrecognized processors. Reviewers: rengolin Reviewed By: rengolin CC: llvm-commits, aemerson, rengolin Differential Revision: http://llvm-reviews.chandlerc.com/D2876 llvm-svn: 202256
* Add a StmtPrinter test for implicit and explicit conversion operator calls.Benjamin Kramer2014-02-262-5/+52
| | | | | | Put back a comment that I removed too aggressively. llvm-svn: 202255
* Fix typoTobias Grosser2014-02-261-1/+1
| | | | llvm-svn: 202254
* [mips] Treat -mcpu=generic the same way as an empty CPU string.Daniel Sanders2014-02-262-2/+2
| | | | | | | | | | | | | | | | | Summary: This should fix the MCJIT unit tests that were broken by r201792 on the MIPS buildbot. MIPS currently uses the default implementation of sys::getHostCPUName() which always returns "generic". For now, we will accept "generic" and coerce it to "mips32" or "mips64" depending on the target architecture like we do for empty CPU names. Reviewers: jacksprat, matheusalmeida Reviewed By: jacksprat Differential Revision: http://llvm-reviews.chandlerc.com/D2878 llvm-svn: 202253
* [SROA] Use the correct index integer size in GEPs through non-defaultChandler Carruth2014-02-262-6/+11
| | | | | | | | | | | address spaces. This isn't really a correctness issue (the values are truncated) but its much cleaner. Patch by Matt Arsenault! llvm-svn: 202252
* Add two helpers to IRBuilder to flesh the interface out to N-widthChandler Carruth2014-02-261-0/+11
| | | | | | integers. Complements the interfaces it is wrapping. llvm-svn: 202251
* [asan] Fix printing of long reports to logcat on Android.Evgeniy Stepanov2014-02-261-1/+12
| | | | | | | __android_log_write has an implicit message length limit. Print one line at a time. llvm-svn: 202250
OpenPOWER on IntegriCloud