summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [AArch64] Keep flags on condition vreg when instantiating a CB branch.Ahmed Bougacha2014-11-072-1/+28
| | | | | | | | | | Reversing a CB* instruction used to drop the flags on the condition. On the included testcase, this lead to a read from an undefined vreg. Using addOperand keeps the flags, here <undef>. Differential Revision: http://reviews.llvm.org/D6159 llvm-svn: 221507
* Disable a Mach-O test on Windows that depends on Unix path separator.Rui Ueyama2014-11-071-2/+5
| | | | llvm-svn: 221506
* Add missing -target triple to ELF tests.Rui Ueyama2014-11-072-2/+3
| | | | llvm-svn: 221505
* XFAIL elf/demangle.test on Windows.Rui Ueyama2014-11-071-1/+3
| | | | | | Because LLD on that platform can't demangle symbols. llvm-svn: 221504
* Use a StringRefMemoryObject. NFC.Rafael Espindola2014-11-071-26/+3
| | | | llvm-svn: 221503
* Use StringRefMemoryObject. NFC.Rafael Espindola2014-11-071-34/+5
| | | | llvm-svn: 221502
* LoopVectorize: Don't assume pointees are sizedDavid Majnemer2014-11-072-1/+31
| | | | | | | | | | A pointer's pointee might not be sized: the pointee could be a function. Report this as IK_NoInduction when calculating isInductionVariable. This fixes PR21508. llvm-svn: 221501
* [PECOFF] Improve subsystem inferenceRui Ueyama2014-11-064-19/+78
| | | | | | | | | | | | | | | | | | | | | | | | | If /subsystem option is not given, the linker needs to infer the subsystem based on the entry point symbol. If it fails to infer that, the linker should error out on it. LLD was almost correct, but it would fail to infer the subsystem if the entry point is specified with /entry. This is because the subsystem inference was coupled with the entry point function searching (if no entry point name is specified, the linker needs to find the right entry name). This patch makes the subsystem inference an independent pass to fix the issue. Now, as long as an entry point function is defined, LLD can infer the subsystem no matter how it resolved the entry point. I don't think scanning all the defined symbols is fast, although it shouldn't be that slow. The file class there does not provide any easy way to find an atom by name, so this is what we can do at this moment. I'd like to revisit this later to make it more efficient. llvm-svn: 221499
* InstCombine: Rely on cmpxchg's return code when it's strongDavid Majnemer2014-11-062-0/+27
| | | | | | | Comparing the result of a cmpxchg instruction can be replaced with an extractvalue of the cmpxchg success indicator. llvm-svn: 221498
* Remove unused variable. NFC.Rafael Espindola2014-11-061-1/+0
| | | | llvm-svn: 221497
* Fixes so tests compile and run remotely.Greg Clayton2014-11-0611-48/+51
| | | | | | | | | | Fixes include: - dont set or change LDFLAGS, but set LD_EXTRAS instead - fix compilation errors for iOS based builds with objective C code - fix test cases to create classes instead of relying on classes from AppKit - rename things where it makes sense llvm-svn: 221496
* Don't repeat names in comments. NFC.Rafael Espindola2014-11-061-70/+56
| | | | llvm-svn: 221495
* Changed program to go along with the previous commit to allow this test to ↵Greg Clayton2014-11-061-12/+13
| | | | | | be run remotely via lldb-platform. llvm-svn: 221494
* Fix the test to not have to run the binary separately first to get the ↵Greg Clayton2014-11-061-19/+26
| | | | | | | | golden output, use the process STDOUT instead. This helps this test be able to be run remotely. llvm-svn: 221493
* Make sure stderr is filtered out in case xcodebuild or xcrun print errors ↵Greg Clayton2014-11-061-1/+1
| | | | | | when getting the SDK path and use xcrun to find the SDK path. llvm-svn: 221492
* [ELF][yaml2obj] Handle additional MIPS specific st_other field flagsSimon Atanasyan2014-11-065-5/+49
| | | | | | | | The ELF symbol `st_other` field might contain additional flags besides visibility ones. This patch implements support for some MIPS specific flags. llvm-svn: 221491
* Factor out call to push_back. NFC.Rafael Espindola2014-11-061-3/+5
| | | | llvm-svn: 221490
* [X86][SSE] Vector integer/float conversion memory folding (cvttps2dq / ↵Simon Pilgrim2014-11-062-2/+44
| | | | | | | | | | | | cvttpd2dq) Fixed an issue with the (v)cvttps2dq and (v)cvttpd2dq instructions being incorrectly put in the 2 source operand folding tables instead of the 1 source operand and added the missing SSE/AVX versions. Also added missing (v)cvtps2dq and (v)cvtpd2dq instructions to the folding tables. Differential Revision: http://reviews.llvm.org/D6001 llvm-svn: 221489
* [X86] Add VFMADDSUB cases for the 213->231 custom inserter.Ahmed Bougacha2014-11-062-0/+255
| | | | | | Also add tests for vfmadd/vfmsub. llvm-svn: 221488
* [X86] Add missing FMA3 VFMADDSUB in the emitter.Ahmed Bougacha2014-11-062-34/+76
| | | | | | Also reuse the fma4 intrinsic test to cover fma3 instructions too. llvm-svn: 221487
* This is a large, but clearical, commit that enables the C++ formatters to ↵Enrico Granata2014-11-0612-100/+108
| | | | | | take on the additional TypeSummaryOptions argument. It is still not used for anything, but it is now there. Adding support for this extra argument to Python formatters will follow suit llvm-svn: 221486
* Object, COFF: Don't consider AuxFunctionDefinition for getSymbolSizeDavid Majnemer2014-11-061-10/+0
| | | | | | | mingw lies about the size of a function's AuxFunctionDefinition. Ignore the field and rely on our heuristic to determine the symbol's size. llvm-svn: 221485
* [X86] Split FMA4 RM tests into a separate file. NFC.Ahmed Bougacha2014-11-062-104/+116
| | | | | | While there, remove useless comments. llvm-svn: 221484
* Fix formattingTobias Grosser2014-11-061-3/+4
| | | | llvm-svn: 221483
* Introduce the notion of "type summary options" as flags that can be passed ↵Enrico Granata2014-11-0615-2/+341
| | | | | | | | | | | | | down to individual summary formatters to alter their behavior in a formatter-dependent way Two flags are introduced: - preferred display language (as in, ObjC vs. C++) - summary capping (as in, should a limit be put to the amount of data retrieved) The meaning - if any - of these options is for individual formatters to establish The topic of a subsequent commit will be to actually wire these through to individual data formatters llvm-svn: 221482
* Return a DIDescriptor from CGDebugInfo::getDeclarationOrDefinition...Frederic Riss2014-11-062-5/+5
| | | | | | | ... instead of a DIScope that might wrap something that's not actually a DIScope (eg. a DIGlobalVariable); llvm-svn: 221481
* Base check on the section name, not the variable name.Rafael Espindola2014-11-062-10/+12
| | | | | | | | The variable is private, so the name should not be relied on. Also, the linker uses the sections, so asan should too when trying to avoid causing the linker problems. llvm-svn: 221480
* Explicitly annotate loops we want to run thread-parallelTobias Grosser2014-11-0626-35/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We introduces a new flag -polly-parallel and use it to annotate the for-nodes in the isl ast that we want to execute thread parallel (e.g., using OpenMP). We previously already emmitted openmp annotations, but we did this for various kinds of parallel loops, including some which we can not run in parallel. With this patch we now have three annotations: 1) #pragma known-parallel [reduction] 2) #pragma omp for 3) #pragma simd meaning: 1) loop has no loop carried dependences 2) loop will be executed thread-parallel 3) loop can possibly be vectorized This patch introduces 1) and reduces the use of 2) to only the cases where we will actually generate thread parallel code. It is in preparation of openmp code generation in our isl backend. Legacy: - We also have a command line option -enable-polly-openmp. This option controls the OpenMP code generation in CLooG. It will become an alias of -polly-parallel after the CLooG code generation has been dropped. http://reviews.llvm.org/D6142 llvm-svn: 221479
* remove unneeded { }Nick Kledzik2014-11-061-2/+1
| | | | llvm-svn: 221478
* [mach-o] Add support for -force_load optionNick Kledzik2014-11-063-0/+45
| | | | | | | | The darwin linker has two ways to force all members of an archive to be loaded. The -all_load option applies to all static libraries. The -force_load takes a path to a library and just that library's members are force loaded. llvm-svn: 221477
* Handle types from the runtime that conform toSean Callanan2014-11-063-1/+48
| | | | | | | | protocols. <rdar://problem/18883778> llvm-svn: 221476
* [RegAlloc] Remove reference to the trivial spiller in test case.Lang Hames2014-11-061-2/+1
| | | | | | | This test case was never actually testing the trivial spiller: the -spiller option has not been hooked up for a while now. llvm-svn: 221475
* [RegAlloc] Kill off the trivial spiller - nobody is using it any more.Lang Hames2014-11-064-189/+5
| | | | llvm-svn: 221474
* [mach-o] Update test case to work with latest llvm-objdump output for ARM thumbKevin Enderby2014-11-061-1/+1
| | | | | | | | | code. Same basic change that was done in r218429 for ARM code. Where the ARM thumb symbolizer in llvm-objdump’s Mach-O disassembler is now plumbed in with r221470 from the llvm trunk. llvm-svn: 221473
* Indentation fixesMichael Liao2014-11-061-38/+38
| | | | llvm-svn: 221472
* Try to appease MSVC buildbots after r221466.Frederic Riss2014-11-061-1/+1
| | | | llvm-svn: 221471
* Plumb in the ARM thumb symbolizer in llvm-objdump’s Mach-O disassembler andKevin Enderby2014-11-066-25/+259
| | | | | | | | | | | | add the code and test cases for 32-bit ARM symbolizer. Also fixed the printing of data in code as it was not using the table correctly and needed to fix one of the test cases too. This will break lld’s test/mach-o/arm-interworking-movw.yaml till the tweak for that is made. Which I’ll be committing immediately after this commit. llvm-svn: 221470
* [Sanitizer] Introduce "stack_trace_format" runtime flag.Alexey Samsonov2014-11-068-18/+34
| | | | | | | | | | | | | | | | This flag can be used to specify the format of stack frames - user can now provide a string with placeholders, which should be printed for each stack frame with placeholders replaced with actual data. For example "%p" will be replaced by PC, "%s" will be replaced by the source file name etc. "DEFAULT" value enforces default stack trace format currently used in all the sanitizers except TSan. This change also implements __sanitizer_print_stack_trace interface function in TSan. llvm-svn: 221469
* Pick better floating point numbers (ones that can be exactly represented) in ↵Greg Clayton2014-11-062-9/+9
| | | | | | | | floating point instead of something that can't to avoid test suite failures on different devices and architectures. <rdar://problem/18826900> llvm-svn: 221468
* fixed minor code indenting http://reviews.llvm.org/D6127Shawn Best2014-11-061-4/+3
| | | | llvm-svn: 221467
* Change DIBuilder::createImportedDeclaration from taking a DIScope to a ↵Frederic Riss2014-11-062-3/+6
| | | | | | | | | | DIDescriptor. Imported declarations can be DIGlobalVariables which aren't a DIScope. Today clang (unknowingly I believe) shoehorns these into a DIScope and it all works just because we never access the fields. llvm-svn: 221466
* [Hexagon] Adding basic Hexagon ELF object emitter.Colin LeMahieu2014-11-067-4/+192
| | | | llvm-svn: 221465
* Clean up NVPTXLowerStructArgs.cpp. NFCEli Bendersky2014-11-061-54/+37
| | | | | | | | | * Remove unnecessary const_casts and C-style casts * Simplify attribute access code * Simplify ArrayRef creation * 80-col and clang-format llvm-svn: 221464
* [mips] Removed IsSoftFloat from MipsISelLowering::analyzeCallOperands(). NFCDaniel Sanders2014-11-062-6/+5
| | | | | | | | | | | | | | | | | Summary: It isn't used anymore. Depends on D6081 Reviewers: vmedic Reviewed By: vmedic Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6083 llvm-svn: 221463
* [Reassociate] Don't reassociate when mixing regular and fast-math FPChad Rosier2014-11-062-3/+27
| | | | | | | | | instructions. Inlining might cause such cases and it's not valid to reassociate floating-point instructions without the unsafe algebra flag. Patch by Mehdi Amini <mehdi_amini@apple.com>! llvm-svn: 221462
* [mips] Removed MipsISelLowering::analyzeFormalArguments() in favour of ↵Daniel Sanders2014-11-062-33/+8
| | | | | | | | | | | | | | | | | | | CCState::AnalyzeFormalArguments() Summary: As with returns, we must be able to identify f128 arguments despite them being lowered away. We do this with a pre-analyze step that builds a vector and then we use this vector from the tablegen-erated code. Reviewers: vmedic Reviewed By: vmedic Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6081 llvm-svn: 221461
* Add support for UNSUPPORTED tag to litEric Fiselier2014-11-061-1/+12
| | | | llvm-svn: 221460
* Use FileCheck in a few tests.Rafael Espindola2014-11-069-13/+36
| | | | llvm-svn: 221459
* Remove references to the cortex-a9-mp CPU.Charlie Turner2014-11-063-5/+4
| | | | | | | | | | This CPU definition is redundant. The Cortex-A9 is defined as supporting multiprocessing extensions. Remove references to this CPU. This CPU was recently removed from LLVM. See http://reviews.llvm.org/D6057 Change-Id: I62ae7cc656fcae54fbaefc4b6976e77e694a8678 llvm-svn: 221458
* Use GET_CURRENT_FRAME() to calculate the memory layout for power. This worksWill Schmidt2014-11-063-8/+40
| | | | | | | | | | | | | for both PPC64 Big and Little endian modes, so also eliminates the need for the BIG_ENDIAN/LITTLE_ENDIAN #ifdeffery. By trial and error, it also looks like the kPPC64_ShadowOffset64 value is valid using (1ULL << 41) for both BE and LE, so that #if/#elif/#endif block has also been simplified. Differential Revision: http://reviews.llvm.org/D6044 llvm-svn: 221457
OpenPOWER on IntegriCloud