summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* llvm-rtdyld: Don't leak memory managers.Benjamin Kramer2013-08-031-4/+4
| | | | | | Dyld never outlives MemMgr, just put both on the stack. llvm-svn: 187697
* ARMAsmParser: Plug a leak.Benjamin Kramer2013-08-031-3/+11
| | | | | | Using an object to do the cleanup may look like overkill, but it's safer and nicer than putting deletes everywhere. llvm-svn: 187696
* Stop leaking register infos in the disassemblers.Benjamin Kramer2013-08-032-4/+4
| | | | llvm-svn: 187695
* Add support for passing -1 to __builtin_shufflevector to signify an ↵Craig Topper2013-08-035-8/+27
| | | | | | undefined element value to match IR capabilities. llvm-svn: 187694
* Fix PPC64 64-bit GPR inline asm constraint matchingHal Finkel2013-08-032-1/+83
| | | | | | | | | | | | | | | Internally, the PowerPC backend names the 32-bit GPRs R[0-9]+, and names the 64-bit parent GPRs X[0-9]+. When matching inline assembly constraints with explicit register names, on PPC64 when an i64 MVT has been requested, we need to follow gcc's convention of using r[0-9]+ to refer to the 64-bit (parent) registers. At some point, we'll probably want to arrange things so that the generic code in TargetLowering uses the AsmName fields declared in *RegisterInfo.td in order to match these inline asm register constraints. If we do that, this change can be reverted. llvm-svn: 187693
* Minor address space code simplification.Matt Arsenault2013-08-032-12/+5
| | | | | | Remove assertion that the verifier should catch. llvm-svn: 187692
* Remove unused using's.Rui Ueyama2013-08-021-4/+0
| | | | llvm-svn: 187690
* Options.td: remove _DASH_DASHHans Wennborg2013-08-021-3/+0
| | | | | | Since LLVM r187675, this is handled by the option parsing code itself. llvm-svn: 187689
* [PECOFF] Move more code from Atoms.h to ReaderCOFF.cpp.Rui Ueyama2013-08-022-78/+81
| | | | llvm-svn: 187688
* Regenerate with changes for -rdynamic.Bob Wilson2013-08-022-8/+8
| | | | llvm-svn: 187687
* Link with -rdynamic instead of -Wl,-export-dynamic.Bob Wilson2013-08-026-14/+16
| | | | | | | | | | | | | | | Recent versions of the OS X linker support this but follow the existing OS X linker convention of using an underscore in the option name, i.e., -export_dynamic. Rather than changing our configure scripts to check for that alternate spelling, it is simpler to just use the compiler's -rdynamic option and let it deal with translating that to the appropriate linker option. One potential disadvantage of this approach is that the compiler will typically ignore -rdynamic on platforms where it is not supported, so the HAVE_LINK_EXPORT_DYNAMIC in config.h will not necessarily show whether that option has any effect or not. I don't see any in-tree uses of that macro, so I'm assuming it is OK. llvm-svn: 187686
* Add a AttributeSetImpl::dump function.Peter Collingbourne2013-08-022-0/+6
| | | | | | | This is for the benefit of those of us with inferior debuggers which do not permit member function calls on value types. llvm-svn: 187685
* ObjectiveC migrator. Differentiate 'instancetype'Fariborz Jahanian2013-08-021-1/+3
| | | | | | | from 'id' result type when deciding on migration to instancetype. llvm-svn: 187684
* [PECOFF] Remove special treatment of "--" option.Rui Ueyama2013-08-021-20/+1
| | | | | | | Thanks to Hans' patch (r187675), OptTable now handles "--", so we don't need this code in LLD. llvm-svn: 187683
* Make one of the AttributeSet ctors maintain the invariant that thePeter Collingbourne2013-08-023-2/+42
| | | | | | | | attribute list is ordered by index. Differential Revision: http://llvm-reviews.chandlerc.com/D1265 llvm-svn: 187682
* [PECOFF] Remove COFFDefinedFileAtom::originalOffset().Rui Ueyama2013-08-022-15/+25
| | | | | | | | | | | | | | | | | The aim of this patch is to reduce the dependency from COFFDefinedAtom to COFF structs defined in llvm/Object/COFF.h. Currently many attributes of the atom are computed in the atom. That provide a simple interface but does not work well in some cases. There are some cases that the same type atom is created from different parts of a COFF file. One example is the BSS atom, which can be created from the defined symbol in the .bss section or from the undefined symbol. Computing attributes from different sources in the atom complicates the code. We should compute it outside the atom. In the next patch, I'll move more code from Atoms.h to ReaderCOFF.cpp. llvm-svn: 187681
* Only use the Darwin linker's -export_dynamic option with supported versions.Bob Wilson2013-08-022-3/+17
| | | | | | Related to <rdar://problem/14578094>. llvm-svn: 187680
* Re-commit r187637: "clang-cl: add more options"Hans Wennborg2013-08-023-7/+193
| | | | | | | | | | | | | | > This adds a bunch of options to clang-cl. Notably, this includes > all the options that get passed when doing a default build of a > command-line project with msbuild.exe in Debug and Release modes, > and I believe all flags from Reid's original patch. The original commit was reverted in r187640 after it broke the Mac build. This should now be fixed, by Clang r187668, LLVM r187675, and putting a -- before %s in the test. llvm-svn: 187679
* Implement Allman style.Manuel Klimek2013-08-024-7/+110
| | | | | | Patch by Frank Miller. llvm-svn: 187678
* [PECOFF] Handle .drectve section.Rui Ueyama2013-08-023-2/+190
| | | | | | | | | | | | | | | | | | | | | | | Summary: The .drectve section contains linker command line options, and the linker is expected to interpret them as if they were given via the command line. In this patch, the command line parser in the driver is called from the object file reader to parse the string. I think this patch is important, because this is the first step towards mutable TargetInfo. We had a discussion about that on llvm-commits mailing list before. I haven't removed "const" from the function signature yet. Instead, I just use cast to remove "const". This is a temporary aid for an experiment. If we don't see any issue with this mutable TargetInfo appraoch, I'll change the function signature, and rename the class LinkerContext from TargetInfo. Reviewers: kledzik CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1246 llvm-svn: 187677
* Fix crash when encountering alias templates in isDerivedFrom matches.Manuel Klimek2013-08-022-43/+57
| | | | | | | | | - pull out function to drill to the CXXRecordDecl from the type, to allow recursive resolution - make the analysis more robust by rather skipping values we don't understand llvm-svn: 187676
* Option parsing: recognize the special -- tokenHans Wennborg2013-08-022-1/+29
| | | | | | | | | | | | | | Everything that comes after -- should be treated as a filename. This enables passing in filenames that would otherwise be conflated with command-line options. This is especially important for clang-cl which supports options starting with /, which are easily conflatable with Unix-style path names. Differential Revision: http://llvm-reviews.chandlerc.com/D1274 llvm-svn: 187675
* Fix invalid function pointers in bugpoint ExtractLoopsHal Finkel2013-08-021-7/+42
| | | | | | | | | | | | | | | | | | | | | | | The ExtractLoops function tries to reduce the failing test case by extracting one or more loops from the misoptimized piece of the program. In doing this, ExtractLoops must keep the MiscompiledFunctions vector up-to-date by ensuring that the pointers refer to functions in the current failing program. Unfortunately, this is not trivial because: - ExtractLoops is iterative, and there are several early exits (and the MiscompiledFunctions vector must be consistent with the current program at every non-fatal exit point). - Several of the utility functions used by ExtractLoops (such as TestOptimizer, some of which are called through the TestFn callback parameter, and Linker::LinkModules) delete their inputs upon success. This change adds several updates of the MiscompiledFunctions vector at different points. The first is after the initial call to TestMergedProgram which checks that the loop-extracted program still works. The second is after the call to TestFn (TestOptimizer, for example). This function will delete its inputs (which is why the existing ExtractLoops logic cloned the inputs first). llvm-svn: 187674
* [PECOFF] Return an error_code instead of calling report_fatal_error().Rui Ueyama2013-08-021-8/+14
| | | | | | | | For an invalid input we should not call report_fatal_error(), because when LLD is used as a library, we don't want to kill the whole app because of a malformed input. llvm-svn: 187673
* ObjectiveC migrator: Add another family of factory Fariborz Jahanian2013-08-025-8/+52
| | | | | | methods which can be migrated to instancetype. llvm-svn: 187672
* Add a missing 'return' statement.Joey Gouly2013-08-021-0/+1
| | | | llvm-svn: 187671
* Use report_fatal_error() instead of llvm_unreachable() to show broken input ↵Rui Ueyama2013-08-021-1/+1
| | | | | | file error. llvm-svn: 187670
* Fix missing * making the C++ mode thing not workMatt Arsenault2013-08-021-12/+12
| | | | llvm-svn: 187669
* CC1: Only parse command-line options that have the CC1Option flag.Hans Wennborg2013-08-022-15/+6
| | | | | | | | | | | | | We already reject flags that don't have the CC1Option flag, but we would previously do so after parsing the command-line arguments. Since the option parser now has a parameter for excluding options, we should just use that instead. Differential Revision: http://llvm-reviews.chandlerc.com/D1270 llvm-svn: 187668
* [mips] Expand vector truncating stores and extending loads.Akira Hatanaka2013-08-022-0/+25
| | | | llvm-svn: 187667
* [ARMv8] Add an assembler warning for the deprecated 'setend' instruction.Joey Gouly2013-08-022-0/+15
| | | | llvm-svn: 187666
* [PECOFF] Remove an assertion that's too heavy.Rui Ueyama2013-08-021-6/+0
| | | | llvm-svn: 187665
* [PECOFF] Relocations now take into account the address which is stored at ↵Rui Ueyama2013-08-023-17/+84
| | | | | | | | the relocation site Patch by Ron Ofir. llvm-svn: 187664
* SLPVectorizer: Fix PR16777. PHInodes may use multiple extracted values that ↵Nadav Rotem2013-08-022-10/+48
| | | | | | | | come from different blocks. Thanks Alexey Samsonov. llvm-svn: 187663
* Teach EmitGEPOffset about address spacesMatt Arsenault2013-08-021-12/+14
| | | | llvm-svn: 187662
* ObjectiveC migrator: Fixes public buildbot failures,Fariborz Jahanian2013-08-026-30/+222
| | | | | | in my previous patch which was reverted in r187657 llvm-svn: 187661
* Mark additional icc test failures as expected fail.Matt Kopec2013-08-022-0/+2
| | | | llvm-svn: 187660
* debug mode for unordered_map. Also picked up a missing check and test in ↵Howard Hinnant2013-08-0223-1/+651
| | | | | | unordered_multimap. This wraps up debug mode for the unordered containers. llvm-svn: 187659
* Fixes ARM LNT bot from SLP change in O3Renato Golin2013-08-022-6/+16
| | | | | | | | | | | | This patch fixes the multiple breakages on ARM test-suite after the SLP vectorizer was introduced by default on O3. The problem was an illegal vector type on ARMTTI::getCmpSelInstrCost() <3 x i1> which is not simple. The guard protects this code from breaking (cause of the problems) but doesn't fix the issue that is generating the odd vector in the first place, which also needs to be investigated. llvm-svn: 187658
* revert patch I added in r187655. It still breaks publicFariborz Jahanian2013-08-026-218/+30
| | | | | | buildbot. llvm-svn: 187657
* Bugfix for making the DWARF debug strings and labels to code emitted as ↵Carlo Kok2013-08-022-0/+44
| | | | | | secrel32 instead of long opcodes (only for coff). This makes them debuggable with GDB (with fix for 64bits msvc) llvm-svn: 187656
* ObjectiveC migration. Check-in patch reverted in r187634.Fariborz Jahanian2013-08-026-30/+218
| | | | | | Also removed check for "NS" prefix for class name. llvm-svn: 187655
* Convert last use of st_dev in clang.Rafael Espindola2013-08-021-6/+4
| | | | llvm-svn: 187654
* [msan] Allocator statistics interface and malloc hooks.Evgeniy Stepanov2013-08-027-5/+211
| | | | llvm-svn: 187653
* Remove rather oddly merged logic from AArch64 commit.Tim Northover2013-08-021-21/+7
| | | | | | | | | | We seem to have ended up with both an inlined check of permitted NEON base types and a call to a function. Since the outer if was (I believe) strictly weaker than the one in the function, there's no actual user-visible behaviour change, so no tests. llvm-svn: 187652
* Fix handling of CHECK-DAG combined with CHECK-NOTTim Northover2013-08-022-2/+2
| | | | | | Patch by Daniel Sanders. llvm-svn: 187651
* clang-format: Fix string breaking after "<<".Daniel Jasper2013-08-022-1/+6
| | | | | | | | Before, clang-format would not break overly long string literals following a "<<" with FormatStyle::AlwaysBreakBeforeMultilineStrings being set. llvm-svn: 187650
* Pacify GCC, which worries about falling off the end of the switch.Duncan Sands2013-08-021-0/+2
| | | | llvm-svn: 187649
* [msan] Fix unused function warning in the tests.Evgeniy Stepanov2013-08-021-2/+2
| | | | llvm-svn: 187648
* Assume UniqueID is zero for invalid PPRegion to fix uninitialized reads ↵Alexey Samsonov2013-08-021-1/+1
| | | | | | reported by MSan llvm-svn: 187647
OpenPOWER on IntegriCloud