summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Speculative build fix for lld on WindowsHans Wennborg2015-04-132-3/+2
| | | | | | | | | | | | | | | | I can't access my Windows machine at the moment, but the build was breaking with: c:\b\build\slave\crwinclanglld\build\src\third_party\llvm\tools\lld\lib\readerwriter\elf\mips\MipsTargetLayout.h(38) : error C2440: 'return' : cannot convert from 'lld::elf::MipsGOTSection<ELFT> *' to 'lld::elf::AtomSection<ELFT> *' with [ ELFT=lld::elf::Mips32ELType ] Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast I think this regressed caused in 234727: that the forward-declarations of MipsGOTSection<> is not enough. llvm-svn: 234736
* [ARM] Align global variables passed to memory intrinsicsJohn Brawn2015-04-133-16/+66
| | | | | | | | | | Fill in the TODO in CodeGenPrepare::OptimizeCallInst so that global variables that are passed to memory intrinsics are aligned in the same way that allocas are. Differential Revision: http://reviews.llvm.org/D8421 llvm-svn: 234735
* Add r234615 back, but make sure outs() is binary.Rafael Espindola2015-04-131-25/+21
| | | | | | | | | | | Original message. Have one raw_fd_ostream constructor forward to the other. This fixes some odd behaviour differences between the two. In particular, the version that takes a FD no longer unconditionally sets stdout to binary. llvm-svn: 234734
* [ARM] Use std::call_once for thread safe initializationDenis Protivensky2015-04-131-20/+18
| | | | | | Thanks to r234628 & r234631 llvm-svn: 234733
* [ARM] Replace branch to unreachable with assertionDenis Protivensky2015-04-131-3/+2
| | | | llvm-svn: 234732
* Reformat.NAKAMURA Takumi2015-04-131-3/+3
| | | | llvm-svn: 234731
* Revert r234620 and others, "Actually check if lseek works instead of using a ↵NAKAMURA Takumi2015-04-132-16/+6
| | | | | | | | | | filename based heuristic." It was affected by r234615, which was reverted in r234721. r234620, "Actually check if lseek works instead of using a filename based heuristic." r234621, "Testcase for the previous commit." r234718, "Suppress clang/test/PCH/emit-pth.c on win32, for now while investigating." llvm-svn: 234730
* [Mips] Explicitly instantiate MipsELFFile template classSimon Atanasyan2015-04-133-0/+37
| | | | | | Use explicit instantiation to reduce object files size. llvm-svn: 234729
* [Mips] Create MipsTargetHandler class object using factory functionsSimon Atanasyan2015-04-135-6/+47
| | | | | | | | | | | | | Right now MIPS instantiates MipsTargetHandler using Mips32ELType and Mips64ELType. And in the future we can add a couple more types. That leads to the large object file size because compiler has to create copies of MipsTargetHandler and all realted classes for each types used for instantiation. The patch introduces two factory functions and puts each of them into the separate cpp file. That allows to reduce size of single object file. llvm-svn: 234728
* [Mips] Move `MipsTargetLayout` class to the separate headerSimon Atanasyan2015-04-134-75/+97
| | | | llvm-svn: 234727
* [Mips] Support R_MICROMIPS_GOT_HI/LO16 and R_MICROMIPS_CALL_HI/LO16 relocationsSimon Atanasyan2015-04-134-3/+334
| | | | llvm-svn: 234726
* [Mips] Support R_MIPS_CALL_HI16 / R_MIPS_CALL_LO16 relocations handlingSimon Atanasyan2015-04-133-4/+123
| | | | llvm-svn: 234725
* [Mips] Support R_MIPS_GOT_HI16 / R_MIPS_GOT_LO16 relocations handlingSimon Atanasyan2015-04-133-2/+135
| | | | llvm-svn: 234724
* [Mips] Add more checkings to the test caseSimon Atanasyan2015-04-131-13/+54
| | | | | | No functional changes. llvm-svn: 234723
* [OPENMP] Initial codegen for 'parallel for' directive.Alexey Bataev2015-04-132-3/+412
| | | | | | | Allows generation of combined 'parallel for' directive that represents 'parallel' region with internal implicit 'for' worksharing region. Differential Revision: http://reviews.llvm.org/D8631 llvm-svn: 234722
* Revert r234615, "Have one raw_fd_ostream constructor forward to the other."NAKAMURA Takumi2015-04-131-18/+24
| | | | | | | | | It broke MSVCRT hosts: LLVM :: Object/check_binary_output.ll LLVM :: Object/extract.ll llvm-svn: 234721
* [CMake] Uniquify LLVM_ABI_BREAKING_CHECKS. It reverts r233784, "[CMake] ↵NAKAMURA Takumi2015-04-131-2/+0
| | | | | | Cache in LLVMConfig.cmake." llvm-svn: 234720
* llvm/test/CodeGen/R600/fminnum.ll: Relax an expression for NaN on MSVCRT ↵NAKAMURA Takumi2015-04-131-1/+1
| | | | | | | | | like r204118. <stdin>:202:2: note: possible intended match here 2143289344(1.#QNAN0e+00), 2(2.802597e-45) llvm-svn: 234719
* Suppress clang/test/PCH/emit-pth.c on win32, for now while investigating.NAKAMURA Takumi2015-04-131-0/+3
| | | | | | MSVCRT's _lseek(SEEK_CUR) doesn't return -1 for raw_ostream::SupportSeeking. llvm-svn: 234718
* Revert "Verifier: Check for incompatible bit piece expressions"Duncan P. N. Exon Smith2015-04-134-90/+32
| | | | | | | | | | | | | This reverts commit r234698. This caused a use-after-free: `QueuedBitPieceExpressions` holds onto references to `DbgInfoIntrinsic`s and references them past where they're deleted (this is because the verifier is run as a function pass, and then `verifyTypeRefs()` is called during `doFinalization()`). I'll include a reduced crasher for `llc` when I recommit the check. llvm-svn: 234717
* R600: Make FMIN/MAXNUM legal on all asicsJan Vesely2015-04-125-2/+189
| | | | | | | | v2: Add tests Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> reviewer: arsenm llvm-svn: 234716
* R600: remove manual BFE optimizationJan Vesely2015-04-121-8/+2
| | | | | | | | Fixed since r233079 Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> reviewer: arsenm llvm-svn: 234715
* [MC] Write padding into fragments when -mc-relax-all flag is usedPetr Hosek2015-04-1217-37/+180
| | | | | | | | | | | | | | | | | | Summary: When instruction bundling is enabled and the -mc-relax-all flag is set, we can write bundle padding directly into fragments and avoid creating large number of fragments significantly reducing LLVM MC memory usage. Test Plan: Regression test attached Reviewers: eliben Subscribers: jfb, mseaborn Differential Revision: http://reviews.llvm.org/D8072 llvm-svn: 234714
* Allow loops in non-affine subregions -- SCoP ModelingJohannes Doerfert2015-04-1216-9/+1112
| | | | | | | | | | | This will allow the ScopInfo to build the polyhedral representation for non-affine regions that contain loops. Such loops are basically not visible in the SCoP representation. Accesses that are variant in such loops are therefor represented as non-affine accesses. Differential Revision: http://reviews.llvm.org/D8153 llvm-svn: 234713
* [FIX] Change old diagnostic outputJohannes Doerfert2015-04-121-1/+1
| | | | llvm-svn: 234712
* Allow loops in non-affine subregions -- SCoP DetectionJohannes Doerfert2015-04-123-26/+116
| | | | | | | | | | | | | | | | | This will allow the ScopDetection to detect non-affine regions that contain loops. All loops contained will be collected and are accessible to later passes in order to adjust the access functions. As the loops are non-affine and will not be part of the polyhedral representation later, all accesses that are variant in these loops have to be over approximated as non-affine accesses. They are therefore handled the same way as other non-affine accesses. Additionally, we do not count non-affine loops for the profitability heuristic, thus a region with only a non-affine loop will only be detected if the general detection of loop free regions is enabled. Differential Revision: http://reviews.llvm.org/D8152 llvm-svn: 234711
* [Orc] Remove duplicate "then" in comment.Lang Hames2015-04-121-3/+3
| | | | llvm-svn: 234710
* [Orc] Fix out-of-date comment for the IRCompileLayer.Lang Hames2015-04-121-2/+2
| | | | llvm-svn: 234709
* fixing msvc build (format string z is not supported)Colin Riley2015-04-121-2/+2
| | | | llvm-svn: 234708
* [Orc] During module partitioning, rename anonymous and asm-private globals.Lang Hames2015-04-122-2/+58
| | | | | | | If they're not (re)named, these globals will fail to resolve when the partitioned modules are linked. llvm-svn: 234707
* Fix typo.Mark Lacey2015-04-121-1/+1
| | | | llvm-svn: 234706
* [PowerPC] Really iterate over all loops in PPCLoopDataPrefetch/PPCLoopPreIncPrepHal Finkel2015-04-123-14/+54
| | | | | | | | When I fixed these a couple of days ago to iterate over all loops, not just depth == 1 loops, I inadvertently made it such that we'd only look at the first top-level loop. Make sure that we really look at all of them. llvm-svn: 234705
* Make check_custom_wrappers.sh work on FreeBSDDimitry Andric2015-04-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: When running the compiler-rt testsuite on FreeBSD (it didn't matter which version), I always got the same error result: FAILED: cd /home/dim/obj/llvm-234092-trunk-freebsd10-amd64-ninja-rel-1/projects/compiler-rt/lib && LLVM_CHECKOUT=/home/dim/src/llvm/trunk SILENT=1 TMPDIR= PYTHON_EXECUTABLE=/usr/local/bin/python2.7 COMPILER_RT=/home/dim/src/llvm/trunk/projects/compiler-rt /home/dim/src/llvm/trunk/projects/compiler-rt/lib/sanitizer_common/scripts/check_lint.sh The following differences between the implemented custom wrappers and the tests have been found: --- /tmp/tmp.vPFEefvclf 2015-04-04 17:11:44.996734563 +0200 +++ /tmp/tmp.NbIuvjxKEe 2015-04-04 17:11:45.044734647 +0200 @@ -1,52 +0,0 @@ -calloc -clock_gettime -ctime_r -dfsan_set_write_callback -dl_iterate_phdr -dlopen -fgets -fstat -get_current_dir_name -getcwd -gethostname -getpwuid_r -getrlimit -getrusage -gettimeofday -inet_pton -localtime_r -memchr -memcmp -memcpy -memset -nanosleep -poll -pread -pthread_create -read -sched_getaffinity -select -sigaction -sigemptyset -snprintf -socketpair -sprintf -stat -strcasecmp -strchr -strcmp -strcpy -strdup -strlen -strncasecmp -strncmp -strncpy -strrchr -strstr -strtod -strtol -strtoll -strtoul -strtoull -time -write After some investigation, it turns out to be due to the regex used for search test_ symbols in lib/dfsan/scripts/check_customer_wrappers.sh: grep -E "^\\s*test_.*\(\);" ${DFSAN_CUSTOM_TESTS} This uses \s to search for whitespace at start of line, but support for \s was only introduced in GNU grep v2.5.4-112-gf979ca0, while both FreeBSD and OSX only have grep 2.5.1 (the last version released under GPLv2). I propose to change \s into [[:space:]], which is the more portable notation. Test Plan: Run regression tests, and see that they work now. :) Reviewers: pcc, samsonov, emaste Reviewed By: emaste Subscribers: llvm-commits, emaste Differential Revision: http://reviews.llvm.org/D8832 llvm-svn: 234704
* clang-cl: Expose -f[no-]diagnostics-colorHans Wennborg2015-04-122-2/+6
| | | | | | | If we have -f[no-]color-diagnostics, we might as well have these too. llvm-svn: 234702
* [LoopUnrollRuntime] Clean up a predicate.Sanjoy Das2015-04-122-3/+47
| | | | | | | | Clean up a predicate I added in r229731, fix the relevant comment and add a test case. The earlier version is confusing to read and was also buggy (probably not a coincidence) till Alexey fixed it in r233881. llvm-svn: 234701
* Revert r234581, it might have caused a few miscompiles in Chromium.Nico Weber2015-04-1123-419/+50
| | | | | | | If the revert helps, I'll get a repro this Monday. Else I'll put the change back in. llvm-svn: 234700
* DebugInfo: Make MDSubprogram::getFunction() return ConstantDuncan P. N. Exon Smith2015-04-118-60/+61
| | | | | | | | Change `MDSubprogram::getFunction()` and `MDGlobalVariable::getConstant()` to return a `Constant`. Previously, both returned `ConstantAsMetadata`. llvm-svn: 234699
* Verifier: Check for incompatible bit piece expressionsDuncan P. N. Exon Smith2015-04-114-32/+90
| | | | | | | | | Convert an assertion into a `Verifier` check. Bit piece expressions must fit inside the variable, and mustn't be the entire variable. Catching this in the verifier will help us find bugs sooner, and makes `DIVariable::getSizeInBits()` dead code. llvm-svn: 234698
* DebugInfo: Remove dead DIDescriptor::replaceAllUsesWith()Duncan P. N. Exon Smith2015-04-112-31/+0
| | | | | | | | r234696 replaced the only use of `DIDescriptor::replaceAllUsesWith()` with `DIBuilder::replaceTemporary()` (added in r234695). Delete the dead code. llvm-svn: 234697
* DebugInfo: Switch from replaceAllUsesWith() to replaceTemporary()Duncan P. N. Exon Smith2015-04-111-8/+8
| | | | | | | | Stop using `DIDescriptor`'s wrapper around `MDNode::replaceAllUsesWith()` (which is going away). The new home for this logic is `DIBuilder::replaceTemporary()`, added in LLVM r234695. llvm-svn: 234696
* DebugInfo: Introduce DIBuilder::replaceTemporary()Duncan P. N. Exon Smith2015-04-111-0/+17
| | | | | | | | | | | | Add `DIBuilder::replaceTemporary()` as a replacement for `DIDescriptor::replaceAllUsesWith()`. I'll update clang to use the new method, and then come back to delete the original. This method dispatches to `replaceAllUsesWith()` or `replaceWithUniqued()`, depending on whether the replacement is actually a different node from the original. llvm-svn: 234695
* Mark empty default constructors as =default if it makes the type PODBenjamin Kramer2015-04-118-13/+8
| | | | | | NFC llvm-svn: 234694
* DebugInfo: Assume a valid pointer for DISubprogram::getFunction()Duncan P. N. Exon Smith2015-04-111-3/+2
| | | | llvm-svn: 234693
* Make OnDiskChainedHashTableGenerator's Bucket type a POD type and reorder ↵Benjamin Kramer2015-04-111-5/+2
| | | | | | | | | fields to optimize padding For the common case of offset_type=unsigned this brings Bucket from 24 to 16 bytes. llvm-svn: 234692
* DebugInfo: Move DIScope::getName() and getContext() to MDScopeDuncan P. N. Exon Smith2015-04-114-40/+37
| | | | | | | | Continue gutting the `DIDescriptor` hierarchy. In this case, move the guts of `DIScope::getName()` and `DIScope::getContext()` to `MDScope::getName()` and `MDScope::getScope()`. llvm-svn: 234691
* [Sanitizer] Merge POSIXSymbolizer and WinSymbolizerKuba Brecka2015-04-113-29/+18
| | | | | | | | The two subclasses of Symbolizer now only define two virtual functions, PlatformDemangle and PlatformPrepareForSandboxing. Let's make these non-virtual and directly defined by individual platforms. Reviewed at http://reviews.llvm.org/D8912 llvm-svn: 234690
* Remove empty non-virtual destructors or mark them =default when non-publicBenjamin Kramer2015-04-1115-33/+8
| | | | | | These add no value but can make a class non-trivially copyable. NFC. llvm-svn: 234689
* Remove empty non-virtual destructors or mark them =default when non-publicBenjamin Kramer2015-04-1117-60/+37
| | | | | | These add no value but can make a class non-trivially copyable. NFC. llvm-svn: 234688
* clang/test/CodeGenCXX/static-data-member-single-emission.cpp: Tweak for MS ↵NAKAMURA Takumi2015-04-111-0/+1
| | | | | | mangler. llvm-svn: 234687
* [PowerPC] Disable part-word atomics on the P7Hal Finkel2015-04-112-18/+18
| | | | | | | As it turns out, even though these are part of ISA 2.06, the P7 does not support them (or, at least, not any P7s we're tested so far). llvm-svn: 234686
OpenPOWER on IntegriCloud