summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* R600: Remove orphaned declarationsVincent Lejeune2013-12-071-3/+0
| | | | llvm-svn: 196633
* llvm-cov: Added test.h header to tests.Yuchen Wu2013-12-077-80/+86
| | | | llvm-svn: 196632
* If the StepThrough plan makes it back to the frame in which it started, it ↵Jim Ingham2013-12-071-1/+1
| | | | | | | | | | | should say it succeeded, since the plan that was using it can figure out what to do from there. It should only say it failed if it truely went off into the weeds. <rdar://problem/15597807> llvm-svn: 196631
* Pass correct flags to assembler and linker for OpenBSD on AMD64, PowerPCJoerg Sonnenberger2013-12-072-0/+67
| | | | | | and MIPS64. From Brad Smith. llvm-svn: 196630
* ObjectiveC. Continuing implementation of objc_bridge_relatedFariborz Jahanian2013-12-079-0/+335
| | | | | | | | | attribute in sema and issuing a variety of diagnostics lazily for misuse of this attribute (and what to do) when converting from CF types to ObjectiveC types (and vice versa). // rdar://15499111 llvm-svn: 196629
* Re-submit r195852 with GroupedSectionsPass change.Rui Ueyama2013-12-075-113/+29
| | | | | | | | | | | | | | | | GroupedSectionsPass was a complicated pass. That pass's job was to reorder atoms by section name, so that the atoms with the same section prefix will be emitted consecutively to the executable. The pass added layout edges to atoms, and let the layout pass to actually reorder them. This patch simplifies the design by making GroupedSectionPass to directly reorder atoms, rather than adding layout edges. This resembles ELF's ArrayOrderPass. This patch improves the performance of LLD; it used to take 7.1 seconds to link LLD with LLD on my Macbook Pro, but it now takes 6.1 seconds. llvm-svn: 196628
* Fixing assertion failure introduced in 196602.Warren Hunt2013-12-072-8/+5
| | | | | | Also includes a minor refactor with no functional change. llvm-svn: 196627
* Fix the segfault reported in PR 11990.Kaelyn Uhrain2013-12-077-11/+53
| | | | | | | | The sefault occurs due to an infinite loop when the verifier tries to determine the size of a type of the form "%rt = type { %rt }" while checking an alloca of the type. llvm-svn: 196626
* Replace the last auto_ptr by unique_ptrJean-Daniel Dupas2013-12-061-1/+1
| | | | llvm-svn: 196625
* Fixed Makefile-based install to place python packages in the LLDB install tree.Sylvestre Ledru2013-12-062-1/+6
| | | | | | | | | Failure to install python packages now fails the make install. This patch properly handles the optional DESTDIR variable. Patch by Todd Fiala llvm-svn: 196624
* Fix a narrowing warning due to a type mismatch (size_t vs uint64).Kaelyn Uhrain2013-12-061-1/+1
| | | | | | | | lib/Transforms/Instrumentation/AddressSanitizer.cpp:1405:36: error: non-constant-expression cannot be narrowed from type 'uint64_t' (aka 'unsigned long long') to 'size_t' (aka 'unsigned int') in initializer list [-Wc++11-narrowing] getAllocaSizeInBytes(AI), ^~~~~~~~~~~~~~~~~~~~~~~~ llvm-svn: 196623
* Cache AllowAtInIdentifier as class variable in AsmLexerDavid Peixotto2013-12-062-1/+2
| | | | | | | | This commit caches the value of the AllowAtInIdentifier variable as a class variable in AsmLexer. We do this to avoid repeated MAI queries and string comparisons each time we lex an identifier. llvm-svn: 196622
* test/Driver: Check that @ arguments that aren't files are handledJustin Bogner2013-12-061-0/+7
| | | | | | This tests the bug fix in llvm r196620. llvm-svn: 196621
* Support: Fix handling of args that begin with @ but aren't filesJustin Bogner2013-12-061-0/+3
| | | | | | | | | | | | | | | Command line arguments that begin with @ but aren't a path to an existing file currently cause later @file arguments to be ignored. Correctly skip over these arguments instead of trying to read a non-existent file 20 times and giving up. Since the problem manifests in the clang driver, the test is in that repository. Fixes rdar://problem/15590906 llvm-svn: 196620
* Added support for mcpu kraitAna Pazos2013-12-063-3/+24
| | | | | | | | | | | | - krait processor currently modeled with the same features as A9. - Krait processor additionally has VFP4 (fused multiply add/sub) and hardware division features enabled. - krait has currently the same Schedule model as A9 - krait cpu flag is not recognized by the GNU assembler yet, it is replaced with march=armv7-a to avoid a lower march from being used. llvm-svn: 196619
* Added support for mcpu kraitAna Pazos2013-12-066-7/+31
| | | | | | | | | | | | - krait processor currently modeled with the same features as A9. - Krait processor additionally has VFP4 (fused multiply add/sub) and hardware division features enabled. - krait has currently the same Schedule model as A9 - krait cpu flag is not recognized by the GNU assembler yet, it is replaced with march=armv7-a to avoid a lower march from being used. llvm-svn: 196618
* DebugInfo: Move unit begin/end labels into the unitDavid Blaikie2013-12-062-22/+29
| | | | | | | | This removes another case of spooky action at a distance (building the same label names in multiple places creating an implicit dependency between those places) and helps pave the way for type units. llvm-svn: 196617
* Do a little more prevention against SBValues getting used after the world ↵Jim Ingham2013-12-061-2/+21
| | | | | | has been torn down around them. llvm-svn: 196616
* DebugInfo: Include the section and start-of-section label in the unitDavid Blaikie2013-12-064-16/+59
| | | | | | | This is a precursor to moving type units into the correct (debug_types) section with comdat groups and full type unit headers. llvm-svn: 196615
* Add a setting to allow users to enable expressions that crash LLDB to show ↵Greg Clayton2013-12-063-11/+25
| | | | | | | | up in crash logs. <rdar://problem/11549320> llvm-svn: 196613
* Fix integer tests on platforms where uint64_t is 'unsigned long long'.Will Dietz2013-12-063-3/+3
| | | | llvm-svn: 196612
* Don't use isNullValue to evaluate ConstantExprDuncan P. N. Exon Smith2013-12-062-1/+23
| | | | | | | | ConstantExpr can evaluate to false even when isNullValue gives false. Fixes PR18143. llvm-svn: 196611
* Fixed the GDBRemoteCommuncation to return a new ↵Greg Clayton2013-12-068-327/+382
| | | | | | | | | | | | | | GDBRemoteCommuncation::PacketResult enum for all packet sends/receives. <rdar://problem/15600045> Due to other recent changes, all connections to GDB servers that didn't support the "QStartNoAckMode" packet would cause us to fail to attach to the remote GDB server. The problem was that SendPacket* and WaitForResponse* packets would return a size_t indicating the number of bytes sent/received. The other issue was WaitForResponse* packets would strip the leading '$' and the trailing "#CC" (checksum) bytes, so the unimplemented response packet of "$#00" would get stripped and the WaitForResponse* packets would return 0. These new error codes give us flexibility to to more intelligent things in response to what is returned. llvm-svn: 196610
* llvm-cov: Regenerated gcov files with r195513 changes.Yuchen Wu2013-12-062-0/+0
| | | | llvm-svn: 196609
* Fix test case inefficiencyDavid Peixotto2013-12-061-5/+5
| | | | | | Was accidently passing the file to clang twice. No functionaly change. llvm-svn: 196608
* Integrated assembler incorrectly lexes ARM-style commentsDavid Peixotto2013-12-062-4/+31
| | | | | | | | | | | | | | | | | | | | | | | | The integrated assembler fails to properly lex arm comments when they are adjacent to an identifier in the input stream. The reason is that the arm comment symbol '@' is also used as symbol variant in other assembly languages so when lexing an identifier it allows the '@' symbol as part of the identifier. Example: $ cat comment.s foo: add r0, r0@got to parse this as a comment $ llvm-mc -triple armv7 comment.s comment.s:4:18: error: unexpected token in argument list add r0, r0@got to parse this as a comment ^ This should be parsed as correctly as `add r0, r0`. This commit modifes the assembly lexer to not include the '@' symbol in identifiers when lexing for targets that use '@' for comments. llvm-svn: 196607
* Add option to use temporary file for assembling with clangDavid Peixotto2013-12-063-0/+17
| | | | | | | | | | | | | | | | | | | | | | This commit adds the flag '-via-file-asm' to the clang driver. The purpose of this flag is to have a way to test that clang can consume the assembly code that it outputs. When passed this flag, clang will generate a temporary file that contains the assembly output from the compile step. This assembly file will then be consumed by either the integrated assembler or the external assembler. To test that the integrated assembler can consume its own output compile with: $ clang -integrated-assembler -via-file-asm Without the '-via-file-asm' flag, clang would directly create the object file when using the integrated assembler. With the flag it will first create the temporary assembly file and then read that file and assemble it with the integrated assembler. The flow is similar to -save-temps, except that it only effects the assembly input and the temporary file is not saved. llvm-svn: 196606
* [MS-ABI] adds padding before all vbases after a bitfieldWarren Hunt2013-12-062-68/+99
| | | | | | | | | | MS-ABI adds padding before *every* vbase if the last field in a record is a bit-field. This changes clangs behavior to match. I also fix some windows-style line endings in the test file. Differential Revision: http://llvm-reviews.chandlerc.com/D2277 llvm-svn: 196605
* micro optimization: isSizedDerivedType is only called with arrays, vectors ↵Rafael Espindola2013-12-061-6/+0
| | | | | | and structs. llvm-svn: 196604
* [MS-ABI] Fix alias-avoidance padding between basesWarren Hunt2013-12-064-63/+272
| | | | | | | | | | | Adds padding between bases or virtual bases in an attempt to avoid aliasing of zero-sized sub-objects. The approach used by the ABI adds two more bits of state. Detailed comments are in the code. Test cases included. Differential Revision: http://llvm-reviews.chandlerc.com/D2258 llvm-svn: 196602
* DwarfDebug: Walk skeletons during fission pubtypes/pubnames emissionDavid Blaikie2013-12-061-10/+10
| | | | | | | | | | | This more accurately represents the actual walk - pubnames/pubtypes are emitted into the .o, not the .dwo, and reference the skeletons not the full units. Use the newly established ID->index invariant to lookup the underlying full unit to retrieve its public names and types. llvm-svn: 196601
* DebugInfo: Ensure unit IDs (for non-skeletal units) match thein index in the ↵David Blaikie2013-12-063-18/+15
| | | | | | | | | | | | | | | | | | | list This simplifies reasoning about the code and enables simple navigation from a skeleton to its full unit. (currently there are no type unit skeletons, so the skeleton list doesn't have the same ID == index property) Eventually we should get rid of this ID and just store the labels we need as the IDs are allowing this code to create difficult to manage/understand associations (loops over non-skeletal units are implicitly referencing their skeletal units during pub* emission, for example). It may be necessary to have some kind of skeleton->full unit association and a more direct pointer or similar device would be preferable than an index. llvm-svn: 196600
* Fixup to r196593.Anna Zaks2013-12-061-0/+6
| | | | | | | | This is another regression fixed by reverting r189090. In this case, the problem is not live variables but the approach that was taken in r189090. This regression was caused by explicitly binding "true" to the condition when we take the true branch. Normally that's okay, but in this case we're planning to reuse that condition as the value of the expression. llvm-svn: 196599
* Revert "[analyzer] Refactor conditional expression evaluating code"Anna Zaks2013-12-066-102/+129
| | | | | | | | | | This reverts commit r189090. The original patch introduced regressions (see the added live-variables.* tests). The patch depends on the correctness of live variable analyses, which are not computed correctly. I've opened PR18159 to track the proper resolution to this problem. The patch was a stepping block to r189746. This is why part of the patch reverts temporary destructor tests that started crashing. The temporary destructors feature is disabled by default. llvm-svn: 196593
* Turning the __w64 attribute into an ignored attribute to match other ↵Aaron Ballman2013-12-063-6/+1
| | | | | | Microsoft extensions we do not currently support. Note that __w64 has been deprecated in MSVC since 2008. llvm-svn: 196592
* [libclang] Rename CXSkippedRanges to CXSourceRangeList to make it more ↵Argyrios Kyrtzidis2013-12-064-20/+19
| | | | | | | | future-proof. Suggested by Alp Toker. llvm-svn: 196591
* Move the body of GCCInstallationDetector ctor into an init() functionRoman Divacky2013-12-062-6/+8
| | | | | | | and call it from its only user. The linux toolchain. This saves quite a lot of directory searching on other platforms. llvm-svn: 196590
* Add flag -fauto-profile as alias to -fprofile-sample-use.Diego Novillo2013-12-062-0/+5
| | | | | | | | | | Summary: GCC uses -fauto-profile to enable sample-based PGO. This patch adds it to Clang as an alias for -fprofile-sample-use. Differential Revision: http://llvm-reviews.chandlerc.com/D2353 llvm-svn: 196589
* Bug 18149: [AArch32] VSel instructions has no ARMCC fieldWeiming Zhao2013-12-062-7/+94
| | | | | | | | | The current peephole optimizing for compare inst assumes an instr that uses CPSR has an MO for ARM Cond code.However, for VSEL instructions (vseqeq, vselgt, vselgt, vselvs), there is no such operand nor do they support the modification of Cond Code. llvm-svn: 196588
* Fix code typos spotted while working on type traitsAlp Toker2013-12-0612-43/+43
| | | | llvm-svn: 196587
* Replace all in_port_t with uint16_t to avoid compilation issues on different ↵Greg Clayton2013-12-069-28/+25
| | | | | | systems. llvm-svn: 196586
* comment grammarAndrew Trick2013-12-061-1/+1
| | | | llvm-svn: 196585
* Tweak the ordering of a conditional to possibly avoid a few strcmps.Aaron Ballman2013-12-061-1/+1
| | | | llvm-svn: 196584
* Reverting changes from r196415; this patch exposed a different, but ↵Aaron Ballman2013-12-062-5/+3
| | | | | | unrelated bug regarding the __has_attribute implementation. Reverting to unblock the Chrome tsan builds. llvm-svn: 196583
* clang-format: Change line break decisions for array subscripts.Daniel Jasper2013-12-062-1/+4
| | | | | | | | | | | Before: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<int> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [aaaaaaaaaaaa]; After: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<int> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa[aaaaaaaaaaaa]; llvm-svn: 196582
* Update AVX512 vector blend intrinsic names.Cameron McInally2013-12-063-23/+23
| | | | llvm-svn: 196581
* [SystemZ] Use LOAD AND TEST for comparisons with -0Richard Sandiford2013-12-063-5/+27
| | | | | | ...since it os equivalent to comparison with +0. llvm-svn: 196580
* [SystemZ] Extend the use of C(L)GFRRichard Sandiford2013-12-063-6/+62
| | | | | | | instcombine prefers to put extended operands first, so this patch handles that case for C(L)GFR. llvm-svn: 196579
* [SystemZ] Optimize selects between 0 and -1Richard Sandiford2013-12-064-14/+587
| | | | | | | | | | | | | Since z has no setcc instruction as such, the choice of setBooleanContents is a bit arbitrary. Currently it's set to ZeroOrOneBooleanContent, so we produced a branch-free form when selecting between 0 and 1, but not when selecting between 0 and -1. This patch handles the latter case too. At some point I'd like to measure whether it's better to use conditional moves for constant selects on z196, but that's future work. llvm-svn: 196578
* Typo in commentsJean-Daniel Dupas2013-12-062-2/+2
| | | | llvm-svn: 196577
OpenPOWER on IntegriCloud