summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Minor cleanups.Rui Ueyama2014-04-032-11/+5
| | | | llvm-svn: 205578
* Remove section_rel_empty. Just compare begin() and end() instead.Rafael Espindola2014-04-037-33/+5
| | | | llvm-svn: 205577
* Replace a recursion with a loop for speed.Rui Ueyama2014-04-031-5/+7
| | | | llvm-svn: 205576
* Do not check deadStripNever twice.Rui Ueyama2014-04-031-28/+8
| | | | | | | | | | Atoms with deadStripNever attribute has already been added to the dead strip root set at end of Resolver::doDefinedAtom, so no need to check it for each atom again. Differential Revision: http://llvm-reviews.chandlerc.com/D3282 llvm-svn: 205575
* Move code into a helper function.Rui Ueyama2014-04-031-19/+15
| | | | | | | Move code that always runs after doUndefinedAtom into doUndefinedAtom for readability. llvm-svn: 205574
* Include stdlib.h for getenv when !NDEBUG.Joerg Sonnenberger2014-04-031-0/+1
| | | | llvm-svn: 205573
* Reuse existing variable.Rafael Espindola2014-04-031-2/+1
| | | | llvm-svn: 205572
* Optimize away unnecessary address casts.Eli Bendersky2014-04-036-2/+299
| | | | | | | | | Removes unnecessary casts from non-generic address spaces to the generic address space for certain code patterns. Patch by Jingyue Wu. llvm-svn: 205571
* Minor cleanup.Rui Ueyama2014-04-031-9/+5
| | | | llvm-svn: 205570
* Simplify two if's.Rui Ueyama2014-04-031-5/+3
| | | | llvm-svn: 205569
* Fix comments.Rui Ueyama2014-04-038-10/+10
| | | | llvm-svn: 205568
* Early return.Rui Ueyama2014-04-031-7/+9
| | | | llvm-svn: 205567
* Fix ELFFileNode::resetNextIndex().Rui Ueyama2014-04-034-44/+20
| | | | | | | | | | | | | | | | | | | ELFLinkingContext has a method addUndefinedAtomsFromSharedLibrary(). The method is being used to skip a shared library within --start-group and --end-group if it's not the first iteration of the group. We have the same, incomplete mechanism to skip a shared library within a group too. That's implemented in ELFFileNode. It's intended to not return a shared library on the second or further iterations in the first place. This mechanism is preferred over addUndefinedAtomsFromSharedLibrary because the policy is implemented in Input Graph -- that's what Input Graph is for. This patch removes the dupluicate feature and fixes ELFFileNode. Differential Revision: http://llvm-reviews.chandlerc.com/D3280 llvm-svn: 205566
* [ARM64] Teach the ARM64DeadRegisterDefinition pass to respect implicit-defs.Lang Hames2014-04-032-0/+53
| | | | | | | | | | | | | When rematerializing through truncates, the coalescer may produce instructions with dead defs, but live implicit-defs of subregs: E.g. %X1<def,dead> = MOVi64imm 2, %W1<imp-def>; %X1:GPR64, %W1:GPR32 These instructions are live, and their definitions should not be rewritten. Fixes <rdar://problem/16492408> llvm-svn: 205565
* Expand 'auto' that's hard for human to deduce its real type.Rui Ueyama2014-04-037-12/+12
| | | | llvm-svn: 205564
* unconditional-branch.ll is broken for targeting x86_64-cygming. Add an ↵NAKAMURA Takumi2014-04-031-1/+2
| | | | | | explicit triple for now. llvm-svn: 205563
* R600: Correct opcode for BFE_INTTom Stellard2014-04-032-2/+3
| | | | | | | | | | | Acording to AMD documentation, the correct opcode for BFE_INT is 0x5, not 0x4 Fixes Arithm/Absdiff.Mat/3 OpenCV test Patch by: Bruno Jiménez llvm-svn: 205562
* R600/SI: Lower 64-bit immediates using REG_SEQUENCETom Stellard2014-04-036-23/+48
| | | | llvm-svn: 205561
* Revert r205551, "Attempt to XFAIL this on mingw and cygwin hosts." It didn't ↵NAKAMURA Takumi2014-04-031-3/+0
| | | | | | | | | | | | | | | | | | | | fail on cygming. That said, it emits errors to the stderr (with exit(0)); error: failed to compute relocation: IMAGE_REL_I386_SECREL error: failed to compute relocation: IMAGE_REL_I386_SECREL error: failed to compute relocation: IMAGE_REL_I386_SECREL error: failed to compute relocation: IMAGE_REL_I386_SECREL error: failed to compute relocation: IMAGE_REL_I386_SECREL error: failed to compute relocation: IMAGE_REL_I386_DIR32 error: failed to compute relocation: IMAGE_REL_I386_SECREL error: failed to compute relocation: IMAGE_REL_I386_DIR32 error: failed to compute relocation: IMAGE_REL_I386_SECREL error: failed to compute relocation: IMAGE_REL_I386_SECREL error: failed to compute relocation: IMAGE_REL_I386_DIR32 llvm-svn: 205560
* llvm/test/CodeGen/X86/peephole-multiple-folds.ll: Relax expressions to ↵NAKAMURA Takumi2014-04-031-2/+2
| | | | | | satisfy win32. llvm-svn: 205559
* Add empty() to atom_collection.Rui Ueyama2014-04-033-4/+5
| | | | | | | | | "x.empty()" is more idiomatic than "x.size() == 0". This patch is to add such method and use it in LLD. Differential Revision: http://llvm-reviews.chandlerc.com/D3279 llvm-svn: 205558
* vector [Sema]. Check for proper use of 's' char prefixFariborz Jahanian2014-04-032-1/+9
| | | | | | | (which indicates vector expression is a string of hex values) instead of crashing in code gen. // rdar://16492792 llvm-svn: 205557
* Add another hint for fixing check-polly errors to get_started.htmlTobias Grosser2014-04-031-1/+4
| | | | | | | | Reversed the order in which LD_LIBRARY_PATH is defined in order to make sure the ${CLOOG_INSTALL} prefix is found first. Contributed-by: Christian Bielert <cib123@googlemail.com> llvm-svn: 205556
* Avoid crash if symbol returns a null nameEd Maste2014-04-031-1/+1
| | | | llvm-svn: 205555
* -fms-extensions: Error out on #pragma init_segReid Kleckner2014-04-033-0/+35
| | | | | | | | | | | | | By ignoring this pragma with a warning, we're essentially miscompiling the user's program. WebKit / Blink use this pragma to disable dynamic initialization and finalization of some static data, and running the dtors crashes the program. Error out for now, so that /fallback compiles the TU correctly with MSVC. This pragma should be implemented some time this month, and we can remove this hack. llvm-svn: 205554
* Note of last Polly phone callTobias Grosser2014-04-031-0/+7
| | | | llvm-svn: 205553
* Remove "virtual" and add "override".Rui Ueyama2014-04-031-16/+12
| | | | | | | | Seems clang-modernize couldn't add "override" to nested classes, so doing it by hand. Also removed unused virtual member function that is not overriding anything, that seems to have been added by mistake. llvm-svn: 205552
* Attempt to XFAIL this on mingw and cygwin hosts. The line table onEric Christopher2014-04-031-0/+3
| | | | | | | | | | | | these is very much off and is more than just the branch from this bug incorrect: Address Line Column File ISA Discriminator Flags ------------------ ------ ------ ------ --- ------------- ------------- 0x30830a0100000002 3 0 1 0 0 is_stmt 0x30830a0100000008 3 0 1 0 0 is_stmt end_sequence llvm-svn: 205551
* Remove "this->".Rui Ueyama2014-04-031-10/+10
| | | | | | | For most member function calls we do not use "this->" in this file. Remove the rest for consistency. llvm-svn: 205550
* Add a paragraph describing how to configure the python interpreter.Tobias Grosser2014-04-031-0/+8
| | | | | Contributed-by: cib123@googlemail.com llvm-svn: 205549
* Revert r205436:Roman Divacky2014-04-031-28/+5
| | | | | | | | | | | | | | | | Extend the SSE2 comment lexing to AVX2. Only 16byte align when not on AVX2. This provides some 3% speedup when preprocessing gcc.c as a single file. The patch is wrong, it always uses SSE2, and when I fix that there's no speedup at all. I am not sure where the 3% came from previously. --Thi lie, and those below, will be ignored-- M Lex/Lexer.cpp llvm-svn: 205548
* Fix PR19270 - type mismatch caused by invalid optimization.Eli Bendersky2014-04-032-4/+43
| | | | | | Patch by Jingyue Wu. llvm-svn: 205547
* Loosen up check so that we can pass on platforms that generateEric Christopher2014-04-031-3/+3
| | | | | | | | | | | | | | | | slightly more verbose than needed line tables, e.g.: Address Line Column File ISA Discriminator Flags ------------------ ------ ------ ------ --- ------------- ------------- 0x0000000000000000 1 0 1 0 0 is_stmt 0x0000000000000000 1 0 1 0 0 is_stmt prologue_end 0x0000000000000010 2 0 1 0 0 is_stmt 0x0000000000000018 4 0 1 0 0 is_stmt these should probably be looked at, but it isn't affecting the correctness of the testcase. llvm-svn: 205546
* ARM: update even more testsSaleem Abdulrasool2014-04-0310-21/+56
| | | | | | | | | More updating of tests to be explicit about the target triple rather than relying on the default target triple supporting ARM mode. Indicate to lit that object emission is not yet available for Windows on ARM. llvm-svn: 205545
* Get "dis -c -s" working again.Jim Ingham2014-04-031-1/+1
| | | | | | pr19324 llvm-svn: 205544
* Teach getTemplateInstantiationPattern to deal with generic lambdas.Faisal Vali2014-04-033-6/+25
| | | | | | | | | | | | | No functionality change. When determining the pattern for instantiating a generic lambda call operator specialization - we must not go drilling down for the 'prototype' (i.e. as written) pattern - rather we must use our partially transformed pattern (whose DeclRefExprs are wired correctly to any enclosing lambda's decls that should be mapped correctly in a local instantiation scope) that is the templated pattern of the specialization's primary template (even though the primary template might be instantiated from a 'prototype' member-template). Previously, the drilling down was haltted by marking the instantiated-from primary template as a member-specialization (incorrectly). This prompted Richard to remark (http://llvm-reviews.chandlerc.com/D1784?id=4687#inline-10272) "It's a bit nasty to (essentially) set this bit incorrectly. Can you put the check into getTemplateInstantiationPattern instead?" In my reckless youth, I chose to ignore that comment. With the passage of time, I have come to learn the value of bowing to the will of the angry Gods ;) llvm-svn: 205543
* ArrayRef: use std::vector::data() now that we are building in C++11 modeDmitri Gribenko2014-04-031-1/+1
| | | | llvm-svn: 205542
* ARM: fixup more tests to specify the target more explicitlySaleem Abdulrasool2014-04-03222-335/+565
| | | | | | | | | | | | | This changes the tests that were targeting ARM EABI to explicitly specify the environment rather than relying on the default. This breaks with the new Windows on ARM support when running the tests on Windows where the default environment is no longer EABI. Take the opportunity to avoid a pointless redirect (helps when trying to debug with providing a command line invocation which can be copy and pasted) and removing a few greps in favour of FileCheck. llvm-svn: 205541
* ARM: tell LLVM about zext properties of ldrexb/ldrexhTim Northover2014-04-035-28/+56
| | | | | | | | | | | | | Implementing this via ComputeMaskedBits has two advantages: + It actually works. DAGISel doesn't deal with the chains properly in the previous pattern-based solution, so they never trigger. + The information can be used in other DAG combines, as well as the trivial "get rid of truncs". For example if the trunc is in a different basic block. rdar://problem/16227836 llvm-svn: 205540
* Add explict dependencies on swig .i files for cmake buildsEd Maste2014-04-031-0/+3
| | | | | | llvm.org/pr19316 llvm-svn: 205539
* [mips] Add negative tests confirm that supported ISA's don't allow ↵Daniel Sanders2014-04-0310-3/+146
| | | | | | | | | | | | | | | | | | | instructions added in later ISA's Summary: test/MC/Mips/<isa1>/invalid-<isa2>.s Test that <isa1> does not support <isa2>'s instructions. test/MC/Mips/<isa1>/invalid-<isa2>-xfail.s Things that should be invalid but currently aren't. Will XPASS if any become invalid. Reviewers: matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D3262 llvm-svn: 205538
* [mips] Implement ehb, ssnop, and pause in assemblerDaniel Sanders2014-04-0322-20/+53
| | | | | | | | | | | | Summary: Add negative tests for pause Reviewers: matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D3246 llvm-svn: 205537
* Code cleanup (re-indent)Logan Chien2014-04-031-7/+7
| | | | llvm-svn: 205536
* ARM: skip cmpxchg failure barrier if ordering is monotonic.Tim Northover2014-04-033-15/+62
| | | | | | | | | | The terminal barrier of a cmpxchg expansion will be either Acquire or SequentiallyConsistent. In either case it can be skipped if the operation has Monotonic requirements on failure. rdar://problem/15996804 llvm-svn: 205535
* [TSan] Fix a rare deadlock on multithreaded fork.Alexey Samsonov2014-04-031-2/+4
| | | | | | | | | | | | | | | | | | | | | | If a multi-threaded program calls fork(), TSan ignores all memory accesses in the child to prevent deadlocks in TSan runtime. This is OK, as child is probably going to call exec() as soon as possible. However, a rare deadlocks could be caused by ThreadIgnoreBegin() function itself. ThreadIgnoreBegin() remembers the current stack trace and puts it into the StackDepot to report a warning later if a thread exited with ignores enabled. Using StackDepotPut in a child process is dangerous: it locks a mutex on a slow path, which could be already locked in a parent process. The fix is simple: just don't put current stack traces to StackDepot in ThreadIgnoreBegin() and ThreadIgnoreSyncBegin() functions if we're running after a multithreaded fork. We will not report any "thread exited with ignores enabled" errors in this case anyway. Submitting this without a testcase, as I believe the standalone reproducer is pretty hard to construct. llvm-svn: 205534
* Revert "Add support for named values in the parser."Samuel Benzaquen2014-04-035-95/+26
| | | | | | | | This was submitted before it was ready. This reverts commit 62060a01e095cf35eb9ca42a333752d12714f35c. llvm-svn: 205533
* Implementation of 16-bit microMIPS instructions MFHI and MFLO.Zoran Jovanovic2014-04-035-7/+40
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D3141 llvm-svn: 205532
* [TSan] Fix a typo ThreadIgnoreSyncEnd. Found by inspectionAlexey Samsonov2014-04-031-1/+1
| | | | llvm-svn: 205531
* [mips] Add initial (experimental) MIPS-IV support.Daniel Sanders2014-04-035-6/+12
| | | | | | | | | | | | | | | | | | | | | | | Summary: Adds the 'mips4' processor and a simple test of the ELF e_flags. Patch by David Chisnall His work was sponsored by: DARPA, AFRL I made one small change to the testcase so that it uses mips64-unknown-linux instead of mips4-unknown-linux. This patch indirectly adds FeatureCondMov to FeatureMips64. This is ok because it's supposed to be there anyway and it turns out that FeatureCondMov is not a predicate of any instructions at the moment (this is a bug that hasn't been noticed because there are no targets without the conditional move instructions yet). CC: theraven Differential Revision: http://llvm-reviews.chandlerc.com/D3244 llvm-svn: 205530
* Fix for PR 19261:Eric Christopher2014-04-032-2/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | llc doesn't generate nodes for unconditional fall-through branches for targets without FastISel implementation (X86 has it, but can be disabled by "-fast-isel=false") in SelectionDAGBuilder::visitBr(). So for line 4 in the following testcase 1: void foo(int i){ 2: switch(i){ 3: default: 4: break; 5: } 6: return; 7: } there is no corresponding line in .debug_line section, and a debugger cannot set a breakpoint at line 4. Fix this by always emitting a branch when we're not optimizing and add a testcase to ensure that there's code on every line we'd want to break. Patch by Daniil Fukalov. llvm-svn: 205529
OpenPOWER on IntegriCloud