summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Work around gold bug http://sourceware.org/PR16794.Rafael Espindola2014-04-023-3/+8
| | | | llvm-svn: 205416
* [msan] Kill __msan_print_param_shadow.Evgeniy Stepanov2014-04-023-13/+0
| | | | | | | It does not do what it's name says, and what it actually does is hard to describe, and is not useful at all. llvm-svn: 205415
* Replace INVALID/INVALID_NOVERIFY with diagnostics.Andreas Simbuerger2014-04-023-179/+638
| | | | | | | | | | | | | | | | | | | | | This replaces the ancient INVALID/INVALID_NOVERIFY macros with a real function. The new invalid(..) function uses small diagnostic objects that are generated on demand. We can store arbitrary additional information per error type and generate useful debug/error messages on the fly. Use it as follows: if (/* Some error condition (ReportFoo) */) invalid<ReportFoo>(Context, /*Assert=*/true/false, (/* List of helpful diagnostic objects */)); Where ReportFoo is a subclass of RejectReason that is able to take the list of helpful diagnostic objects in its constructor. The implementation of invalid will create the report and fire an assertion, if necessary. llvm-svn: 205414
* [msan] Add __msan_check_mem_is_initialized.Evgeniy Stepanov2014-04-023-0/+23
| | | | | | An assert()-like function that checks that a memory range is fully initialized. llvm-svn: 205413
* [msan] Precise origin handling in __unaligned_(load|store)*.Evgeniy Stepanov2014-04-024-35/+160
| | | | llvm-svn: 205412
* [ASan] One more attempt to fix Android buildAlexey Samsonov2014-04-021-7/+6
| | | | llvm-svn: 205411
* [msan] clang-format several unit testsEvgeniy Stepanov2014-04-021-25/+25
| | | | llvm-svn: 205410
* Remove duplicated DMB instructionsRenato Golin2014-04-025-0/+178
| | | | | | | | | ARM specific optimiztion, finding places in ARM machine code where 2 dmbs follow one another, and eliminating one of them. Patch by Reinoud Elhorst. llvm-svn: 205409
* Fix regex bug in clang-tidy.Daniel Jasper2014-04-029-11/+11
| | | | | | | | Also make tests slightly less dependent on default flags. Once we have implemented configuration file support, we might want to store the clang-tidy configuration for the tests there. llvm-svn: 205408
* Disable a few clang-tidy checks by default.Daniel Jasper2014-04-021-1/+5
| | | | | | | | The goal is to be able to run clang-tidy on LLVM files without further configuration for now. Once llvm.org/PR19306 is addressed, we can add a configuration file instead and choose other defaults. llvm-svn: 205407
* Remove a function that's not defined.Rui Ueyama2014-04-021-1/+0
| | | | llvm-svn: 205406
* Use getpgid() with waitpid() in case the process pgid is not equal to its ↵Andrew MacPherson2014-04-026-4/+147
| | | | | | pid, as is the case with a forked subprocess. Also a couple of fixes for unit test failures from Todd Fiala. llvm-svn: 205405
* s/llvm::dyn_cast/dyn_cast/Rui Ueyama2014-04-025-17/+14
| | | | llvm-svn: 205404
* Use cast<T> instead of dyn_cast<T>.Rui Ueyama2014-04-021-2/+2
| | | | llvm-svn: 205403
* Remove unused variables.Rui Ueyama2014-04-021-5/+2
| | | | llvm-svn: 205402
* Remove dead code.Rui Ueyama2014-04-022-9/+4
| | | | llvm-svn: 205401
* Some more anonymous namespace diagnostics to switch to ()David Blaikie2014-04-022-6/+6
| | | | llvm-svn: 205400
* Devirtualize Resolver.Rui Ueyama2014-04-021-9/+7
| | | | | | | No one inherits Resolver. Virtualizing the member functions was just making it inefficient. llvm-svn: 205399
* Render anonymous entities as '(anonymous <thing>)' (and lambdas as '(lambda ↵David Blaikie2014-04-0222-104/+104
| | | | | | | | | | | | at ... )') For namespaces, this is consistent with mangling and GCC's debug info behavior. For structs, GCC uses <anonymous struct> but we prefer consistency between all anonymous entities but don't want to confuse them with template arguments, etc, so we'll just go with parens in all cases. llvm-svn: 205398
* Remove dead code.Rui Ueyama2014-04-022-5/+0
| | | | llvm-svn: 205397
* Add the location of Decls to ast dump.David Blaikie2014-04-028-32/+34
| | | | | | | | | While investigating some debug info issues, Eric and I came across a particular template case where the location of a decl was quite different from the range of the same decl. It might've been rather helpful if the dumper had actually showed us this. llvm-svn: 205396
* [TODO] revisit features TODO in the driverShankar Easwaran2014-04-021-6/+2
| | | | llvm-svn: 205395
* Move nextFile() from LinkingContext to InputGraph.Rui Ueyama2014-04-025-57/+57
| | | | | | | | | | | | | | | | | LinkingContext and InputGraph are unnecessarily entangled. Most linker input file data, e.g. the vector containing input files, the next index of the input file, etc. are managed by InputGraph, but only the current input file is for no obvious reason managed by LinkingContext. This patch is to move code from LinkingContext to InputGraph to fix it. It's now clear who's reponsible for managing input file state, which is InputGraph, and LinkingContext is now free from that responsibility. It improves the readability as we now have fewer dependencies between classes. No functionality change. Differential Revision: http://llvm-reviews.chandlerc.com/D3259 llvm-svn: 205394
* Added isTargetWindowsMSVC(), renamed isTargetMingw() to isTargetWindowsGNU()Yaron Keren2014-04-022-10/+24
| | | | | | | | | and isTargetCygwin() to isTargetWindowsCygwin() to be consistent with the four Windows environments in Triple.h. Suggestion by Saleem Abdulrasool! llvm-svn: 205393
* [ELF] Create Attribute class associated with Input files.Shankar Easwaran2014-04-023-26/+43
| | | | | | | The attribute class holds positional attributes for Input files specified on the command line for the Gnu flavor. llvm-svn: 205392
* [ELF] Add -z muldefs option.Shankar Easwaran2014-04-022-4/+17
| | | | | | | | | This adds -z muldefs option which is widely used over --allow-multiple-definition. This option is supported by the GNU linker. llvm-svn: 205391
* sanitise sign comparisonsSaleem Abdulrasool2014-04-0241-113/+131
| | | | | | | | This is a mechanical change addressing the various sign comparison warnings that are identified by both clang and gcc. This helps cleanup some of the warning spew that occurs during builds. llvm-svn: 205390
* build: ignore pragma warnings with GCCSaleem Abdulrasool2014-04-021-0/+6
| | | | | | | GCC does not support '#pragma mark'. Add -Wno-unknown-pragmas if the compiler supports it. llvm-svn: 205389
* Remove unused function.Rui Ueyama2014-04-021-4/+0
| | | | llvm-svn: 205388
* [LoopVectorizer] Count dependencies of consecutive pointers as uniformsHal Finkel2014-04-023-0/+65
| | | | | | | | | | | | | | | | | | | | | For the purpose of calculating the cost of the loop at various vectorization factors, we need to count dependencies of consecutive pointers as uniforms (which means that the VF = 1 cost is used for all overall VF values). For example, the TSVC benchmark function s173 has: ... %3 = add nsw i64 %indvars.iv, 16000 %arrayidx8 = getelementptr inbounds %struct.GlobalData* @global_data, i64 0, i32 0, i64 %3 ... and we must realize that the add will be a scalar in order to correctly deduce it to be profitable to vectorize this on PowerPC with VSX enabled. In fact, all dependencies of a consecutive pointer must be a scalar (uniform), and so we simply need to add all consecutive pointers to the worklist that currently detects collects uniforms. Fixes PR19296. llvm-svn: 205387
* Adjust comments regarding non-relocated abbrev offset in debug_info.dwoDavid Blaikie2014-04-022-2/+4
| | | | | | | | I'm not sure the comment in the implementation really adds a lot of value (it's clear that we emit zero when no symbol is provided, but it doesn't explain why we would do that). Happy to iterate. llvm-svn: 205386
* Split debug_loc and debug_loc.dwo emission into two separate functionsDavid Blaikie2014-04-022-21/+32
| | | | | | Based on code review feedback from Eric Christopher on r204697 llvm-svn: 205385
* Fix indentation.Rui Ueyama2014-04-021-7/+7
| | | | llvm-svn: 205384
* Remove unused function.Rui Ueyama2014-04-021-3/+0
| | | | llvm-svn: 205383
* DebugInfo: Introduce DebugLocList to encapsulate a list of DebugLocEntries ↵David Blaikie2014-04-025-12/+39
| | | | | | | | | | | | and an MC Label to refer to them This removes the magic-number-esque code creating/retrieving the same label for a debug_loc entry from two places and removes the last small piece of reusable logic from emitDebugLoc so that there will be less duplication when refactoring it into two functions (one for debug_loc, the other for debug_loc.dwo). llvm-svn: 205382
* Test case for the previous commit.Jim Ingham2014-04-021-0/+88
| | | | llvm-svn: 205381
* Add the ability to set python breakpoint commands from the SBBreakpoint & ↵Jim Ingham2014-04-0211-57/+236
| | | | | | | | | | | SBBreakpointLocation API's. You can either provide the function name, or function body text. Also propagate the compilation error up from where it is checked so we can report compilation errors. <rdar://problem/9898371> llvm-svn: 205380
* [ARM64][CollectLOH] Add some comments to explain how the LOHsQuentin Colombet2014-04-022-1/+60
| | | | | | | framework works (for the compiler part), since the design document is not available. llvm-svn: 205379
* Fix type mismatch assertion related to inalloca and PR19287Reid Kleckner2014-04-022-9/+16
| | | | | | | | Augment the test case from r205217 to catch this related bug. Fixes the Windows self-host which was failing on VariantValue.cpp. llvm-svn: 205378
* De-virtualize InputGraph's member functions.Rui Ueyama2014-04-021-10/+6
| | | | | | | There's no class derived from InputGraph. Making member functions virtual just makes it a bit inefficient. llvm-svn: 205377
* Remove unused enum Position::ANY and third parameter of insertElementAt().Rui Ueyama2014-04-012-13/+9
| | | | | | | | | insertElementAt()'s third parameter is not only unused but also ignored if you pass Position::END. The actual meaning of the parameter was obscure. Differential Revision: http://llvm-reviews.chandlerc.com/D3256 llvm-svn: 205376
* Merge ELFGroup with Group.Rui Ueyama2014-04-016-34/+14
| | | | | | | | Group class is designed for GNU LD's --start-group and --end-group. There's no obvious need to have two classes for it -- one as an abstract base class and the other as a concrete class. llvm-svn: 205375
* Add a doxygen comment to DebugLocEntry::Merge.Adrian Prantl2014-04-011-0/+3
| | | | llvm-svn: 205374
* DebugLocEntry: Actually merge the loc entry when returning true.David Blaikie2014-04-012-18/+38
| | | | | | | | | | Seems we didn't have any test coverage for merging... awesome. So I added some - but hit an llvm-objdump bug while I was there. I'm choosing not to shave that yak right now. Code review feedback/bug catch by Adrian Prantl in r205360. llvm-svn: 205373
* Rename insertOneElementAt -> insertElementAt.Rui Ueyama2014-04-014-9/+8
| | | | | | | insertElementsAt() is removed, so "One" in insertOneElementAt() no longer make much sense. Rename it for brevity. llvm-svn: 205372
* Remove duplicate code in unit tests carried in from main code.Rui Ueyama2014-04-011-23/+5
| | | | llvm-svn: 205371
* Harden this test against windows/changes.Eric Christopher2014-04-011-1/+1
| | | | llvm-svn: 205370
* Simplify InputGraphTest.Rui Ueyama2014-04-011-8/+4
| | | | llvm-svn: 205369
* Partially revert r204517 and fix a different way:Eric Christopher2014-04-012-10/+22
| | | | | | | | | | | | | We don't want to encourage the code to emit a lexical block for a function that needs one in order for the line table to change, we need to grab the line information from the body of the pattern that we were instantiated from, this code should do that. Modify the test case to ensure that we're still looking in the right place for all of the scopes and also that we haven't created a lexical block where we didn't need one. llvm-svn: 205368
* Fix accidental fallthrough in DebugLocEntry::hasSameValueOrLocationDavid Blaikie2014-04-011-5/+10
| | | | | | | | | | No test case (this would invoke UB by examining uninitialized members, etc, at best - and this code is apparently untested anyway - I'm about to fix that) Code review feedback from Adrian Prantl on r205360. llvm-svn: 205367
OpenPOWER on IntegriCloud