summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* AArch64_BE test case for predefined macrosChristian Pirker2014-03-242-5/+112
| | | | llvm-svn: 204604
* Use --whole-archive linker option for minw too.Hafiz Abid Qadeer2014-03-241-0/+3
| | | | | | It is already used for Linux and FreeBSD. llvm-svn: 204603
* [CMake] Rename the variableAlexey Samsonov2014-03-245-5/+5
| | | | llvm-svn: 204602
* Removed a redundant entry.Hafiz Abid Qadeer2014-03-241-4/+0
| | | | | | | Revision 203667 has already added lldbHostWindows.a to USEDLIBS. Revision 203785 just ended up adding a redundant entry. llvm-svn: 204601
* [NVPTX] Add isel patterns for addrspacecastJustin Holewinski2014-03-243-0/+163
| | | | llvm-svn: 204600
* Fix a compile-time warningTimur Iskhodzhanov2014-03-241-4/+0
| | | | | | lib/CodeGen/CGBuiltin.cpp:3136:12: warning: variable ‘TblPos’ set but not used [-Wunused-but-set-variable] llvm-svn: 204599
* Update release notes with EHABI current behaviourRenato Golin2014-03-241-2/+1
| | | | llvm-svn: 204598
* Fix a VS compile-time warningTimur Iskhodzhanov2014-03-241-2/+1
| | | | | | warning C4345: behavior change: an object of POD type constructed with an initializer of the form () will be default-initialized llvm-svn: 204597
* Revert r204562,204566,204586,204587 as they broke ASan on WindowsTimur Iskhodzhanov2014-03-249-984/+29
| | | | llvm-svn: 204596
* A fix for sanitizers' TLS support on FreeBSDViktor Kutuzov2014-03-241-6/+15
| | | | llvm-svn: 204595
* [PowerPC] Don't schedule VSX copy legalization unless VSX is enabledHal Finkel2014-03-241-1/+2
| | | | | | There is no need to schedule this extra pass if it will have nothing to do. llvm-svn: 204594
* [CMake] Respect CMAKE_CXX_FLAGS in custom clang_compile commandsAlexey Samsonov2014-03-245-11/+21
| | | | llvm-svn: 204593
* Make MSan unittest -Werror=sign-compare cleanAlexey Samsonov2014-03-241-40/+43
| | | | llvm-svn: 204592
* [PowerPC] Update comment re: VSX copy-instruction selectionHal Finkel2014-03-241-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've done some experimentation with this, and it looks like using the lower-latency (but lower throughput) copy instruction is essentially always the right thing to do. My assumption is that, in order to be relatively sure that the higher-latency copy will increase throughput, we'd want to have it unlikely to be in-flight with its use. On the P7, the global completion table (GCT) can hold a maximum of 120 instructions, shared among all active threads (up to 4), giving 30 instructions per thread. So specifically, I'd require at least that many instructions between the copy and the use before the high-latency variant is used. Trying this, however, over the entire test suite resulted in zero cases where the high-latency form would be preferable. This may be a consequence of the fact that the scheduler views copies as free, and so they tend to end up close to their uses. For this experiment I created a function: unsigned chooseVSXCopy(MachineBasicBlock &MBB, MachineBasicBlock::iterator I, unsigned DestReg, unsigned SrcReg, unsigned StartDist = 1, unsigned Depth = 3) const; with an implementation like: if (!Depth) return PPC::XXLOR; const unsigned MaxDist = 30; unsigned Dist = StartDist; for (auto J = I, JE = MBB.end(); J != JE && Dist <= MaxDist; ++J) { if (J->isTransient() && !J->isCopy()) continue; if (J->isCall() || J->isReturn() || J->readsRegister(DestReg, TRI)) return PPC::XXLOR; ++Dist; } // We've exceeded the required distance for the high-latency form, use it. if (Dist > MaxDist) return PPC::XVCPSGNDP; // If this is only an exit block, use the low-latency form. if (MBB.succ_empty()) return PPC::XXLOR; // We've reached the end of the block, check the successor blocks (up to some // depth), and use the high-latency form if that is okay with all successors. for (auto J = MBB.succ_begin(), JE = MBB.succ_end(); J != JE; ++J) { if (chooseVSXCopy(**J, (*J)->begin(), DestReg, SrcReg, Dist, --Depth) == PPC::XXLOR) return PPC::XXLOR; } // All of our successor blocks seem okay with the high-latency variant, so // we'll use it. return PPC::XVCPSGNDP; and then changed the copy opcode selection from: Opc = PPC::XXLOR; to: Opc = chooseVSXCopy(MBB, std::next(I), DestReg, SrcReg); In conclusion, I'm removing the FIXME from the comment, because I believe that there is, at least absent other examples, nothing to fix. llvm-svn: 204591
* [asan] Disable setjmp/sigsetjmp tests.Evgeniy Stepanov2014-03-241-3/+5
| | | | | | Failing due to PR19207. llvm-svn: 204590
* [asan] Fix a comment.Evgeniy Stepanov2014-03-241-2/+3
| | | | llvm-svn: 204589
* Driver: Fix a typo in a command line descriptionDavid Majnemer2014-03-241-2/+2
| | | | | | Thanks to Richard Smith for catching this! llvm-svn: 204588
* CodeGen: Remove unneeded directivesDavid Majnemer2014-03-242-35/+16
| | | | | | | | | Use two check-prefix patterns per FileCheck invocation for these tests, this cleanly removes redundant CHECK directives. Thanks to Richard Smith for the idea! llvm-svn: 204587
* MS ABI: Add tests, other cleanups for r204562David Majnemer2014-03-243-63/+783
| | | | | | | | | | | | | This commit cleans up a few accidents: - Do not rely on the order in which StringLiteral lays out bytes. - Use a more efficient mechanism for handling so-called "special-mappings" when mangling string literals. - There is no need to allocate a copy of the mangled name. - Add the test written for r204562. Thanks to Richard Smith for pointing these out! llvm-svn: 204586
* Update for llvm change.Rafael Espindola2014-03-243-13/+13
| | | | llvm-svn: 204585
* Teach llvm-readobj to print human friendly description of reserved sections.Rafael Espindola2014-03-2424-68/+88
| | | | llvm-svn: 204584
* Allow constant folding of ceil function whenever feasibleKarthik Bhat2014-03-242-0/+59
| | | | llvm-svn: 204583
* Add back tests that were reverted in r204203.Rafael Espindola2014-03-241-11/+56
| | | | | | They pass again with the fix in r204581. llvm-svn: 204582
* Propagate section from base to derived symbol.Rafael Espindola2014-03-243-27/+22
| | | | | | | | | | | | We were already propagating the section in a = b With this patch we also propagate it for a = b + 1 llvm-svn: 204581
* InstrProf: Silence spurious warnings in GCC 4.8Duncan P. N. Exon Smith2014-03-241-9/+13
| | | | | | No functionality change. llvm-svn: 204580
* SupportTests.LockFileManagerTest: Add assertions for Win32.NAKAMURA Takumi2014-03-231-2/+16
| | | | | | | - create_link doesn't work for nonexistent file. - remove cannot remove working directory. llvm-svn: 204579
* Remove unused diagnostic.Benjamin Kramer2014-03-231-2/+0
| | | | llvm-svn: 204578
* Fix tests in r204576Nico Rieck2014-03-232-8/+8
| | | | | | Proper redeclaration warnings for dllimport are not implemented yet. llvm-svn: 204577
* Treat dllimport globals without explicit storage class as externNico Rieck2014-03-233-0/+92
| | | | | | | dllimport implies a definition which means the 'extern' keyword is optional when declaring imported variables. llvm-svn: 204576
* ARM: no need to update SplatBits as it is not usedArnaud A. de Grandmaison2014-03-231-3/+0
| | | | llvm-svn: 204575
* Add missing file from r204570.Richard Smith2014-03-231-0/+5
| | | | llvm-svn: 204574
* llvm-profdata: Check for bad data in the show commandJustin Bogner2014-03-232-0/+4
| | | | llvm-svn: 204573
* Consistently dump default template arguments for template parameters as ↵Richard Smith2014-03-232-7/+15
| | | | | | 'TemplateArgument's. llvm-svn: 204572
* llvm-profdata: Use Format.h instead of handrolling a formatterJustin Bogner2014-03-231-19/+2
| | | | llvm-svn: 204571
* If a name is injected into an imported inline namespace without reopening thatRichard Smith2014-03-234-3/+21
| | | | | | | namespace, we need to update both the visible names of that namespace and of its enclosing namespace set. llvm-svn: 204570
* Cleanup dead assignments reported by scan-buildArnaud A. de Grandmaison2014-03-233-8/+2
| | | | llvm-svn: 204569
* When we inject a declaration into a namespace, add the primary DeclContext toRichard Smith2014-03-234-1/+14
| | | | | | | the update set rather than the current DeclContext. Add test for the local extern case too. llvm-svn: 204568
* Simplify test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp by ↵Timur Iskhodzhanov2014-03-231-253/+250
| | | | | | | | forcing VFTableBuilder invocation with virtual function calls or constructors codegen Previously the vftables were built at the end of the TU in a reverse-to-random order llvm-svn: 204567
* CodeGen: Make string tests exercise the MS ABIDavid Majnemer2014-03-232-2/+29
| | | | | | | r204562 unwittingly failed tests for some bots. Make those tests work with both the Itanium and MS ABIs. llvm-svn: 204566
* WinCOFF: Add support for -ffunction-sectionsDavid Majnemer2014-03-232-4/+17
| | | | | | | | This is a pretty straight forward translation for COFF, we just need to stick the function in a COMDAT section marked as IMAGE_COMDAT_SELECT_NODUPLICATES. llvm-svn: 204565
* Driver: Map /Gy to -ffunction-sectionsDavid Majnemer2014-03-232-4/+10
| | | | | | | | | | /Gy is equivalent to -ffunction-sections. /Gy- is equivalent to -fno-function-sections. Currently, LLVM doesn't do anything interesting with -ffunction-sections under WinCOFF. llvm-svn: 204564
* Driver: cleanup /vd2 testDavid Majnemer2014-03-231-1/+3
| | | | | | | | /vd2 is not ignored anymore, remove it from the ignored list. Add a test to ensure that it does the right thing. llvm-svn: 204563
* MS ABI: Eliminate Duplicate StringsDavid Majnemer2014-03-236-21/+248
| | | | | | | | | | | | | | | | | | | | | COFF doesn't have mergeable sections so LLVM/clang's normal tactics for string deduplication will not have any effect. To remedy this we place each string inside it's own section and mark the section as IMAGE_COMDAT_SELECT_ANY. However, we can only do this if the string has an external name that we can generate from it's contents. To be compatible with MSVC, we must use their scheme. Otherwise identical strings in translation units from clang may not be deduplicated with translation units in MSVC. This fixes PR18248. N.B. We will not attempt to do anything with a string literal which is not of type 'char' or 'wchar_t' because their compiler does not support unicode string literals as of this date. llvm-svn: 204562
* remove a bunch of unused private methodsNuno Lopes2014-03-237-42/+0
| | | | | | | | | | | | | | | | | | found with a smarter version of -Wunused-member-function that I'm playwing with. Appologies in advance if I removed someone's WIP code. ARCMigrate/TransProperties.cpp | 8 ----- AST/MicrosoftMangle.cpp | 1 Analysis/AnalysisDeclContext.cpp | 5 --- Analysis/LiveVariables.cpp | 14 ---------- Index/USRGeneration.cpp | 10 ------- Sema/Sema.cpp | 33 +++++++++++++++++++++--- Sema/SemaChecking.cpp | 3 -- Sema/SemaDecl.cpp | 20 ++------------ StaticAnalyzer/Checkers/GenericTaintChecker.cpp | 1 9 files changed, 34 insertions(+), 61 deletions(-) llvm-svn: 204561
* remove a bunch of unused private methodsNuno Lopes2014-03-2324-261/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | found with a smarter version of -Wunused-member-function that I'm playwing with. Appologies in advance if I removed someone's WIP code. include/llvm/CodeGen/MachineSSAUpdater.h | 1 include/llvm/IR/DebugInfo.h | 3 lib/CodeGen/MachineSSAUpdater.cpp | 10 -- lib/CodeGen/PostRASchedulerList.cpp | 1 lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 10 -- lib/IR/DebugInfo.cpp | 12 -- lib/MC/MCAsmStreamer.cpp | 2 lib/Support/YAMLParser.cpp | 39 --------- lib/TableGen/TGParser.cpp | 16 --- lib/TableGen/TGParser.h | 1 lib/Target/AArch64/AArch64TargetTransformInfo.cpp | 9 -- lib/Target/ARM/ARMCodeEmitter.cpp | 12 -- lib/Target/ARM/ARMFastISel.cpp | 84 -------------------- lib/Target/Mips/MipsCodeEmitter.cpp | 11 -- lib/Target/Mips/MipsConstantIslandPass.cpp | 12 -- lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp | 21 ----- lib/Target/NVPTX/NVPTXISelDAGToDAG.h | 2 lib/Target/PowerPC/PPCFastISel.cpp | 1 lib/Transforms/Instrumentation/AddressSanitizer.cpp | 2 lib/Transforms/Instrumentation/BoundsChecking.cpp | 2 lib/Transforms/Instrumentation/MemorySanitizer.cpp | 1 lib/Transforms/Scalar/LoopIdiomRecognize.cpp | 8 - lib/Transforms/Scalar/SCCP.cpp | 1 utils/TableGen/CodeEmitterGen.cpp | 2 24 files changed, 2 insertions(+), 261 deletions(-) llvm-svn: 204560
* [PowerPC] Make use of VSX f64 <-> i64 conversion instructionsHal Finkel2014-03-234-6/+111
| | | | | | | When VSX is available, these instructions should be used in preference to the older variants that only have access to the scalar floating-point registers. llvm-svn: 204559
* Revert r204076 for now - it caused significant regressions in a number ofLang Hames2014-03-233-104/+82
| | | | | | | | benchmarks. <rdar://problem/16368461> llvm-svn: 204558
* InstrProf: Check pointer size in raw profileDuncan P. N. Exon Smith2014-03-236-15/+219
| | | | | | | | | | | | | | | Since the profile can come from 32-bit machines, we need to check the pointer size. Change the magic number to facilitate this. Adds tests for reading 32-bit and 64-bit binaries (both big- and little-endian). The tests write a binary using printf in RUN lines (like raw-magic-but-no-header.test). Assuming the bots don't complain, this seems like a better way forward for testing RawInstrProfReader than committing binary files. <rdar://problem/16400648> llvm-svn: 204557
* InstrProf: Indicate pointer size in raw profileDuncan P. N. Exon Smith2014-03-231-4/+6
| | | | | | | | | Since the profile can come from 32-bit machines, the reader needs to check the pointer size. Change the magic number to facilitate this. <rdar://problem/16400648> llvm-svn: 204556
* Propagate types from symbol to aliases.Rafael Espindola2014-03-232-1/+179
| | | | | | | | | | | | | | | | | | | | | | | This is similar, but not identical to what gas does. The logic in MC is to just compute the symbol table after parsing the entire file. GAS is mixed, given .type b, @object a = b b: .type b, @function It will propagate the change and make 'a' a function. Given .type b, @object b: a = b .type b, @function the type of 'a' is still object. Since we do the computation in the end, we produce a function in both cases. llvm-svn: 204555
OpenPOWER on IntegriCloud