summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [sanitizer] Syscall handlers for clock_gettime and clock_getres.Evgeniy Stepanov2013-07-093-4/+39
| | | | llvm-svn: 185913
* InstCombine: X & -C != -C -> X <= u ~CDavid Majnemer2013-07-092-40/+9
| | | | | | Tests were added in r185910 somehow. llvm-svn: 185912
* [PowerPC] Support .llong and fix .wordUlrich Weigand2013-07-094-2/+60
| | | | | | | | This adds support for the .llong PowerPC-specifc assembler directive. In doing so, I notices that .word is currently incorrect: it is supposed to define a 2-byte data element, not a 4-byte one. llvm-svn: 185911
* Commit r185909 was a misapplied patch, fix itDavid Majnemer2013-07-093-24/+73
| | | | llvm-svn: 185910
* InstCombine: add more transformsDavid Majnemer2013-07-094-5/+87
| | | | | | | | | C1-X <u C2 -> (X|(C2-1)) == C1 C1-X >u C2 -> (X|C2) == C1 X-C1 <u C2 -> (X & -C2) == C1 X-C1 >u C2 -> (X & ~C2) == C1 llvm-svn: 185909
* Format overloaded operators like other functions.Daniel Jasper2013-07-093-5/+15
| | | | | | | | | | | | | | This fixes llvm.org/PR16328 (at least partially). Before: SomeLoooooooooooooooooooooooooooooogType operator<<( const SomeLooooooooogType &a, const SomeLooooooooogType &b); After: SomeLoooooooooooooooooooooooooooooogType operator<<(const SomeLooooooooogType &a, const SomeLooooooooogType &b); llvm-svn: 185908
* PPC: Allocate RS spill slot for unaligned i64 load/storeHal Finkel2013-07-092-2/+152
| | | | | | | | | | | | | | | | | | | This fixes another bug found by llvm-stress! If we happen to be doing an i64 load or store into a stack slot that has less than a 4-byte alignment, then the frame-index elimination may need to use an indexed load or store instruction (because the offset may not be a multiple of 4, a requirement of the STD/LD instructions). The extra register needed to hold the offset comes from the register scavenger, and it is possible that the scavenger will need to use an emergency spill slot. As a result, we need to make sure that a spill slot is allocated when doing an i64 load/store into a less-than-4-byte-aligned stack slot. Because test cases for things like this tend to be fairly fragile, I've concatenated a few small bugpoint-reduced test cases together to form the regression test. llvm-svn: 185907
* Add the frame content dumper function call to one more place.Jason Molenda2013-07-091-0/+2
| | | | llvm-svn: 185906
* Compute the size of an archive member in the constructor.Rafael Espindola2013-07-092-16/+15
| | | | | | | It is always computed the same way (by parsing the header). Doing it in the constructor simplifies the callers a bit. llvm-svn: 185905
* Remove declare but not implemented methods.Rafael Espindola2013-07-091-4/+0
| | | | llvm-svn: 185904
* Add new information gathering to the lldb & simple backtrace methods:Jason Molenda2013-07-091-5/+30
| | | | | | | print five words of memory at the beginning of the stack frame so it's easier to track where an incorrect saved-fp or saved-pc may have come from. llvm-svn: 185903
* [PECOFF][Writer] Compute the size of a chunk each time it's added rather ↵Rui Ueyama2013-07-091-42/+34
| | | | | | | | | | | | | | | than all at once. Contents of ".reloc" section depends on the addresses of other sections, so the section cannot be created until all the other sections are created and get their memory addresses (RVAs). That means that computation of section size needs to be at least two pass. Techynically there's no reason to compute it all at once, but instead we can compute the address of a section as added to the output file. Doing so helps us to create ".reloc" section. llvm-svn: 185902
* Move some code out of line. No functionality change.Rafael Espindola2013-07-092-65/+76
| | | | llvm-svn: 185901
* X86: Add comment.Jim Grosbach2013-07-091-0/+5
| | | | llvm-svn: 185900
* X86 fast-isel: Avoid explicit AH subreg reference for [SU]Rem.Jim Grosbach2013-07-091-4/+31
| | | | | | | | | | | | | Explicit references to %AH for an i8 remainder instruction can lead to references to %AH in a REX prefixed instruction, which causes things to blow up. Do the same thing in FastISel as we do for DAG isel and instead shift %AX right by 8 bits and then extract the 8-bit subreg from that result. rdar://14203849 http://llvm.org/bugs/show_bug.cgi?id=16105 llvm-svn: 185899
* [analyzer] Fixup for r185609: actually do suppress warnings coming out of ↵Anna Zaks2013-07-092-5/+11
| | | | | | | | | | | std::list. list is the name of a class, not a namespace. Change the test as well - the previous version did not test properly. Fixes radar://14317928. llvm-svn: 185898
* Fix recovery for missing * in objc property.Eli Friedman2013-07-092-2/+18
| | | | | | <rdar://problem/14354144> llvm-svn: 185897
* Don't give # and ## special treatment when in -traditional-cpp mode. Patch byRichard Smith2013-07-092-0/+29
| | | | | | Austin Seipp! llvm-svn: 185896
* Generalize hack allowing 'const' in __has_attribute (etc) to allow any tokenRichard Smith2013-07-092-3/+5
| | | | | | | with identifier info. This covers most identifier-like entities (other than the ISO646 keywords). llvm-svn: 185895
* Make BinaryRef output correctly in case of empty data.Sean Silva2013-07-096-1/+68
| | | | | | | Previously, it would simply output nothing, but it should output an empty string `""`. llvm-svn: 185894
* Style fixes: remove unnecessary braces for one-statement if blocks, no else ↵Stephen Lin2013-07-091-54/+30
| | | | | | after return, etc. No funcionality change. llvm-svn: 185893
* Update exception to match decorator nameEd Maste2013-07-091-1/+1
| | | | llvm-svn: 185891
* Revert "DebugInfo: remove unused helper function getDICompositeType."Eric Christopher2013-07-092-0/+14
| | | | | | | This reverts commit r185876 as the functions appear to still be used by dragonegg. llvm-svn: 185890
* Add TestConcurrentEvents test for LLDB's handling of inferior threadsDaniel Malea2013-07-096-0/+746
| | | | | | | | | | | | | | - Test verifies LLDB's handling of inferiors with threads that: hit breakpoints, modfiy variables that have watchpoints set, generate user signals, and crash. - Add a few "stress tests" (with ~100 threads) -- run these with "-l" dotest.py flag. - Fix stop_reason_to_str helper in lldbutil to handle eStopReasonThreadExited. - Add sort_stopped_threads helper to lldbutil to separate thread lists based on stop reason. Logged llvm.org/pr16566 and llvm.org/pr16567 for bugs exposed. llvm-svn: 185889
* Fix commentEli Bendersky2013-07-081-3/+2
| | | | llvm-svn: 185888
* Fix crash typo-correcting dependent member func.Eli Friedman2013-07-082-1/+5
| | | | | | PR16561. llvm-svn: 185887
* This patch changes the saved IRBuilder insert point from ↵Nadav Rotem2013-07-081-1/+2
| | | | | | | | | | BasicBlock::iterator to AssertingVH. Commit 185883 fixes a bug in the IRBuilder that should fix the ASan bot. AssertingVH can help in exposing some RAUW problems. Thanks Ben and Alexey! llvm-svn: 185886
* [objc-arc] Fix assertion in EraseInstruction so that noop on null calls when ↵Michael Gottesman2013-07-081-1/+3
| | | | | | | | passed null do not trigger the assert. The specific case of interest is when objc_retainBlock is passed null. llvm-svn: 185885
* ObjC migration: more test for migration toFariborz Jahanian2013-07-082-0/+38
| | | | | | properties. llvm-svn: 185884
* Fix a bug in IRBuilder::ClearInsertionPoint. The IR Builder needs to reset ↵Nadav Rotem2013-07-081-0/+1
| | | | | | both the BB and the insert point inside the BB. llvm-svn: 185883
* Don't run internalize if we're outputing bit-code and not an object file.Bill Wendling2013-07-081-2/+4
| | | | | | | | | | The problem with running internalize before we're ready to output an object file is that it may change a 'weak' symbol into an internal one, but that symbol could be needed by an external object file --- e.g. with arclite. <rdar://problem/14334895> llvm-svn: 185882
* Attempt typo correction for function calls with the wrong number of arguments.Kaelyn Uhrain2013-07-086-7/+157
| | | | | | | | | | | | | | | Combined with typo correction's new ability to apply global/absolute nested name specifiers to possible corrections, cases such as in PR12287 where the desired function is being shadowed by a lexically closer function with the same name but a different number of parameters will now include a FixIt. On a side note, since the test for this change caused test/SemaCXX/typo-correction.cpp to exceed the typo correction limit for a single file, I've included a test case for exceeding the limit and added some comments to both the original and part two of typo-correction.cpp warning future editors of the files about the limit. llvm-svn: 185881
* Make a couple of useful typo correction callbacks more widely available.Kaelyn Uhrain2013-07-083-64/+72
| | | | llvm-svn: 185880
* ObjC migration: Skip over setter/getter with attributesFariborz Jahanian2013-07-083-1/+26
| | | | | | for now. llvm-svn: 185879
* Added missing SBModuleSpec.cpp file to the CMakeLists.txtGreg Clayton2013-07-081-0/+1
| | | | llvm-svn: 185878
* Added a way to extract the module specifications from a file. A module ↵Greg Clayton2013-07-0820-106/+842
| | | | | | | | | | | | | specification is information that is required to describe a module (executable, shared library, object file, ect). This information includes host path, platform path (remote path), symbol file path, UUID, object name (for objects in .a files for example you could have an object name of "foo.o"), and target triple. Module specification can be used to create a module, or used to add a module to a target. A list of module specifications can be used to enumerate objects in container objects (like universal mach files and BSD archive files). There are two new classes: lldb::SBModuleSpec lldb::SBModuleSpecList The SBModuleSpec wraps up a lldb_private::ModuleSpec, and SBModuleSpecList wraps up a lldb_private::ModuleSpecList. llvm-svn: 185877
* DebugInfo: remove unused helper function getDICompositeType.Manman Ren2013-07-082-14/+0
| | | | llvm-svn: 185876
* CEHCK->CHECK typo fix.Eric Christopher2013-07-081-4/+4
| | | | llvm-svn: 185875
* Fix up whitespace.Eric Christopher2013-07-081-36/+36
| | | | llvm-svn: 185874
* [Objective-C migrator] replace candidate user setter/getter withFariborz Jahanian2013-07-086-3/+78
| | | | | | their equivalent property declaration. wip. llvm-svn: 185873
* Stop emitting weak symbols into the "coal" sections.Bill Wendling2013-07-083-10/+83
| | | | | | | | | | | | | | | | | The Mach-O linker has been able to support the weak-def bit on any symbol for quite a while now. The compiler however continued to place these symbols into a "coal" section, which required the linker to map them back to the base section name. Replace the sections like this: __TEXT/__textcoal_nt instead use __TEXT/__text __TEXT/__const_coal instead use __TEXT/__const __DATA/__datacoal_nt instead use __DATA/__data <rdar://problem/14265330> llvm-svn: 185872
* No ',' between programs.Eric Christopher2013-07-082-2/+2
| | | | llvm-svn: 185867
* Update comment to avoid mentioning DbgValues which is an instanceEric Christopher2013-07-081-1/+1
| | | | | | variable later in the class. llvm-svn: 185866
* War on tabs.Howard Hinnant2013-07-0820-230/+230
| | | | llvm-svn: 185865
* Implement n3668 - std::exchangeMarshall Clow2013-07-082-0/+60
| | | | llvm-svn: 185863
* Revert r185852.Manman Ren2013-07-084-18/+9
| | | | llvm-svn: 185861
* Find xdot or xdot.py.Matt Arsenault2013-07-086-35/+40
| | | | | | Ubuntu installs this as xdot, so finding xdot.py would fail. llvm-svn: 185860
* Allow llvm_find_program to find alternate namesMatt Arsenault2013-07-081-1/+2
| | | | llvm-svn: 185859
* [PowerPC] Always use "assembler dialect" 1Ulrich Weigand2013-07-0810-42/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A setting in MCAsmInfo defines the "assembler dialect" to use. This is used by common code to choose between alternatives in a multi-alternative GNU inline asm statement like the following: __asm__ ("{sfe|subfe} %0,%1,%2" : "=r" (out) : "r" (in1), "r" (in2)); The meaning of these dialects is platform specific, and GCC defines those for PowerPC to use dialect 0 for old-style (POWER) mnemonics and 1 for new-style (PowerPC) mnemonics, like in the example above. To be compatible with inline asm used with GCC, LLVM ought to do the same. Specifically, this means we should always use assembler dialect 1 since old-style mnemonics really aren't supported on any current platform. However, the current LLVM back-end uses: AssemblerDialect = 1; // New-Style mnemonics. in PPCMCAsmInfoDarwin, and AssemblerDialect = 0; // Old-Style mnemonics. in PPCLinuxMCAsmInfo. The Linux setting really isn't correct, we should be using new-style mnemonics everywhere. This is changed by this commit. Unfortunately, the setting of this variable is overloaded in the back-end to decide whether or not we are on a Darwin target. This is done in PPCInstPrinter (the "SyntaxVariant" is initialized from the MCAsmInfo AssemblerDialect setting), and also in PPCMCExpr. Setting AssemblerDialect to 1 for both Darwin and Linux no longer allows us to make this distinction. Instead, this patch uses the MCSubtargetInfo passed to createPPCMCInstPrinter to distinguish Darwin targets, and ignores the SyntaxVariant parameter. As to PPCMCExpr, this patch adds an explicit isDarwin argument that needs to be passed in by the caller when creating a target MCExpr. (To do so this patch implicitly also reverts commit 184441.) llvm-svn: 185858
* Fix Sema for compares with _Atomic vars.Eli Friedman2013-07-083-41/+38
| | | | | | | | | | | | | | | | Use UsualArithmeticConversions unconditionally in analysis of comparisons and conditional operators: the method performs the usual arithmetic conversions if both sides are arithmetic, and usual unary conversions if they are not. This is just a cleanup for conditional operators; for comparisons, it fixes the issue that we would try to check isArithmetic() on an atomic type. Also, fix GetExprRange() in SemaChecking.cpp so it deals with variables of atomic type correctly. Fixes PR15537. llvm-svn: 185857
OpenPOWER on IntegriCloud