summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* add -lcrypto to clang and clang-format fuzzers (lib/Fuzzer will soon require it)Kostya Serebryany2015-05-122-1/+3
| | | | llvm-svn: 237081
* Remove the code that pulled soft float attributes out of the featureEric Christopher2015-05-123-15/+7
| | | | | | | strings and remove the setting of TargetOptions::UseSoftFloat to match the code change in llvm r237079. llvm-svn: 237080
* Migrate existing backends that care about software floating pointEric Christopher2015-05-1228-78/+99
| | | | | | | | | | | | | | | | | | | | to use the information in the module rather than TargetOptions. We've had and clang has used the use-soft-float attribute for some time now so have the backends set a subtarget feature based on a particular function now that subtargets are created based on functions and function attributes. For the one middle end soft float check go ahead and create an overloadable TargetLowering::useSoftFloat function that just checks the TargetSubtargetInfo in all cases. Also remove the command line option that hard codes whether or not soft-float is set by using the attribute for all of the target specific test cases - for the generic just go ahead and add the attribute in the one case that showed up. llvm-svn: 237079
* Get lldb-server building on android-9Vince Harron2015-05-1218-87/+309
| | | | | | Build lldb-server with an android-9 sysroot. llvm-svn: 237078
* Revert "Driver: Make profiling flags work with -nostdlib on Darwin"Justin Bogner2015-05-124-55/+14
| | | | | | This revert r237074. These tests are failing all over the place. llvm-svn: 237077
* Change session log filename pattern: test before archVince Harron2015-05-121-2/+2
| | | | | | | | | | | | | | | | | | | | This is a very minor change. Just reshuffle the elements of the log filename so that the test name comes before the arch/compiler Before: Failure-x86_64-clang-TestCModules.CModulesTestCase.test_expr_with_dwarf.log After: Failure-TestCModules.CModulesTestCase.test_expr_with_dwarf-x86_64-clang.log This way, results are grouped by test name, not by arch. I think this is much more useful. Differential Revision: http://reviews.llvm.org/D9648 llvm-svn: 237076
* Remove Triple Vendor check when creating FreeBSD PlatformEd Maste2015-05-121-27/+5
| | | | | | This is equivalent to r237052 in PlatformLinux.cpp. llvm-svn: 237075
* Driver: Make profiling flags work with -nostdlib on DarwinJustin Bogner2015-05-124-14/+55
| | | | | | | | | | | | | Compiler-rt's Profiling library isn't part of the stdlib, so -nostdlib shouldn't prevent it from being linked. This makes Darwin behave like other toolchains, and link in the profile runtime irrespective of -nostdlib, since the resulting program can't be run unless you link this. I've also added a test to show that other toolchains already behave like this. llvm-svn: 237074
* Allow empty assembly string literal with -fno-gnu-inline-asmSteven Wu2015-05-123-8/+21
| | | | | | | | | Empty assembly string will not introduce assembly code in the output binary and it is often used as a trick in the header to disable optimizations. It doesn't conflict with the purpose of the option so it is allowed with -fno-gnu-inline-asm flag. llvm-svn: 237073
* Fixing memory leakAndrew Kaylor2015-05-121-0/+2
| | | | llvm-svn: 237072
* Update initialization of a class variable and comment.Eric Christopher2015-05-121-2/+4
| | | | llvm-svn: 237071
* Refactoring gc_relocate related code in CodeGenPrepare.cppSanjoy Das2015-05-111-7/+4
| | | | | | | | | | | | | | | | | | | | Summary: The original code inserted new instructions by following a Create->Remove->ReInsert flow. This patch removes the unnecessary Remove->ReInsert part by setting up the InsertPoint correctly at the very beginning. This change does not introduce any functionality change. Patch by Chen Li! Reviewers: reames, AndyAyers, sanjoy Reviewed By: sanjoy Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D9687 llvm-svn: 237070
* Rename variables in gc_relocate related functions to follow LLVM's naming ↵Sanjoy Das2015-05-112-47/+47
| | | | | | | | | | | | | | | | | | | | conventions. Summary: This patch is to rename some variables to CamelCase in gc_relocate related functions. There is no functionality change. Patch by Chen Li! Reviewers: reames, AndyAyers, sanjoy Reviewed By: sanjoy Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D9681 llvm-svn: 237069
* Typo fix: s/initialzier/initializer/ in a doc comment.James Dennett2015-05-111-1/+1
| | | | | | No functional change. llvm-svn: 237068
* [lib/Fuzzer] don't record traces when trace collection is offKostya Serebryany2015-05-111-1/+2
| | | | llvm-svn: 237067
* [MemCpyOpt] Look at any dependency -not just source- for memset+memcpy.Ahmed Bougacha2015-05-112-6/+25
| | | | | | | | | | This fixes another miscompile introduced by r235232: when there was a dependency on the memcpy destination other than the memset, we would ignore it, because we only looked at the source dependency. It was a mistake to use SrcDepInfo. Instead, just use DepInfo. llvm-svn: 237066
* Simplify a return expression and an access to an alloca's allocated typeDavid Blaikie2015-05-111-3/+3
| | | | llvm-svn: 237065
* PR20625: Instantiate static constexpr member function of a local struct in a ↵Richard Smith2015-05-113-1/+26
| | | | | | | | | | | | | | | function template earlier. This is necessary in order to allow the use of a constexpr member function, or a member function with deduced return type, of a local class within a surrounding instantiated function template specialization. Patch by Michael Park! This re-commits r236063, which was reverted in r236134, along with a fix for a delayed template parsing bug that was exposed by this change. llvm-svn: 237064
* [WinEH] Handle nested landing pads that return directly to the parent function.Andrew Kaylor2015-05-116-15/+323
| | | | | | Differential Revision: http://reviews.llvm.org/D9684 llvm-svn: 237063
* Add more missing #includes, found by modules build.Richard Smith2015-05-114-0/+5
| | | | llvm-svn: 237062
* Add missing #include, found by modules build.Richard Smith2015-05-111-0/+1
| | | | llvm-svn: 237061
* Add missing #includes, found by modules build.Richard Smith2015-05-111-1/+4
| | | | llvm-svn: 237060
* Readdress r236990, use of static members on a non-static variable.David Blaikie2015-05-115-53/+46
| | | | | | | | | | | | The TargetRegistry is just a namespace-like class, instantiated in one place to use a range-based for loop. Instead, expose access to the registry via a range-based 'targets()' function instead. This makes most uses a bit awkward/more verbose - but eventually we should just add a range-based find_if function which will streamline these functions. I'm happy to mkae them a bit awkward in the interim as encouragement to improve the algorithms in time. llvm-svn: 237059
* Fix tablegen's PrintFatalError function to run registered fileJames Y Knight2015-05-116-28/+29
| | | | | | | | | | | | | | | cleanups. Also, change code in tablegen which printed a message and then called "exit(1)" to use PrintFatalError, instead. This fixes instances where an empty output file was left behind after a failed tablegen invocation, which would confuse subsequent ninja runs into not attempting to rebuild. Differential Revision: http://reviews.llvm.org/D9608 llvm-svn: 237058
* Move sanitizer parser and group expander from Driver to Basic.Peter Collingbourne2015-05-114-38/+49
| | | | | | | | No functional change. Differential Revision: http://reviews.llvm.org/D9621 llvm-svn: 237056
* Unify sanitizer kind representation between the driver and the rest of the ↵Peter Collingbourne2015-05-117-158/+130
| | | | | | | | | | compiler. No functional change. Differential Revision: http://reviews.llvm.org/D9618 llvm-svn: 237055
* [lib/Fuzzer] when running multiple fuzzing processes, print something every ↵Kostya Serebryany2015-05-111-2/+14
| | | | | | 10 minutes to avoid buildbot timeouts llvm-svn: 237054
* Fix selecting the Platform in TargetList::CreateTargetInternal()Ted Woodward2015-05-111-22/+17
| | | | | | | | | | | | | | | | | Summary: TargetList::CreateTargetInternal() will only select the current Platform. A previous patch always sets platform_sp to the current Platform, so a check later to see if platform_sp was not defined always failed, and the current Platform was used. This patch removes that check, so if the current Platform is not compatible with the target architecture, CreateTargetInternal() will call Platform::GetPlatformForArchitecture() to select a compatible Platform. Vince, remote linux tests (Ubuntu -> remote Ubuntu) pass the same with and without this patch. Reviewers: vharron, clayborg Reviewed By: clayborg Subscribers: jingham, lldb-commits Differential Revision: http://reviews.llvm.org/D8749 llvm-svn: 237053
* Remove Triple Vendor check when creating Linux PlatformTed Woodward2015-05-111-27/+6
| | | | | | | | | | | | | | Summary: The Linux Platform shouldn't care about the Vendor field in the Triple. Currently it allows a value of "PC", or "unknown" if LLDB was built on Linux. This patch removes that check, so the Vendor field isn't touched. This will allow the Linux Platform to be created when using a Triple of *-*-Linux. Reviewers: vharron, clayborg, sas, tberghammer Reviewed By: clayborg, sas, tberghammer Subscribers: tberghammer, sas, lldb-commits Differential Revision: http://reviews.llvm.org/D8742 llvm-svn: 237052
* Fix input validation issues in llvm-as/llvm-disAlexey Samsonov2015-05-112-16/+10
| | | | | | | | | | | | | | | | | | Summary: 1. llvm-as/llvm-dis tools do not check for input filename length. 2. llvm-dis does not verify the `Streamer` variable against `nullptr` properly, so the `M` variable could be uninitialized (e.g. if the input file does not exist) leading to null dref. Patch by Lenar Safin! Reviewers: samsonov Reviewed By: samsonov Subscribers: samsonov, llvm-commits Differential Revision: http://reviews.llvm.org/D9584 llvm-svn: 237051
* [lib/Fuzzer] rename FuzzerDFSan.cpp to FuzzerTraceState.cpp; update ↵Kostya Serebryany2015-05-114-44/+54
| | | | | | comments. NFC expected llvm-svn: 237050
* [asan] Disable coverage-missing test failing on the bots.Evgeniy Stepanov2015-05-111-1/+1
| | | | llvm-svn: 237049
* Allow AsmLabel with -fno-gnu-inline-asmSteven Wu2015-05-112-4/+9
| | | | | | | | | | | | | | | | | | | Summary: AsmLabel is heavily used in system level and firmware to redirect function and access platform specific labels. They are also extensively used in system headers which makes this option unusable for many users. Since AsmLabel doesn't introduce any assembly code into the output binary, it shouldn't be considered as inline-asm. Reviewers: bob.wilson, rnk Reviewed By: rnk Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D9679 llvm-svn: 237048
* Add Hexagon packet support to ThreadPlanStepRangeTed Woodward2015-05-113-4/+52
| | | | | | | | | | | | | | | | | Summary: Hexagon is a VLIW processor. It can execute multiple instructions at once, called a packet. Breakpoints need to be alone in a packet. This patch will make sure that temporary breakpoints used for stepping are set at the start of a packet, which will put the breakpoint in a packet by itself. Patch by Deepak Panickal of CodePlay and Ted Woodward of Qualcomm. Reviewers: deepak2427, clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9437 llvm-svn: 237047
* propagate IR-level fast-math-flags to DAG nodes; 2nd try; NFCSanjay Patel2015-05-116-59/+67
| | | | | | | | | | | | | | | | | | | | | | | This is a less ambitious version of: http://reviews.llvm.org/rL236546 because that was reverted in: http://reviews.llvm.org/rL236600 because it caused memory corruption that wasn't related to FMF but was actually due to making nodes with 2 operands derive from a plain SDNode rather than a BinarySDNode. This patch adds the minimum plumbing necessary to use IR-level fast-math-flags (FMF) in the backend without actually using them for anything yet. This is a follow-on to: http://reviews.llvm.org/rL235997 ...which split the existing nsw / nuw / exact flags and FMF into their own struct. llvm-svn: 237046
* [UBSan] Add missing header that defines SANITIZER_CAN_USE_PREINIT_ARRAYAlexey Samsonov2015-05-111-0/+1
| | | | | | | Otherwise this compile definition was undefined, and .preinit_array was never used on the platforms that support it. llvm-svn: 237045
* [LoopIdiomRecognize] Transform backedge-taken count check into an assertion.Davide Italiano2015-05-111-1/+3
| | | | | | | | | runOnCountable() allowed the caller to call on a loop without a predictable backedge-taken count. Change the code so that only loops with computable backdge-count can call this function, in order to catch abuses. llvm-svn: 237044
* [lib/Fuzzer] add a trace-based mutatation logic. Same idea as with ↵Kostya Serebryany2015-05-115-12/+68
| | | | | | DFSan-based mutator, but instead of relying on taint tracking, try to find the data directly in the input. More (logic and comments) to go. llvm-svn: 237043
* Fixing build warningsAndrew Kaylor2015-05-111-2/+2
| | | | llvm-svn: 237042
* Doc talks about Platform_RunCommand while we actually use Platform_shell.Chaoren Lin2015-05-111-2/+2
| | | | llvm-svn: 237016
* [WinEH] Update exception numbering to give handlers their own base state.Andrew Kaylor2015-05-117-19/+388
| | | | | | Differential Revision: http://reviews.llvm.org/D9512 llvm-svn: 237014
* group getNode() variants by purpose and add comments; NFCSanjay Patel2015-05-111-17/+21
| | | | llvm-svn: 237013
* ["watch set" tests] Use default test case executable names.Siva Chandra2015-05-112-12/+8
| | | | | | | | | | | | | | Summary: This change similar to r236783. Reviewers: chaoren Reviewed By: chaoren Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9630 llvm-svn: 237010
* [RewriteStatepointsForGC] Fix a bug on creating gc_relocate for pointer to ↵Sanjoy Das2015-05-1112-42/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vector of pointers Summary: In RewriteStatepointsForGC pass, we create a gc_relocate intrinsic for each relocated pointer, and the gc_relocate has the same type with the pointer. During the creation of gc_relocate intrinsic, llvm requires to mangle its type. However, llvm does not support mangling of all possible types. RewriteStatepointsForGC will hit an assertion failure when it tries to create a gc_relocate for pointer to vector of pointers because mangling for vector of pointers is not supported. This patch changes the way RewriteStatepointsForGC pass creates gc_relocate. For each relocated pointer, we erase the type of pointers and create an unified gc_relocate of type i8 addrspace(1)*. Then a bitcast is inserted to convert the gc_relocate to the correct type. In this way, gc_relocate does not need to deal with different types of pointers and the unsupported type mangling is no longer a problem. This change would also ease further merge when LLVM erases types of pointers and introduces an unified pointer type. Some minor changes are also introduced to gc_relocate related part in InstCombineCalls, CodeGenPrepare, and Verifier accordingly. Patch by Chen Li! Reviewers: reames, AndyAyers, sanjoy Reviewed By: sanjoy Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D9592 llvm-svn: 237009
* LiveRangeCalc: Improve error messages on malformed IRMatthias Braun2015-05-111-1/+7
| | | | llvm-svn: 237008
* [cuda] Fixed test case failure on s390xArtem Belevich2015-05-111-2/+2
| | | | llvm-svn: 237007
* os.path.join does not always work for paths on remote platforms.Chaoren Lin2015-05-116-18/+28
| | | | | | | | | | | | | | | | Summary: Since we don't yet have remote windows debugging, it should be safe to assume that the remote target uses unix path separators. Reviewers: ovyalov, zturner, clayborg, vharron Reviewed By: vharron Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9633 llvm-svn: 237006
* CodeGen: Make MachineInstr::untieRegOperand() a public functionTom Stellard2015-05-111-6/+7
| | | | | | | | This makes it easier to update in place instructions with tied operands. Differential Revision: http://reviews.llvm.org/D9231 llvm-svn: 237005
* [X86] Updates to X86 backend for f16 promotionPirama Arumuga Nainar2015-05-112-7/+223
| | | | | | | | | | | | | | | | | | | | | | | Summary: r235215 adds support for f16 to be considered as a load/store type and promote f16 operations to f32. This patch has miscellaneous fixes for the X86 backend so all f16 operations are handled: 1. Set loadextaction for f16 vectors to expand. 2. Handle FP_EXTEND in a switch statement when handling v2f32 3. Do not fold (FP_TO_SINT (load f16)) into FP_TO_INT*_IN_MEM or (store (SINT_TO_FP )) to a FILD. Tests included. Reviewers: ab, srhines, delena Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D9092 llvm-svn: 237004
* Revert "Allow -target= and --target options"Richard Barton2015-05-112-8/+2
| | | | | | | | | After mailing list discussion on 11-13 March we would prefer to stick to a single spelling of the long option. This reverts commit 30035fe1a7c759c89ee62eb46efce6b3790fcc08. llvm-svn: 237003
OpenPOWER on IntegriCloud