summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [opaque pointer type] Pass explicit type to Load instruction creation in ↵David Blaikie2015-05-205-13/+24
| | | | | | AutoUpgrade llvm-svn: 237838
* [Target/ARM] Only enable OptimizeBarrierPass at -O1 and above.Davide Italiano2015-05-203-2/+20
| | | | | | | | | | Ideally this is going to be and LLVM IR pass (shared, among others with AArch64), but for the time being just enable it if consumers ask us for optimization and not unconditionally. Discussed with Tim Northover on IRC. llvm-svn: 237837
* [lib/Fuzzer] more docsKostya Serebryany2015-05-201-2/+25
| | | | llvm-svn: 237836
* Refactored some common functionality into MaybeParseMicrosoftDeclSpecs; NFC.Aaron Ballman2015-05-204-61/+67
| | | | llvm-svn: 237835
* [lld] Use lit's shell to run tests on Windows by defaultReid Kleckner2015-05-202-3/+15
| | | | | | | | | | It's a lot faster than bash. Also use FileCheck instead of grep to search through a binary file. Cygwin's grep isn't working here for unknown reasons that probably aren't worth investigating. llvm-svn: 237834
* AsmParser: Require a terminating null character when creating memory buffer.Alex Lorenz2015-05-206-3/+76
| | | | | | | | | | | | | | | This commit modifies the memory buffer creation in the AsmParser library so that it requires a terminating null character. The LLLexer in the AsmParser library checks for EOF only when it sees a null character, thus it would be best to require it when creating a memory buffer so that the memory buffer constructor can verify that a terminating null character is indeed present. Reviewers: Duncan P. N. Exon Smith, Matthias Braun Differential Revision: http://reviews.llvm.org/D9883 llvm-svn: 237833
* Copy lit shell changes from clang to clang-tools-extra, excluding some ↵Reid Kleckner2015-05-202-3/+18
| | | | | | failing tests llvm-svn: 237832
* Default dst value for platform put-file.Chaoren Lin2015-05-201-2/+2
| | | | | | | | | | | | | | Summary: It should default to working-dir/src-filename if dst is not specified. Reviewers: clayborg, flackr Reviewed By: flackr Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9890 llvm-svn: 237831
* [opaque pointer type] LoadInst: assert that the explicit type matches the ↵David Blaikie2015-05-201-0/+1
| | | | | | implicit one llvm-svn: 237830
* MC: Remove most remaining uses of MCSymbolData::getSymbol(), NFCDuncan P. N. Exon Smith2015-05-202-11/+9
| | | | | | | Remove most remaining calls to `MCSymbolData::getSymbol()`, instead using the already available `MCSymbol` directly. llvm-svn: 237829
* [X86] Remove unused node after morphing it from shr to and.Benjamin Kramer2015-05-202-0/+18
| | | | | | | | | In some cases it won't get cleaned up properly leading to crashes downstream. PR23353. Based on a patch by Davide Italiano. llvm-svn: 237828
* Add bool to DebugLocDwarfExpression to control emitting comments.Pete Cooper2015-05-204-6/+17
| | | | | | | | | | | DebugLocDwarfExpression::EmitOp was creating temporary strings by concatenating Twine's. When emitting to object files, these comments are thrown away. This commit adds a boolean to the constructor of the DwarfExpression to control whether it will actually emit any comments. This prevents it from even generating the temporary comments which would have been thrown away anyway. llvm-svn: 237827
* MC: Stop using MCSymbolData::getSymbol() in WinCOFF, NFCDuncan P. N. Exon Smith2015-05-201-26/+23
| | | | | | Move APIs over from `MCSymbolData` to `MCSymbol`. llvm-svn: 237826
* Since the asan report function doesn't gather bp or sp, Jim Ingham2015-05-201-0/+4
| | | | | | | | | don't put those values in the Structured Data we make up from the report. <rdar://problem/21038887> llvm-svn: 237824
* Use a SmallString buffer instead of a std::string for debug info path ↵Pete Cooper2015-05-201-1/+3
| | | | | | | | | | | | lookup. NFC. This code appends the filename to the directory then looks that up in a StringMap. We should be using the existing Twine::toStringRef method instead of Twine::str() as most times we'll succeed in the lookup. Its possible that we should also consider allowing StringMap to lookup a key using a Twine in addition to a StringRef but that would complicate the code with little known benefit above and beyond this change. This saves 170k temporary allocations when running llc on the verify_use_list_order bitcode with debug info for x86. llvm-svn: 237823
* DAGCombiner: Continue combining if FoldConstantArithmetic() fails.Matthias Braun2015-05-202-74/+106
| | | | | | | | | | | | DAG.FoldConstantArithmetic() can fail even though both operands are Constants if OpaqueConstants are involved. Continue trying other combine possibilities in tis case. Differential Revision: http://reviews.llvm.org/D6946 Somewhat related to PR21801 / rdar://19211454 llvm-svn: 237822
* Reapply r237539 with a fix for the Chromium build.James Molloy2015-05-207-9/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure if we're truncating a constant that would then be sign extended that the sign extension of the truncated constant is the same as the original constant. > Canonicalize min/max expressions correctly. > > This patch introduces a canonical form for min/max idioms where one operand > is extended or truncated. This often happens when the other operand is a > constant. For example: > > %1 = icmp slt i32 %a, i32 0 > %2 = sext i32 %a to i64 > %3 = select i1 %1, i64 %2, i64 0 > > Would now be canonicalized into: > > %1 = icmp slt i32 %a, i32 0 > %2 = select i1 %1, i32 %a, i32 0 > %3 = sext i32 %2 to i64 > > This builds upon a patch posted by David Majenemer > (https://www.marc.info/?l=llvm-commits&m=143008038714141&w=2). That pass > passively stopped instcombine from ruining canonical patterns. This > patch additionally actively makes instcombine canonicalize too. > > Canonicalization of expressions involving a change in type from int->fp > or fp->int are not yet implemented. llvm-svn: 237821
* ARM: Fix comment and make it slightly more readableMatthias Braun2015-05-201-7/+7
| | | | llvm-svn: 237820
* Revert some of "Silence some CMake 3.3 dev warnings in compiler-rt"Reid Kleckner2015-05-201-6/+0
| | | | | | | | | This reverts part of r237808. The CMP0057 warnings came from an old development build of CMake that nobody else has. We don't need the cruft. llvm-svn: 237819
* [CodeGen] Check x86_64-arguments.c tests on AVX as well. NFC.Ahmed Bougacha2015-05-201-4/+6
| | | | | | | We used to only check the differing tests on AVX, but we might as well check all of them. llvm-svn: 237818
* Implement attach to process on Windows.Zachary Turner2015-05-208-89/+277
| | | | | | | Differential Revision: http://reviews.llvm.org/D9801 Reviewed by: Adrian McCarthy llvm-svn: 237817
* MC: Use MCSymbol in LocalCommon, NFCDuncan P. N. Exon Smith2015-05-202-5/+4
| | | | | | Switch from MCSymbolData to MCSymbol in LocalCommon. llvm-svn: 237816
* [modules] Support merging a parsed default argument with an imported hidden ↵Richard Smith2015-05-202-1/+6
| | | | | | one for non-type and template template parameters too. llvm-svn: 237815
* [modules] Support merging a parsed default function/template argument with ↵Richard Smith2015-05-204-28/+62
| | | | | | an imported but hidden one. llvm-svn: 237814
* Start a to-do list for libc++Marshall Clow2015-05-201-0/+12
| | | | llvm-svn: 237813
* Fix icmp loweringPawel Bylica2015-05-202-1/+52
| | | | | | | | | | | | | | | | | | | Summary: During icmp lowering it can happen that a constant value can be larger than expected (see the code around the change). APInt::getMinSignedBits() must be checked again as the shift before can change the constant sign to positive. I'm not sure it is the best fix possible though. Test Plan: Regression test included. Reviewers: resistor, chandlerc, spatel, hfinkel Reviewed By: hfinkel Subscribers: hfinkel, llvm-commits Differential Revision: http://reviews.llvm.org/D9147 llvm-svn: 237812
* Use Intrinsic::ID instead of unsigned. NFC.Pete Cooper2015-05-201-3/+2
| | | | | | This is after LLVM r237810 which made Function::getIntrinsicID() return an Intrinsic::ID. llvm-svn: 237811
* Change Function::getIntrinsicID() to return an Intrinsic::ID. NFC.Pete Cooper2015-05-2017-24/+23
| | | | | | | | Now that Intrinsic::ID is a typed enum, we can forward declare it and so return it from this method. This updates all users which were either using an unsigned to store it, or had a now unnecessary cast. llvm-svn: 237810
* Temporary delete the test while we're investigating crashes in LLVMObject it ↵Alexey Samsonov2015-05-203-14/+0
| | | | | | causes. llvm-svn: 237809
* Silence some CMake 3.3 dev warnings in compiler-rtReid Kleckner2015-05-202-1/+7
| | | | | | | | | | | Fix a trivial instance of CMP0054 that came up on llvmdev. The other warnings were CMP0057, which is about using the same file as a MAIN_DEPENDENCY multiple times. The old behavior hasn't been a problem yet, so I silenced the warning and filed PR23595 to document the issue if someone cares. llvm-svn: 237808
* MC: Add MCSymbolData back to MCAssembler dumpDuncan P. N. Exon Smith2015-05-201-1/+5
| | | | | | | | | r237490 accidentally dropped MCSymbolData from the MCAssembler dump. Add it back underneath the MCSymbol dump. Remove the MCSymbol dump from MCSymbolData, since this would cause an infinite co-recursion, and besides, that back pointer is going away. llvm-svn: 237807
* InstrProf: Change this triple back to %itanium_abi_tripleJustin Bogner2015-05-201-1/+1
| | | | | | | In my rush to fix the linux bots in r237805, I accidentally committed a change to the triple. Revert that part. llvm-svn: 237806
* InstrProf: Remove darwin-specific section names from this testJustin Bogner2015-05-201-5/+5
| | | | llvm-svn: 237805
* InstrProf: Increment the profile counter for all types of destructorJustin Bogner2015-05-202-4/+34
| | | | | | | | | | | | -fprofile-instr-generate does not emit counter increment intrinsics for Dtor_Deleting and Dtor_Complete destructors with assigned counters. This causes unnecessary [-Wprofile-instr-out-of-date] warnings during profile-use runs even if the source has never been modified since profile collection. Patch by Betul Buyukkurt. Thanks! llvm-svn: 237804
* MC: Update MCAssembler to use MCSymbol, NFCDuncan P. N. Exon Smith2015-05-204-22/+19
| | | | | | Use `MCSymbol` over `MCSymbolData` where both are needed. llvm-svn: 237803
* CodeGen: Remove some trailing whitespace. NFCJustin Bogner2015-05-201-96/+96
| | | | llvm-svn: 237802
* [YAML] Make Node's destructor non-virtual.Benjamin Kramer2015-05-201-8/+8
| | | | | | | Nodes aren't supposed to be destroyed polymorphically. Also make all subclasses final to avoid non-virtual dtor warnings. llvm-svn: 237801
* Add diagnostic for unsigned integer comparisionsTobias Grosser2015-05-203-1/+44
| | | | llvm-svn: 237800
* MC: Use MCSymbol in MachObjectWriter, NFCDuncan P. N. Exon Smith2015-05-205-61/+54
| | | | | | | Replace uses of `MCSymbolData` with `MCSymbol` where both are needed, so we can remove the backpointer. llvm-svn: 237799
* MC: Use MCSymbol in MCObjectWriter::isWeak(), NFCDuncan P. N. Exon Smith2015-05-205-10/+9
| | | | | | Continue to prefer `MCSymbol` when we need both. llvm-svn: 237798
* Get Triple::getARMCPUForArch() to use TargetParserRenato Golin2015-05-204-112/+364
| | | | | | | | | | | | | | | | | | | | First ARMTargetParser FIXME, conservatively changing the way we parse CPUs in the back-end. Still not perfect, with a lot of special cases, but moving towards a more generic solution. Moving all logic to the target parser made some unwritten assumptions about architectures in Clang to break. I've added a lot of architectures required by Clang, and default to CPUs that Clang believes it should (and I agree). I've also added a lot of unit tests, with the correct CPU for each architecture, and Clang seems to be working correctly, too. It also became clear that using "unsigned ID" as the argument for the get methods makes it hard to know what ID, so I also changed the argument names to match the enum type names. llvm-svn: 237797
* Drop redundant conditionTobias Grosser2015-05-201-3/+0
| | | | | | This condition was accidentally introduced in r211875. llvm-svn: 237796
* Unit tests for the getSwappedBytes(double) fix from r237673.Pawel Bylica2015-05-201-0/+25
| | | | llvm-svn: 237795
* Silencing a -Wsign-compare warning; NFC.Aaron Ballman2015-05-201-1/+1
| | | | llvm-svn: 237794
* AVX-512: fixed algorithm of building vectors of i1 elementsElena Demikhovsky2015-05-207-91/+282
| | | | | | | | fixed extract-insert i1 element, load i1, zextload i1 should be with "and $1, %reg" to prevent loading garbage. added a bunch of new tests. llvm-svn: 237793
* Revert r237789 - [mips] The naming convention for private labels is ABI ↵Daniel Sanders2015-05-2020-231/+192
| | | | | | | | | dependant. It works, but I've noticed that I missed several callers of createMCAsmInfo() and many don't have a TargetMachine to provide. llvm-svn: 237792
* [ARM] Add needed symbols during dynamic executable linkingDenis Protivensky2015-05-202-0/+74
| | | | | | These include _GLOBAL_OFFSET_TABLE_ and _DYNAMIC. llvm-svn: 237791
* [mips] Fix ehframe-indirect.ll test.Daniel Sanders2015-05-201-20/+25
| | | | | | | | | | | | | | | | | | Summary: -check-prefix replaces the default CHECK prefix rather than adding to it and must be explicitly re-added. Also added the N32 cases. Reviewers: petarj Reviewed By: petarj Subscribers: tberghammer, llvm-commits Differential Revision: http://reviews.llvm.org/D9668 llvm-svn: 237790
* [mips] The naming convention for private labels is ABI dependant.Daniel Sanders2015-05-2020-192/+231
| | | | | | | | | | | | | | | | | Summary: For N32/N64, private labels begin with '.L' but for O32 they begin with '$'. MCAsmInfo now has an initializer function which can be used to provide information from the TargetMachine to control the assembly syntax. Reviewers: vkalintiris Reviewed By: vkalintiris Subscribers: jfb, sandeep, llvm-commits, rafael Differential Revision: http://reviews.llvm.org/D9821 llvm-svn: 237789
* [OPENMP] Fix codegen for ordered loop directives.Alexey Bataev2015-05-205-69/+84
| | | | | | loops with ordered clause must be generated the same way as dynamic loops, but with static scheduleing. llvm-svn: 237788
OpenPOWER on IntegriCloud