summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ELF: make code concise using "using".Rui Ueyama2015-03-281-8/+12
| | | | llvm-svn: 233458
* A conversion from a scoped enumeration bitfield to an integral type is anRichard Smith2015-03-282-2/+12
| | | | | | | | integral promotion only if it converts to the underlying type or its promoted type, not if it converts to the promoted type that the bitfield would have it if were of the underlying type. llvm-svn: 233457
* Use cast instead of dyn_cast in combination with llvm_unreachable.Rui Ueyama2015-03-281-8/+7
| | | | llvm-svn: 233456
* Add initial version of a clang-fuzzer.Manuel Klimek2015-03-283-0/+51
| | | | llvm-svn: 233455
* Use lambda for std::find_if.Rui Ueyama2015-03-281-15/+8
| | | | llvm-svn: 233454
* Remove else after return.Rui Ueyama2015-03-271-4/+3
| | | | llvm-svn: 233453
* Use lambda instead of defining a class with operator().Rui Ueyama2015-03-271-9/+3
| | | | llvm-svn: 233452
* [ARM] Enable changing instprinter's behavior based on the per-functionAkira Hatanaka2015-03-274-141/+288
| | | | | | subtarget. llvm-svn: 233451
* ELF: make scopes of error code varaibles narrower.Rui Ueyama2015-03-271-11/+5
| | | | llvm-svn: 233450
* ELF: Simplify SymbolFile.Rui Ueyama2015-03-271-12/+2
| | | | llvm-svn: 233449
* clang-format ARMInstPrinter.{h,cpp} before I make changes to these files.Akira Hatanaka2015-03-272-267/+282
| | | | llvm-svn: 233448
* [SCEV] Look at backedge dominating conditions.Sanjoy Das2015-03-272-0/+95
| | | | | | | | | | | | | | | | Summary: This change teaches ScalarEvolution::isLoopBackedgeGuardedByCond to look at edges within the loop body that dominate the latch. We don't do an exhaustive search for all possible edges, but only a quick walk up the dom tree. Reviewers: atrick, hfinkel Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8627 llvm-svn: 233447
* Verifier: Check operands of MDType subclasses and MDCompileUnitDuncan P. N. Exon Smith2015-03-277-154/+278
| | | | | | | | | | | | | | | | | Add verify checks for `MDType` subclasses and for `MDCompileUnit`. These new checks don't yet incorporate everything from `Verify()`, but at least they sanity check the operands. Also downcast accessors as possible. A lot of these accessors can't be downcast as far as we'd like because of arrays of typed objects (stored in a generic `MDTuple`) and `MDString`-based type references. Eventually I'll port over `DIRef<>` and `DITypedArray<>` from `DebugInfo.h` to clean those up as well. Updated bitrotted testcases separately in r233415 and r233443 to reduce churn on the off-chance this needs to be reverted. llvm-svn: 233446
* DebugInfo: Require non-null in DIBuilder::retainType()Duncan P. N. Exon Smith2015-03-271-1/+4
| | | | | | | Assert that a non-null value is being passed in. Note that I fixed the one offender in clang in r233443. llvm-svn: 233445
* Remove unused forward declaration.Rui Ueyama2015-03-271-1/+0
| | | | llvm-svn: 233444
* DebugInfo: Don't call DIBuilder::retainType(nullptr)Duncan P. N. Exon Smith2015-03-271-3/+4
| | | | | | | | | | An upcoming LLVM commit will make calling `DIBuilder::retainType(nullptr)` illegal (actually, it already was, but it wasn't verified). Check for null before calling. This triggered in test/CodeGenObjC/debug-info-block-helper.m. llvm-svn: 233443
* ELF: Use llvm::Optional<StringRef> instead of a bool and a StringRef.Rui Ueyama2015-03-271-7/+4
| | | | llvm-svn: 233442
* Remove virtual from some ELFLinkingContext member functions.Rui Ueyama2015-03-271-8/+6
| | | | | | | | I expected that these functions are overridden somewhere in the LLD code base, but they are actually not. Removing virtual for readability (and performance). llvm-svn: 233441
* Reorder ELFLinkingContext member functions and run clang-format.Rui Ueyama2015-03-271-26/+7
| | | | | | | So that they look to be following the same style as other functions around them. llvm-svn: 233440
* Fixing a bug with optimized catch-all handlers in WinEHPrepareAndrew Kaylor2015-03-271-5/+14
| | | | llvm-svn: 233439
* ELF: Do not use llvm::Optional for _maxPageSize.Rui Ueyama2015-03-271-11/+3
| | | | | | | | Use of llvm::Optional seems useless here because we can set the default value 0x1000 as an initial value to the varaible. This patch also de-virtualize the accessor functions. llvm-svn: 233438
* Fix comment style to follow more common style.Rui Ueyama2015-03-271-6/+10
| | | | llvm-svn: 233437
* ELF: Make addSearchPath return void instead of bool.Rui Ueyama2015-03-271-4/+1
| | | | | | | | No one uses return value of the member function, and return value is always true. Returning a value doesn't make sense. This patch also de-virtualize the fucntion. llvm-svn: 233436
* ELF: Remove redundant =delete.Rui Ueyama2015-03-271-3/+0
| | | | | | | Since we have a (protected) constructor having two parameters, the default constructor is not defined even if we don't do =delete. llvm-svn: 233435
* ELF: Use C++11 non-member initialization.Rui Ueyama2015-03-272-30/+20
| | | | llvm-svn: 233434
* Remove unused varaible.Rui Ueyama2015-03-271-1/+0
| | | | llvm-svn: 233433
* Verifier: Call verifyModule() from llc and optDuncan P. N. Exon Smith2015-03-2718-83/+123
| | | | | | | | | | | | | | | | | | | | | | Change `llc` and `opt` to run `verifyModule()`. This ensures that we check the full module before `FunctionPass::doInitialization()` ever gets called (I was getting crashes in `DwarfDebug` instead of verifier failures when testing a WIP patch that checks operands of compile units). In `opt`, also move up debug-info-stripping so that it still runs before verification. There was a fair bit of broken code that was sitting in tree. Interestingly, some were cases of a `select` that referred to itself in `-instcombine` tests (apparently an intermediate result). I split them off to `*-noverify.ll` tests with RUN lines like this: opt < %s -S -disable-verify -instcombine | opt -S | FileCheck %s This avoids verifying the input file (so we can get the broken code into `-instcombine), but still verifies the output with a second call to `opt` (to verify that `-instcombine` will clean it up like it should). llvm-svn: 233432
* PECOFF: Use C++11 non-static member initialization.Rui Ueyama2015-03-271-56/+37
| | | | llvm-svn: 233431
* [modules] Allow a function template definition if we have a pre-existing but ↵Richard Smith2015-03-273-9/+33
| | | | | | not visible definition of the same template. llvm-svn: 233430
* Fix call to MCInstPrinter::printInst to pass MCSubtargetInfo.Akira Hatanaka2015-03-271-1/+2
| | | | | | The interface of this function was changed in r233411. llvm-svn: 233429
* [CMake] Removing duplicates from the list of test suites to generate targets ↵Chris Bieneman2015-03-271-0/+5
| | | | | | | | for. Not doing this causes some headaches for users migrating from autoconf to CMake. llvm-svn: 233428
* fix typo and 80-col; NFCSanjay Patel2015-03-271-2/+2
| | | | llvm-svn: 233427
* [Modules] Work around PR23030 again, in a different code path, whereChandler Carruth2015-03-271-6/+9
| | | | | | | | | | I again added the "reasonable" assertions and they again fired during a modules self-host. This hopefully will un-break the self-host build bot. No test case handy and adding one seems to have little or no value really. llvm-svn: 233426
* Add file forgotten from r233420.Richard Smith2015-03-271-0/+1
| | | | llvm-svn: 233425
* Use override keyword instead of virtual.Rui Ueyama2015-03-272-4/+4
| | | | llvm-svn: 233424
* Remove empty constructors.Rui Ueyama2015-03-275-19/+8
| | | | llvm-svn: 233423
* Add two small structs for readability in place of std::pair and std::tuple. NFC.Rafael Espindola2015-03-272-14/+39
| | | | llvm-svn: 233422
* Added a testcase that verifies that LLDB can loadSean Callanan2015-03-273-0/+100
| | | | | | | | | Clang modules out of the Mac OS X SDK and use their types/functions. <rdar://problem/18802064> llvm-svn: 233421
* [modules] When merging class definitions, make the retained definition visibleRichard Smith2015-03-277-44/+50
| | | | | | | | if the merged definition is visible, and perform lookups into all merged copies of the definition (not just for special members) so that we can complete the redecl chains for members of the class. llvm-svn: 233420
* Constrain the type of a parameter now that callers without this constraint ↵David Blaikie2015-03-272-5/+3
| | | | | | have been removed. llvm-svn: 233419
* Fix formatting.Rui Ueyama2015-03-273-11/+4
| | | | llvm-svn: 233418
* Remove dead code.Rui Ueyama2015-03-271-28/+0
| | | | | | | I actually spend my time to understand this piece of code and then realized that this is all dead. llvm-svn: 233417
* Fix lld command on Windows for many tests.Adrian McCarthy2015-03-276-3/+21
| | | | llvm-svn: 233416
* DebugInfo: Fix bad debug info for compile units and typesDuncan P. N. Exon Smith2015-03-2794-102/+102
| | | | | | | | | | | | | | | | Fix debug info in these tests, which started failing with a WIP patch to verify compile units and types. The problems look like they were all caused by bitrot. They fell into these categories: - Using `!{i32 0}` instead of `!{}`. - Using `!{null}` instead of `!{}`. - Using `!MDExpression()` instead of `!{}`. - Using `!8` instead of `!{!8}`. - `file:` references that pointed at `MDCompileUnit`s instead of the same `MDFile` as the compile unit. - `file:` references that were numerically off-by-one or (off-by-ten). llvm-svn: 233415
* [R600/SI] Fix testcase check line.Ahmed Bougacha2015-03-271-1/+1
| | | | | | Missing colon, instruction typo. llvm-svn: 233414
* Add another sanity check for swapcontext, which is currently unsupported. ↵Nick Lewycky2015-03-271-1/+1
| | | | | | Patch by Alexey Samsonov! llvm-svn: 233413
* [AArch64InstPrinter] Use the feature bits of the subtarget passed to the printAkira Hatanaka2015-03-272-6/+14
| | | | | | | | | | | method. This enables the instprinter to print a different system register name based on the feature bits of the per-function subtarget. Differential Revision: http://reviews.llvm.org/D8668 llvm-svn: 233412
* [MCInstPrinter] Enable MCInstPrinter to change its behavior based on theAkira Hatanaka2015-03-2739-108/+229
| | | | | | | | | | | | | | | | | | | | per-function subtarget. Currently, code-gen passes the default or generic subtarget to the constructors of MCInstPrinter subclasses (see LLVMTargetMachine::addPassesToEmitFile), which enables some targets (AArch64, ARM, and X86) to change their instprinter's behavior based on the subtarget feature bits. Since the backend can now use different subtargets for each function, instprinter has to be changed to use the per-function subtarget rather than the default subtarget. This patch takes the first step towards enabling instprinter to change its behavior based on the per-function subtarget. It adds a bit "PassSubtarget" to AsmWriter which tells table-gen to pass a reference to MCSubtargetInfo to the various print methods table-gen auto-generates. I will follow up with changes to instprinters of AArch64, ARM, and X86. llvm-svn: 233411
* [CodeGen] Don't attempt a tail-call with a non-forwarded explicit sret.Ahmed Bougacha2015-03-272-0/+111
| | | | | | | | | | | | Tailcalls are only OK with forwarded sret pointers. With explicit sret, one approximation is to check that the pointer isn't an Instruction, as in that case it might point into some local memory (alloca). That's not OK with tailcalls. Explicit sret counterpart to r233409. Differential Revison: http://reviews.llvm.org/D8510 llvm-svn: 233410
* [CodeGen] Don't attempt a tail-call with implicit sret.Ahmed Bougacha2015-03-272-0/+50
| | | | | | | | | Tailcalls are only OK with forwarded sret pointers. With sret demotion, they're not, as we'd have a pointer into a soon-to-be-dead stack frame. Differential Revison: http://reviews.llvm.org/D8510 llvm-svn: 233409
OpenPOWER on IntegriCloud