summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* DebugInfo: Inline DIVariable::isBlockByrefVariable() into its callersDuncan P. N. Exon Smith2015-04-142-7/+4
| | | | | | | I don't think this API is helping much. Change the callers to call `MDType::isBlockByrefStruct()` directly. llvm-svn: 234837
* DebugInfo: Gut DIObjCProperty and DIImportedEntityDuncan P. N. Exon Smith2015-04-147-57/+39
| | | | | | | Gut a couple more classes in the DIDescriptor hierarchy. Leave behind an implicit conversion to `DIDescriptor`, the old base class. llvm-svn: 234836
* DebugInfo: Gut DILocationDuncan P. N. Exon Smith2015-04-146-37/+23
| | | | | | | | This is along the same lines as r234832, but for `DILocation`. Clean out all accessors from `DILocation`. Any callers should be using `MDLocation` directly (e.g., via `operator->()`). llvm-svn: 234835
* ELF: Remove almost empty class.Rui Ueyama2015-04-144-32/+4
| | | | llvm-svn: 234834
* [LoopAccesses] Properly print whether memchecks are neededAdam Nemet2015-04-142-3/+46
| | | | | | | | | | | Fix oversight in -analyze output. PtrRtCheck contains the pointers that need to be checked against each other and not whether memchecks are necessary. For instance in the testcase PtrRtCheck has four elements but all no-alias so no checking is necessary. llvm-svn: 234833
* DebugInfo: Gut DIExpressionDuncan P. N. Exon Smith2015-04-148-50/+40
| | | | | | | | | | | | | | | | Completely gut `DIExpression`, turning it into a simple wrapper around `MDExpression *`. There are two bits of magic left: - It's constructed from `const MDExpression*` but convertible to `MDExpression*`. - It's default-constructed to `nullptr`. Otherwise, it should behave quite like a raw pointer. Once I've done the same to the rest of the `DIDescriptor` subclasses, I'll come back to delete them entirely (and update call sites as necessary to deal with the missing magic). llvm-svn: 234832
* Remove unused variable.Rui Ueyama2015-04-142-3/+1
| | | | llvm-svn: 234831
* ELF: Use less templates for ELF types.Rui Ueyama2015-04-149-83/+61
| | | | | | | These classes are templated but actually instantiated for only one ELF type. llvm-svn: 234830
* DebugInfo: Move an assertion into MDCompositeTypeBaseDuncan P. N. Exon Smith2015-04-142-4/+7
| | | | | | In the name of gutting the `DIDescriptor` hierarchy. llvm-svn: 234829
* Remove gcc xfail for TestTargetWatchAddress.Chaoren Lin2015-04-141-1/+0
| | | | llvm-svn: 234828
* [RewriteStatepointsForGC] Delete dead code [NFC]Philip Reames2015-04-141-26/+4
| | | | | | | | | Before we had real liveness, we needed to track every value that base pointer insertion code created because these now might be live. We now just rerun the data flow liveness algorithm (which is actually faster!) and no longer need the associated code. llvm-svn: 234827
* Remove gcc xfail for TestWatchpointMultipleThreads.Chaoren Lin2015-04-141-2/+0
| | | | llvm-svn: 234826
* DebugInfo: Move DILocation::computeNewDiscriminators()Duncan P. N. Exon Smith2015-04-145-9/+33
| | | | | | | | | As documented in PR23200 (and the FIXMEs I've added to the code here), this logic is fairly broken: it modifies the `LLVMContext` in a way that affects other modules and cannot be serialized to assembly/bitcode. For now, move it over to `MDLocation::computeNewDiscriminators()` anyway. llvm-svn: 234825
* AddDiscriminators: Create new MDLocation directlyDuncan P. N. Exon Smith2015-04-143-13/+3
| | | | | | | | | | I don't see a reason to add the `copyWithNewScope()` API over to `MDLocation` -- it seems to be a holdover from when creating locations required knowing details of operand layout -- so change `AddDiscriminators` to call `MDLocation::get()` directly. Should be no functionality change here. llvm-svn: 234824
* ELF: Define ELF{32,64}{LE,BE} types and use them everywhere.Rui Ueyama2015-04-1431-163/+111
| | | | llvm-svn: 234823
* [Orc] Revert 234815. Still haven't quite got this test figured out apparently.Lang Hames2015-04-141-27/+14
| | | | llvm-svn: 234822
* [TestPluginCommands] Add skipIfGcc at the right place.Siva Chandra2015-04-141-1/+1
| | | | | | | | | | | | | | | | | | | Summary: The decorator @expectedFailureGcc was at the wrong place skipping this test all together. This patch removes it and adds skipIfGcc at the right place. Test Plan: dotest.py -C <gcc|clang> -p TestPluginCommands Reviewers: chying, chaoren Reviewed By: chaoren Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9010 llvm-svn: 234821
* ELF: Remove useless templates that takes always the same ELF type.Rui Ueyama2015-04-146-48/+39
| | | | llvm-svn: 234820
* DebugInfo: Move DILocation::getDiscriminator() to MDLocationDuncan P. N. Exon Smith2015-04-142-17/+13
| | | | llvm-svn: 234819
* DebugInfo: Remove DIObjCProperty attribute accessors, NFCDuncan P. N. Exon Smith2015-04-132-32/+1
| | | | | | | | | There's only one user of the various `DIObjCProperty::is*Property()` accessors -- `DwarfUnit::constructTypeDIE()` -- and it's just using the reverse logic to reconstruct the bitfield. Drop this API and simplify the only caller. llvm-svn: 234818
* ELF: Fix headers including each other.Rui Ueyama2015-04-132-84/+68
| | | | | | | HexagonSectionChunks.h and HexagonTargetHandler.h include each other. This patch removes the former and merge it with the latter. llvm-svn: 234817
* DebugInfo: Move DIDerivedType accessors to MDDerivedType, NFCDuncan P. N. Exon Smith2015-04-132-10/+20
| | | | | | | Add accessors in `MDDerivedType` to downcast `getExtraData()`, matching those in `DIDerivedType`. llvm-svn: 234816
* [Orc] Make the OrcLazy hello.ll regression test output via stderr.Lang Hames2015-04-131-14/+27
| | | | | | | | | | This keeps the program and JIT output in sync, enabling FileCheck to test the order of target program and JIT events. In particular we can now test that main is not compiled until after the global constructor has run. llvm-svn: 234815
* Add new getModRefInfo API to determine whether an Instruction and a call ↵Daniel Berlin2015-04-132-0/+21
| | | | | | modify the same memory llvm-svn: 234814
* Common some code from MemoryDependenceAnalysis that will be used in MemorySSADaniel Berlin2015-04-132-17/+14
| | | | llvm-svn: 234813
* DebugInfo: Make DIDerivedType accessors more strictDuncan P. N. Exon Smith2015-04-131-11/+8
| | | | | | | | These accessors in `DIDerivedType` should only be called when `DbgNode` really is a `MDDerivedType`, not just a `MDDerivedTypeBase`. Assume that it is. llvm-svn: 234812
* Make getModRefInfo with a default location not crash.Daniel Berlin2015-04-134-9/+125
| | | | | | | Add getModRefInfo that works without location. Add unit tests. llvm-svn: 234811
* [Orc] Back out r234805 for hello.ll until I can figure out how to sync up theLang Hames2015-04-131-3/+2
| | | | | | output. llvm-svn: 234810
* [CodeGen] Combine concat_vectors of scalars into build_vector.Ahmed Bougacha2015-04-132-0/+185
| | | | | | | | | | | | | Combine something like: (v8i8 concat_vectors (v2i8 bitcast (i16)) x4) into: (v8i8 (bitcast (v4i16 BUILD_VECTOR (i16) x4))) If any of the scalars are floating point, use that throughout. Differential Revision: http://reviews.llvm.org/D8948 llvm-svn: 234809
* ELF: Move definitions from {Dynamic,ELF}File.h to .cpp files.Rui Ueyama2015-04-135-811/+897
| | | | | | | | | | | | | | | | | | | DynamicFile and ELFFile are instantiated for four different types, ELF{32,64}{BE,LE}. Because the classes are instantiated in each compilation unit, including the header file makes object files 10MB larger. On Windows, issue of excessive template instantiation is critical, since the regular COFF file supports only up to 65534 sections. (We could use the extended COFF file format, but generating that much COMDAT sections is not a good thing in the first place because it means long compile time and long link time.) I confirmed that this change makes AArch64TargetHandler.cpp.o from 21MB to 8.5MB. It feels still too large, but I think it's a good start. llvm-svn: 234808
* Allow printing functions with an optional annotationwriterDaniel Berlin2015-04-132-0/+11
| | | | llvm-svn: 234807
* [Orc] Disambiguate call to make_unique. This should fix the builders broken byLang Hames2015-04-131-1/+2
| | | | | | r234805. llvm-svn: 234806
* [Orc] Add an Orc layer for applying arbitrary transforms to IR, use it to addLang Hames2015-04-134-9/+194
| | | | | | | debugging output to the LLI orc-lazy JIT, and update the orc-lazy "hello.ll" test to actually test for lazy compilation. llvm-svn: 234805
* Add new warning -Wrange-loop-analysis to warn on copies during loops.Richard Trieu2015-04-134-3/+474
| | | | | | | | | | | | -Wrange-loop-analysis is a subgroup of -Wloop-analysis and will warn when a range-based for-loop makes copies of the elements in the range. If possible, suggest the proper type to prevent copies, or the non-reference to help distinguish copy versus non-copy forms. Existing warnings in -Wloop-analysis are moved to -Wfor-loop-analysis, also a subgroup of -Wloop-analysis. Differential Revision: http://reviews.llvm.org/D4169 llvm-svn: 234804
* Skip the ↵Ilia K2015-04-131-0/+1
| | | | | | TestGdbRemoteRegisterState.test_grp_register_save_restore_works_no_suffix_debugserver_dsym test on OS X according to the bug 23181 llvm-svn: 234803
* DebugInfo: Simplify a few more wrappersDuncan P. N. Exon Smith2015-04-131-114/+37
| | | | | | | | | | This is almost NFC, but I'm removing some assertions against `nullptr`. The assertions aren't worth all that much since we'll typically get segfaults at the same site (and I imagine ASan catches this sort of thing), and besides: the whole idea is to replace the `DIDescriptor` hierarchy with raw pointers to the new one. llvm-svn: 234802
* Settle on a specific triple for the aarch64 testcaseKrzysztof Parzyszek2015-04-131-1/+1
| | | | llvm-svn: 234801
* SelectionDAG: Stop using DIVariable::isInlinedFnArgument()Duncan P. N. Exon Smith2015-04-133-14/+3
| | | | | | | | | | | | | | | | | | Instead of calling the somewhat confusingly-named `DIVariable::isInlinedFnArgument()`, do the check directly here. There's possibly a small functionality change here: instead of `dyn_cast<>`'ing `DV->getScope()` to `MDSubprogram`, I'm looking up the scope chain for the actual subprogram. I suspect that this is a no-op for function arguments so in practise there isn't a real difference. I've also added a `FIXME` to check the `inlinedAt:` chain instead, since I wonder if that would be more reliable than the `MDSubprogram::describes()` function. Since this was the only user of `DIVariable::isInlinedFnArgument()`, delete it. llvm-svn: 234799
* [CMake] Updates to llvm-shlib to support overriding exports list and added ↵Chris Bieneman2015-04-132-10/+22
| | | | | | an option to export all symbols. llvm-svn: 234798
* Also add mtriple to the aarch64 testcaseKrzysztof Parzyszek2015-04-131-1/+1
| | | | llvm-svn: 234797
* DebugInfo: Remove DIGlobalVariable::getGlobal()Duncan P. N. Exon Smith2015-04-133-9/+3
| | | | | | | | `DIGlobalVariable::getGlobal()` isn't really helpful, it just does a `dyn_cast_or_null<>`. Simplify its only user by doing the cast directly and delete the code. llvm-svn: 234796
* Expand ADDO/SUBO on HexagonKrzysztof Parzyszek2015-04-131-0/+8
| | | | llvm-svn: 234795
* Skip libc++ data formmatting tests on Windows. libc++ hasn't been ported to ↵Adrian McCarthy2015-04-138-0/+8
| | | | | | windows yet. llvm-svn: 234794
* Add mtriple to test case to avoid problems with different naming schemesKrzysztof Parzyszek2015-04-131-1/+1
| | | | llvm-svn: 234793
* StripSymbols: Use DIGlobalVariable::getConstant() instead of getGlobal()Duncan P. N. Exon Smith2015-04-131-1/+1
| | | | | | | | | | | | | The only difference between the two is a `dyn_cast<>` to `GlobalVariable`. If optimizations have left anything behind when a global gets replaced, then it doesn't seem like the debug info is dead. I can't seem to find an optimization that would leave behind a non-`GlobalVariable` without nulling the reference entirely, so I haven't added a testcase (but I'll be deleting `getGlobal()` in a future commit). llvm-svn: 234792
* ELF: Simplify alignment check. NFC.Rui Ueyama2015-04-131-4/+1
| | | | llvm-svn: 234791
* ELF: s/ELFTy/ELFT/ for consistency.Rui Ueyama2015-04-135-20/+20
| | | | llvm-svn: 234790
* Revert r234613 (and follow-ups 234614, 234616, 234618), it caused PR23216.Nico Weber2015-04-1311-404/+371
| | | | llvm-svn: 234789
* GCC complains thusly: "attributes at the beginning of statement are ignored ↵Nick Lewycky2015-04-131-1/+1
| | | | | | [-Werror=attributes]". Very well then! NFC llvm-svn: 234788
* Revert r234786, it contained a bunch of stuff I did not mean to commit.Nico Weber2015-04-1316-385/+409
| | | | llvm-svn: 234787
OpenPOWER on IntegriCloud