summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix handling of redeclaration lookup for using declarations, where the priorRichard Smith2014-04-113-3/+47
| | | | | | | | | | | declaration is not visible. Previously we didn't find hidden friend names in this redeclaration lookup, because we forgot to treat it as a redeclaration lookup. Conversely, we did find some local extern names, but those don't actually conflict with a namespace-scope using declaration, because the only conflicts we can get are scope conflicts, not conflicts due to the entities being members of the same namespace. llvm-svn: 206011
* [MS-ABI] Update Comments in RecordLayoutBuilder - no functional changeWarren Hunt2014-04-111-31/+67
| | | | | | | | This patch updates the comments in RecordLayoutBuilder about record layout in the MS-ABI. Also, I added a section about known incompatibilities. llvm-svn: 206010
* Use value types instead of 'new'd objects to store dwarf labels for asm filesDavid Blaikie2014-04-112-26/+12
| | | | llvm-svn: 206009
* Switch from constexpr to const char *constDuncan P. N. Exon Smith2014-04-111-2/+2
| | | | | | Responding to Richard Smith's review of r205037. llvm-svn: 206008
* [ARM64,C++11]: Range'ify use-list iterators in DAGToDAG.Jim Grosbach2014-04-111-6/+3
| | | | llvm-svn: 206007
* [ARM64,C++11]: More range-based loop simplification.Jim Grosbach2014-04-111-3/+2
| | | | llvm-svn: 206006
* SDNode: Add uses() iterator_range convenience methods.Jim Grosbach2014-04-111-0/+7
| | | | llvm-svn: 206005
* [MS-ABI] Update virtual base padding rules to match MSVC 10+Warren Hunt2014-04-113-31/+24
| | | | | | | | | | In version 9 (VS2010) (and prior)? versions of msvc, if the last field in a record was a bitfield padding equal to the size of the storage class of that bitfield was added before each vbase and vtordisp. This patch removes that feature from clang and updates the lit tests to reflect it. llvm-svn: 206004
* Remove lazy-initialization of section caches in MCContextDavid Blaikie2014-04-102-53/+23
| | | | | | | | This seems to have been a cargo-culted habit from the very first such cache which didn't have any specific justification (but might've been a layering constraint at the time). llvm-svn: 206003
* InstrProf: Rename Decl parameters from S to DDuncan P. N. Exon Smith2014-04-101-21/+21
| | | | | | | | No functionality change. <rdar://problem/16435801> llvm-svn: 206002
* InstrProf: Read unsigned numbers with strtoul and strtoullDuncan P. N. Exon Smith2014-04-101-6/+6
| | | | | | | | | | | | | | | | | | Fixes a bug where unsigned numbers are read using strtol and strtoll. I don't have a testcase because this bug is effectively unobservable right now. To expose the problem in the hash, we would need a function with greater than INT64_MAX counters, which we don't handle anyway. To expose the problem in the function count, we'd need a function with greater than INT32_MAX counters; this is theoretically observable, but it isn't a practical testcase to check in. An upcoming commit changes the hash to be non-trivial, so we'll get some coverage eventually. <rdar://problem/16435801> llvm-svn: 206001
* [MS-ABI] Fix to vbptr injection site calculation.Warren Hunt2014-04-103-117/+158
| | | | | | | | The vbptr is injected after the last non-virtual base lexographically rather than the last non-virtual base in layout order. Test case included. Also, some line ending fixes. llvm-svn: 206000
* Debug info: (Bugfix) Make sure artificial functions like _GLOBAL__I_aAdrian Prantl2014-04-1010-41/+83
| | | | | | | | | | | | | | | | are not associated with any source lines. Previously, if the Location of a Decl was empty, EmitFunctionStart would just keep using CurLoc, which would sometimes be correct (e.g., thunks) but in other cases would just point to a hilariously random location. This patch fixes this by completely eliminating all uses of CurLoc from EmitFunctionStart and rather have clients explicitly pass in a SourceLocation for the function header and the function body. rdar://problem/14985269 llvm-svn: 205999
* Update Clang for LLVM split stack API changes in r205997Reid Kleckner2014-04-103-1/+20
| | | | | | Patch by Alex Crichton! llvm-svn: 205998
* Move the segmented stack switch to a function attributeReid Kleckner2014-04-1017-95/+137
| | | | | | | | | This removes the -segmented-stacks command line flag in favor of a per-function "split-stack" attribute. Patch by Luqman Aden and Alex Crichton! llvm-svn: 205997
* [stack protector] Refactor and clean-up test. No functionality change.Josh Magee2014-04-101-142/+221
| | | | | | | | | Refactored stack-protector.ll to use new-style function attributes everywhere and eliminated unnecessary attributes. This cleanup is in preparation for an upcoming test change. llvm-svn: 205996
* Test commit.Louis Gerbarg2014-04-101-0/+1
| | | | | | Update contact information in CREDITS.TXT. llvm-svn: 205995
* [MS-ABI] Fixed __declspec(align()) on bitfields under #pragma pack.Warren Hunt2014-04-102-48/+184
| | | | | | | | | | | | | | | When __declspec(align()) is applied to a bitfield it affects the alignment rather than the required alignment of the struct. The major feature that this patch adds is that the alignment of the structure obeys the alignment of __declspec(align()) from the bitfield over the value specified in pragma pack. Test cases are included. The patch also includes some small cleanups in recordlayoutbuilder and some cleanups to some lit tests, including line endings (but no functionality change to lit tests) llvm-svn: 205994
* Simplify make_range by using move semanticsDavid Blaikie2014-04-101-2/+2
| | | | | | | | | Move the iterators into the range the same way the range's ctor moves them into the members. Also remove some redundant top level parens in the return statement. llvm-svn: 205993
* [ARM64,C++11]: Range'ify loops in InstrInfo.Jim Grosbach2014-04-101-10/+5
| | | | llvm-svn: 205992
* Remove the use of "%e" as it is not a valid expansion like "%t".Kaelyn Takata2014-04-101-2/+2
| | | | llvm-svn: 205991
* Reimplement debug info compression by compressing the whole section, rather ↵David Blaikie2014-04-105-8/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | than a fragment. To support compressing the debug_line section that contains multiple fragments (due, I believe, to variation in choices of line table encoding depending on the size of instruction ranges in the actual program code) we needed to support compressing multiple MCFragments in a single pass. This patch implements that behavior by mutating the post-relaxed and relocated section to be the compressed form of its former self, including renaming the section. This is a more flexible (and less invasive, to a degree) implementation that will allow for other features such as "use compression only if it's smaller than the uncompressed data". Compressing debug_frame would be a possible further extension to this work, but I've left it for now. The hurdle there is alignment sections - which might require going as far as to refactor MCAssembler.cpp:writeFragment to handle writing to a byte buffer or an MCObjectWriter (there's already a virtual call there, so it shouldn't add substantial compile-time cost) which could in turn involve refactoring MCAsmBackend::writeNopData to use that same abstraction... which involves touching all the backends. This would remove the limited handling of fragment writing seen in ELFObjectWriter.cpp:getUncompressedData which would be nice - but it's more invasive. I did discover that I (perhaps obviously) don't need to handle relocations when I rewrite the fragments - since the relocations have already been applied and computed (and stored into ELFObjectWriter::Relocations) by this stage (necessarily, because we need to have written any immediate values or assembly-time relocations into the data already before we compress it, which we have). The test case doesn't necessarily cover that in detail - I can add more test coverage if that's preferred. llvm-svn: 205990
* Revert debug info compression support.David Blaikie2014-04-105-79/+5
| | | | | | | | | | To support compression for debug_line and debug_frame a different approach is required. To simplify review, revert the old implementation and XFAIL the test case. New implementation to follow shortly. Reverts r205059 and r204958. llvm-svn: 205989
* [ARM64,C++11]: Range'ify loops in the conditional-compare pass.Jim Grosbach2014-04-101-27/+25
| | | | llvm-svn: 205988
* iterator_range: Add an llvm::make_range() helper method.Jim Grosbach2014-04-101-0/+8
| | | | | | | | Convenience wrapper to make dealing with sub-ranges easier. Like the iterator_range<> itself, if/when this sort of thing gets standards blessing, it will be replaced by the official version. llvm-svn: 205987
* For the ARM integrated assembler add checking of theKevin Enderby2014-04-104-433/+9248
| | | | | | | | | | | | | | | | | | | alignments on vld/vst instructions. And report errors for alignments that are not supported. While this is a large diff and an big test case, the changes are very straight forward. But pretty much had to touch all vld/vst instructions changing the addrmode to one of the new ones that where added will do the proper checking for the specific instruction. FYI, re-committing this with a tweak so MemoryOp's default constructor is trivial and will work with MSVC 2012. Thanks to Reid Kleckner and Jim Grosbach for help with the tweak. rdar://11312406 llvm-svn: 205986
* todo: Update todo listTobias Grosser2014-04-102-29/+64
| | | | llvm-svn: 205985
* www: Fix typoTobias Grosser2014-04-101-1/+1
| | | | llvm-svn: 205984
* todo: Building against an installed LLVM worksTobias Grosser2014-04-101-1/+1
| | | | | | We only care about cmake and the buildbots test that it works. llvm-svn: 205983
* www: We have no interest in FORTRAN support in test suiteTobias Grosser2014-04-101-4/+1
| | | | llvm-svn: 205982
* inalloca: Pad the struct *after* inserting each argReid Kleckner2014-04-102-11/+23
| | | | | | | This ensures that the overall struct size will be a multiple of 4, as required by the ABI. llvm-svn: 205981
* Add link to meeting notesTobias Grosser2014-04-101-1/+4
| | | | llvm-svn: 205980
* Revert "Follow-up to r205973: change the return type to const MDNode*."Adrian Prantl2014-04-101-2/+3
| | | | | | | | This reverts commit r205974, it turns out that this wasn't such a great idea after all. Using DIVariable as return value is self-documenting and marginally more type safe. llvm-svn: 205979
* <rdar://problem/16540961>Enrico Granata2014-04-101-4/+2
| | | | | | | | The "unexpected value" message only matters to me, but is bound to make the experience more confusing for people when some uninitialized memory looks like an NSNumber and then can't be formatted properly, and that error comes out in the UI Just drop the error message entirely - nobody but me cares llvm-svn: 205978
* CodeGen: Move PGO initialization into Release()Justin Bogner2014-04-102-7/+5
| | | | | | | | Emitting the PGO initialization in EmitGlobalFunctionDefinition is inefficient, since this only has an effect once per module. We move this to Release() with the rest of the once-per-module logic. llvm-svn: 205977
* Some minor improvements to the thread safety intermediate language -- mostly ↵Aaron Ballman2014-04-101-82/+57
| | | | | | const correctness and reformatting. Fixes the types involved with castOpcode(). llvm-svn: 205976
* When module umbrellas change, rebuild themBen Langmuir2014-04-107-61/+80
| | | | | | | With the VFS, it is easy to hit modified umbrellas by overriding the umbrella header, and what we want is to rebuild, not to fail. llvm-svn: 205975
* Follow-up to r205973: change the return type to const MDNode*.Adrian Prantl2014-04-101-3/+2
| | | | llvm-svn: 205974
* Debug info: Factor the retrieving of the DIVariable from a MachineInstrAdrian Prantl2014-04-102-3/+11
| | | | | | into a function. llvm-svn: 205973
* CodeGen: Clean up CommonLinkage calculationDavid Majnemer2014-04-101-10/+35
| | | | | | No functionality change. llvm-svn: 205972
* only delinearize when the access function is not affineSebastian Pop2014-04-104-31/+41
| | | | llvm-svn: 205971
* AddLLVM: Mute the prefix "lib" in SHARED on win32.NAKAMURA Takumi2014-04-101-0/+5
| | | | | | | - LLVMSupport.dll - libLLVMSupport.dll.a llvm-svn: 205969
* [mips] NotMips64 predicate is really a test for 32-bit GPR's.Daniel Sanders2014-04-102-4/+6
| | | | | | | | | | | | | | | | Summary: Similarly, the HasMips64 on the 64-bit move InstAlias is a test for 64-bit GPR's. No functional change. Reviewers: matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://reviews.llvm.org/D3263 llvm-svn: 205968
* ARM: Add command line option to select big or little endianChristian Pirker2014-04-102-16/+88
| | | | llvm-svn: 205967
* AArch64: Add command line option to select big or little endianChristian Pirker2014-04-103-5/+25
| | | | llvm-svn: 205966
* Reapply "SLPVectorizer: Ignore users that are insertelements we can ↵Arnold Schwaighofer2014-04-102-30/+89
| | | | | | | | | reschedule them" This commit reapplies 205018. After 205855 we should correctly vectorize intrinsics. llvm-svn: 205965
* [mips] Switch the MIPS-III and MIPS-IV assembler tests to use -mcpu=mips4.Daniel Sanders2014-04-105-11/+9
| | | | | | | | | | | | | | | | | | Summary: It is now the smallest superset for these ISA's. FeatureMips4 now contains FeatureFPIdx since [ls][dw]xc1 were added in MIPS-IV. Made the FPIdx feature bit lowercase so that it can be used in the -mattr option. Depends on D3274 Reviewers: matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://reviews.llvm.org/D3275 llvm-svn: 205964
* ARM64/*/LLVMBuild.txt: Prune redundant deps.NAKAMURA Takumi2014-04-103-3/+3
| | | | llvm-svn: 205963
* LLVMBuild.txt: Add missing dependencies.NAKAMURA Takumi2014-04-107-7/+7
| | | | llvm-svn: 205962
* LLVMBuild.txt: Reformat.NAKAMURA Takumi2014-04-1014-16/+12
| | | | llvm-svn: 205961
OpenPOWER on IntegriCloud