summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [PowerPC] Add feature for Power8 vector extensionsBill Schmidt2014-10-104-1/+26
| | | | | | | | | | | | | | | | | | The current VSX feature for PowerPC specifies availability of the VSX instructions added with the 2.06 architecture version. With 2.07, the architecture adds new instructions to both the Category:Vector and Category:VSX instruction sets. Additionally, unaligned vector storage operations have improved performance. This patch adds a feature to provide access to the new instructions and performance capabilities of Power8. For compatibility with GCC, the feature is controlled via a new -mpower8-vector switch, and the feature causes the __POWER8_VECTOR__ builtin define to be generated by the preprocessor. There is a companion patch for llvm being committed at the same time. llvm-svn: 219502
* [PowerPC] Add feature for Power8 vector extensionsBill Schmidt2014-10-103-2/+10
| | | | | | | | | | | | | | | | | | The current VSX feature for PowerPC specifies availability of the VSX instructions added with the 2.06 architecture version. With 2.07, the architecture adds new instructions to both the Category:Vector and Category:VSX instruction sets. Additionally, unaligned vector storage operations have improved performance. This patch adds a feature to provide access to the new instructions and performance capabilities of Power8. For compatibility with GCC, the feature is controlled via a new -mpower8-vector switch, and the feature causes the __POWER8_VECTOR__ builtin define to be generated by the preprocessor. There is a companion patch for cfe being committed at the same time. llvm-svn: 219501
* [mips][microMIPS] Implement ADDIUSP instructionZoran Jovanovic2014-10-107-0/+52
| | | | | | Differential Revision: http://reviews.llvm.org/D5084 llvm-svn: 219500
* Use the new access function (if present) to compute the access stride.Johannes Doerfert2014-10-102-1/+50
| | | | | | Differential Revision: http://reviews.llvm.org/D5661 llvm-svn: 219499
* [mips][microMIPS] Implement JR16 instructionZoran Jovanovic2014-10-102-0/+15
| | | | | | Differential Revision: http://reviews.llvm.org/D5062 llvm-svn: 219498
* Unfriend CGOpenMPRegionInfo so it can go into an anonymous namespace.Benjamin Kramer2014-10-102-8/+4
| | | | | | Also remove some unnecessary virtual keywords. NFC. llvm-svn: 219497
* [asan][mips] Adding support of asan for mipsel archPetar Jovanovic2014-10-102-2/+2
| | | | | | | | | | | cmake/config-ix.cmake: Enabled building of asan for mipsel arch test/asan/CMakeLists.txt: Enabled testing of asan for mipsel Patch by Kumar Sukhani Differential Revision: http://reviews.llvm.org/D5615 llvm-svn: 219496
* [mips][microMIPS] Implement ADDIUS5 instructionZoran Jovanovic2014-10-105-0/+48
| | | | | | Differential Revision: http://reviews.llvm.org/D5049 llvm-svn: 219495
* ps][microMIPS] Implement JRC instructionZoran Jovanovic2014-10-102-2/+16
| | | | | | Differential Revision: http://reviews.llvm.org/D5045 llvm-svn: 219494
* [mips][microMIPS] Implement JALRS16 instructionZoran Jovanovic2014-10-103-0/+16
| | | | | | Differential Revision: http://reviews.llvm.org/D5027 llvm-svn: 219493
* Fix a small typo, NFCTimur Iskhodzhanov2014-10-101-1/+1
| | | | llvm-svn: 219492
* Fixing the MSVC 2013 build, NFC.Aaron Ballman2014-10-101-0/+3
| | | | llvm-svn: 219491
* Code reformatting and improvement for OpenMP.Alexey Bataev2014-10-105-108/+148
| | | | | | Moved CGOpenMPRegionInfo from CGOpenMPRuntime.h to CGOpenMPRuntime.cpp file and reworked the code for this change. Also added processing of ThreadID variable passed as an argument in outlined functions in parallel and task directives. llvm-svn: 219490
* Disabling main() check on UBSAN, since the noreturn check is already madeRenato Golin2014-10-101-2/+0
| | | | llvm-svn: 219488
* APInt: Unfold return expressions so RVO can work.Benjamin Kramer2014-10-101-10/+28
| | | | | | Saves a couple of expensive deep copies. NFC. llvm-svn: 219487
* Code improvements in OpenMP CodeGen.Alexey Bataev2014-10-103-71/+108
| | | | | | This patch makes class OMPPrivateScope a common class for all private variables. Reworked processing of firstprivate variables (now it is based on OMPPrivateScope too). llvm-svn: 219486
* [ADT] Add an (ADL-friendly) abs free function for APFloat that returnsChandler Carruth2014-10-102-0/+44
| | | | | | by value having cleared the sign bit. llvm-svn: 219485
* Don't use an unqualified 'abs' function call with a builtin type.Chandler Carruth2014-10-101-2/+3
| | | | | | | | | | | | | | | | This is dangerous for numerous reasons. The primary risk here is with floating point or double types where if the wrong header files are included in a strange order this can implicitly convert to integers and then call the C abs function on the integers. There is a secondary risk that even impacts integers where if the namespace the code is written in ever defines an abs overload for types within that namespace the global abs will be hidden. The correct form is to call std::abs or write 'using std::abs' for builtin types (and only the latter is correct in any generic context). I've also added the requisite header to be a bit more explicit here. llvm-svn: 219484
* [Tsan] Do not use INTERCEPT_FUNCTION_VER() on FreeBSDViktor Kutuzov2014-10-101-1/+5
| | | | | | Differential Revision: http://reviews.llvm.org/D5708 llvm-svn: 219483
* [Tsan] Fix the getline_nohang.cc test to build on FreeBSDViktor Kutuzov2014-10-101-0/+4
| | | | | | Differential Revision: http://reviews.llvm.org/D5666 llvm-svn: 219482
* [Tsan] Fix comments in the user_fopen.cc and user_malloc.cc testsViktor Kutuzov2014-10-102-2/+2
| | | | | | Related revision: http://reviews.llvm.org/D5670 llvm-svn: 219481
* Add tests for r219479.David Majnemer2014-10-102-0/+263
| | | | llvm-svn: 219480
* Object, COFF: Relax aux symbols for section definitionsDavid Majnemer2014-10-101-2/+1
| | | | | | | | | | We, I suppose naïvely, believed the COFF specification with regard to auxiliary symbol records which defined sections: they specified that the symbol value should be zero. However, dumpbin and MinGW's objdump do not consider the symbol value as a restriction. Relaxing this allows us to properly dump MinGW linked executables. llvm-svn: 219479
* [Tsan] Make the user_fopen.cc and user_malloc.cc tests Linux-specificViktor Kutuzov2014-10-103-0/+9
| | | | | | Differential Revision: http://reviews.llvm.org/D5670 llvm-svn: 219478
* Sink the per-CU part of DwarfDebug::finishSubprogramDefinitions into ↵David Blaikie2014-10-103-15/+21
| | | | | | DwarfCompileUnit. llvm-svn: 219477
* Sink most of DwarfDebug::constructAbstractSubprogramScopeDIE down into ↵David Blaikie2014-10-104-29/+40
| | | | | | DwarfCompileUnit. llvm-svn: 219476
* Add minnum / maxnum to APFloatMatt Arsenault2014-10-102-0/+44
| | | | llvm-svn: 219475
* [ADT] Replace the logb implementation with the simpler and much closerChandler Carruth2014-10-102-58/+47
| | | | | | | | to what we actually want ilogb implementation. This makes everything *much* easier to deal with and is actually what we want when using it anyways. llvm-svn: 219474
* [ADT] Add the scalbn function for APFloat.Chandler Carruth2014-10-103-2/+66
| | | | llvm-svn: 219473
* XFAIL coverage -no-integrated-as tests for msvc.Dan Albert2014-10-102-6/+13
| | | | | | | Windows can't use -no-integrated-as, so split these tests out into a separate file and XFAIL them for win32,win64. llvm-svn: 219472
* [ADT] Implement the 'logb' functionality for APFloat. This is necessaryChandler Carruth2014-10-102-0/+68
| | | | | | to implement complex division in the constant folder of Clang. llvm-svn: 219471
* Revert r218865 because it introduced PR21236, a crash in codegen emitting ↵Nick Lewycky2014-10-106-414/+32
| | | | | | the try block. llvm-svn: 219470
* [LVI] Revert the remainder of "r218231 - Add two thresholds ↵Hal Finkel2014-10-101-22/+0
| | | | | | | | | lvi-overdefined-BB-threshold and lvi-overdefined-threshold" Some of r218231 was reverted with the code that used it in r218971, but not all of it. This removes the rest (which is now dead). llvm-svn: 219469
* _Really_ fix these tests (probably).Dan Albert2014-10-101-4/+4
| | | | llvm-svn: 219468
* Remove support for the IOS_SIMULATOR_DEPLOYMENT_TARGET env var.Bob Wilson2014-10-103-23/+0
| | | | | | | | It turns out that this was never used. Instead we just use the IPHONEOS_DEPLOYMENT_TARGET variable for both iOS devices and simulator. rdar://problem/18596744 llvm-svn: 219467
* Avoid unnecessary map lookup/insertion.David Blaikie2014-10-101-2/+2
| | | | llvm-svn: 219466
* Fix for OpenMP/parallel_firstprivate_codegen.cppAlexey Bataev2014-10-101-2/+2
| | | | | | Fix compatibility issues of the test with SystemZ target. llvm-svn: 219465
* Hopefully fixes test failures for msvc.Dan Albert2014-10-102-6/+5
| | | | | | | | | Looks like llvm::sys::path::filename() was canonicalizing my paths before emitting them for FileCheck to stumble over. Fix a style nit with r219460 while I'm at it. llvm-svn: 219464
* Add isInfinity to ConstantFPMatt Arsenault2014-10-101-0/+3
| | | | llvm-svn: 219463
* SimplifyCFG: Don't convert phis into selects if we could remove undef behaviorArnold Schwaighofer2014-10-102-0/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead We used to transform this: define void @test6(i1 %cond, i8* %ptr) { entry: br i1 %cond, label %bb1, label %bb2 bb1: br label %bb2 bb2: %ptr.2 = phi i8* [ %ptr, %entry ], [ null, %bb1 ] store i8 2, i8* %ptr.2, align 8 ret void } into this: define void @test6(i1 %cond, i8* %ptr) { %ptr.2 = select i1 %cond, i8* null, i8* %ptr store i8 2, i8* %ptr.2, align 8 ret void } because the simplifycfg transformation into selects would happen to happen before the simplifycfg transformation that removes unreachable control flow (We have 'unreachable control flow' due to the store to null which is undefined behavior). The existing transformation that removes unreachable control flow in simplifycfg is: /// If BB has an incoming value that will always trigger undefined behavior /// (eg. null pointer dereference), remove the branch leading here. static bool removeUndefIntroducingPredecessor(BasicBlock *BB) Now we generate: define void @test6(i1 %cond, i8* %ptr) { store i8 2, i8* %ptr.2, align 8 ret void } I did not see any impact on the test-suite + externals. rdar://18596215 llvm-svn: 219462
* Reverse out r219169 related to quote handling.Todd Fiala2014-10-108-81/+4
| | | | | | | | | Addresses pr/21190 (http://llvm.org/bugs/show_bug.cgi?id=21190). r219169 implemented this change list: http://reviews.llvm.org/D5472 for more details. llvm-svn: 219461
* PR21195: Emit .gcno files to the proper location.Dan Albert2014-10-102-1/+24
| | | | | | | | When building with coverage, -no-integrated-as, and -c, the driver was emitting -cc1 -coverage-file pointing at a file in /tmp. Ensure the coverage file is emitted in the same directory as the output file. llvm-svn: 219460
* Fix gcc warning in gold-plugin.cpp.Rafael Espindola2014-10-101-0/+1
| | | | | | Patch by Markus Trippelsdorf! llvm-svn: 219459
* obj2yaml, COFF: Handle long section namesDavid Majnemer2014-10-103-5/+19
| | | | | | | | | | | | | Long section names are represented as a slash followed by a numeric ASCII string. This number is an offset into a string table. Print the appropriate entry in the string table instead of the less enlightening /4. N.B. yaml2obj already does the right thing, this test exercises both sides of the (de-)serialization. llvm-svn: 219458
* Enable local llgs debugging on Linux when the use-llgs-for-local setting is ↵Todd Fiala2014-10-109-173/+379
| | | | | | | | | | | | | | | | | | | enabled. See http://reviews.llvm.org/D5695 for details. This change does the following: Enable lldb-gdbserver (llgs) usage for local-process Linux debugging. To turn on local llgs debugging support, which is disabled by default, enable this setting: (lldb) settings set platform.plugin.linux.use-llgs-for-local true Adds a stream-based Dump() function to FileAction. Pushes some platform methods that Linux (and FreeBSD) will want to share with MacOSX from PlatformDarwin into PlatformPOSIX. Reviewed by Greg Clayton. llvm-svn: 219457
* Promote null pointer constants used as arguments to variadic functionsReid Kleckner2014-10-103-1/+43
| | | | | | | | | | | | | | | Make it possible to pass NULL through variadic functions on 64-bit Windows targets. The Visual C++ headers define NULL to 0, when they should define it to 0LL on Win64 so that NULL is a pointer-sized integer. Fixes PR20949. Reviewers: thakis, rsmith Differential Revision: http://reviews.llvm.org/D5480 llvm-svn: 219456
* [ADT] Add basic operator overloads for arithmetic to APFloat to makeChandler Carruth2014-10-092-0/+59
| | | | | | | | | | | | code using it more readable. Also add a copySign static function that works more like the standard function by accepting the value and sign-carying value as arguments. No interesting logic here, but tests added to cover the basic API additions and make sure they do something plausible. llvm-svn: 219453
* In cases where you'd use an expression to get a value to insert in a ↵Enrico Granata2014-10-092-7/+12
| | | | | | command, be ready to use synthetic children if they are there. Those are now a source of values, so worth checking for llvm-svn: 219452
* Properly shutdown lldb by invoking SBDebugger_Terminate()Adrian Prantl2014-10-091-1/+3
| | | | | | rdar://problem/18577039 llvm-svn: 219451
* Fix completion logic to allow for heterogeneous argument types in matcher ↵Samuel Benzaquen2014-10-092-10/+29
| | | | | | | | | | | | | | | | | | | | overloads. Summary: There was an assumption that there were no matchers that were overloaded on matchers and other types of arguments. This assumption was broken recently with the addition of new matcher overloads. Fixes http://llvm.org/PR21226 Reviewers: pcc Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D5711 llvm-svn: 219450
OpenPOWER on IntegriCloud