summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* This patch combines common code from Linux and FreeBSD intoJohnny Chen2012-01-0536-5249/+262
| | | | | | | | | | a new POSIX platform. It also contains fixes for 64bit FreeBSD. The patch is based on changes by Mark Peek <mp@FreeBSD.org> and "K. Macy" <kmacy@freebsd.org> in their github repo located at https://github.com/fbsd/lldb. llvm-svn: 147609
* revert r147542 after comments from Joerg SonnenbergerSebastian Pop2012-01-0514-59/+11
| | | | llvm-svn: 147608
* allow clients of SmallSet to specify their own comparison function for the set.Chris Lattner2012-01-051-2/+2
| | | | | | Patch by Stepan Dyatkovskiy! llvm-svn: 147607
* Remove an unused variable.Chandler Carruth2012-01-051-1/+0
| | | | llvm-svn: 147605
* Prevent a DAGCombine from firing where there are two uses ofChandler Carruth2012-01-052-1/+23
| | | | | | | | | a combined-away node and the result of the combine isn't substantially smaller than the input, it's just canonicalized. This is the first part of a significant (7%) performance gain for Snappy's hot decompression loop. llvm-svn: 147604
* Cleanup and FileCheck-ize a test.Chandler Carruth2012-01-051-18/+40
| | | | llvm-svn: 147603
* Mark scalar FMA4 instructions as ignoring the VEX.L bit.Craig Topper2012-01-051-4/+4
| | | | llvm-svn: 147602
* Peephole optimization of ptest-conditioned branch in X86 arch. Performs ↵Victor Umansky2012-01-054-1/+631
| | | | | | | | | instruction combining of sequences generated by ptestz/ptestc intrinsics to ptest+jcc pair for SSE and AVX. Testing: passed 'make check' including LIT tests for all sequences being handled (both SSE and AVX) Reviewers: Evan Cheng, David Blaikie, Bruno Lopes, Elena Demikhovsky, Chad Rosier, Anton Korobeynikov llvm-svn: 147601
* test commit (verifyiing commit access)Eli Bendersky2012-01-051-1/+1
| | | | llvm-svn: 147600
* PR10828: Produce a warning when a no-arguments function is declared in blockRichard Smith2012-01-0510-17/+46
| | | | | | | | | | | | | | | | | scope, when no other indication is provided that the user intended to declare a function rather than a variable. Remove some false positives from the existing 'parentheses disambiguated as a function' warning by suppressing it when the declaration is marked as 'typedef' or 'extern'. Add a new warning group -Wvexing-parse containing both of these warnings. The new warning is enabled by default; despite a number of false positives (and one bug) in clang's test-suite, I have only found genuine bugs with it when running it over a significant quantity of real C++ code. llvm-svn: 147599
* Bumped Xcode project versions for lldb-101 and debugserver-160.Greg Clayton2012-01-053-22/+22
| | | | llvm-svn: 147597
* Added code in the Host layer that can report system log messagesGreg Clayton2012-01-0519-291/+421
| | | | | | | | | | | | so that we don't have "fprintf (stderr, ...)" calls sprinkled everywhere. Changed all needed locations over to using this. For non-darwin, we log to stderr only. On darwin, we log to stderr _and_ to ASL (Apple System Log facility). This will allow GUI apps to have a place for these error and warning messages to go, and also allows the command line apps to log directly to the terminal. llvm-svn: 147596
* More lambda work. Tweak the Sema interface slightly. Start adding the ↵Eli Friedman2012-01-0510-44/+141
| | | | | | pieces to build the lambda class and its call operator. Create an actual scope for the lambda body. llvm-svn: 147595
* Minor postra scheduler cleanup. It could result in more precise ↵Andrew Trick2012-01-051-25/+19
| | | | | | antidependence latency on ARM in exceedingly rare cases. llvm-svn: 147594
* Replace the uint64_t -> double convertion algorithm with one that's more ↵Bill Wendling2012-01-051-52/+38
| | | | | | | | | | | | | | | | | | | | | | efficient. This small bit of ASM code is sufficient to do what the old algorithm did: movq %rax, %xmm0 punpckldq (c0), %xmm0 // c0: (uint4){ 0x43300000U, 0x45300000U, 0U, 0U } subpd (c1), %xmm0 // c1: (double2){ 0x1.0p52, 0x1.0p52 * 0x1.0p32 } #ifdef __SSE3__ haddpd %xmm0, %xmm0 #else pshufd $0x4e, %xmm0, %xmm1 addpd %xmm1, %xmm0 #endif It's arguably faster. One caveat, the 'haddpd' instruction isn't very fast on all processors. <rdar://problem/7719814> llvm-svn: 147593
* Fixed a potential hang while trying to executeSean Callanan2012-01-051-1/+1
| | | | | | a function in the inferior. llvm-svn: 147592
* [driver] Add support for passing -lazy_framework/-lazy_library to the linker.Chad Rosier2012-01-052-0/+16
| | | | | | rdar://10630328 llvm-svn: 147591
* Add comment explaining the default constructor (ArchSpec) used in ↵Johnny Chen2012-01-051-0/+3
| | | | | | CreateTarget(). llvm-svn: 147590
* Change casting slightly to avoid warnings about casting away const.Eli Friedman2012-01-051-2/+2
| | | | llvm-svn: 147589
* When we're performing name lookup for a tag, we still allow ourselvesDouglas Gregor2012-01-054-5/+13
| | | | | | | | | | | | | | | | | | to see hidden declarations because every tag lookup is effectively a redeclaration lookup. For example, image that struct foo; is declared in a submodule that is known but hasn't been imported. If someone later writes struct foo *foo_p; then "struct foo" is either a reference or a redeclaration. To keep the redeclaration chains sound, we treat it like a redeclaration for name-lookup purposes. llvm-svn: 147588
* Fixed a dangling pointer bug associated with theSean Callanan2012-01-052-1/+9
| | | | | | | | | result variable on a "finish" statement. The ownership of the result value was not being properly assigned to the newly-created persistent result variable; now it is. llvm-svn: 147587
* [asan] move {linux,mac}-specific code from asan_thread.cc to ↵Kostya Serebryany2012-01-054-58/+103
| | | | | | asan_{linux,mac}.cc; also add asan_procmaps.h which I forgot to add on previous commit. llvm-svn: 147586
* comment cleanupAndrew Trick2012-01-051-1/+1
| | | | llvm-svn: 147585
* Do not hard code asm variant number.Devang Patel2012-01-051-2/+7
| | | | llvm-svn: 147583
* Minor cleanup; no functional change.Eli Friedman2012-01-051-3/+2
| | | | llvm-svn: 147582
* [asan] implement our own /proc/self/maps reader and use it on linux instead ↵Kostya Serebryany2012-01-057-21/+108
| | | | | | of sysinfo.h llvm-svn: 147581
* FileCheck hygiene.Benjamin Kramer2012-01-055-6/+6
| | | | llvm-svn: 147580
* Reapply r146997, "Heed spill slot alignment on ARM."Jakob Stoklund Olesen2012-01-054-6/+6
| | | | | | | | | | | | Now that canRealignStack() understands frozen reserved registers, it is safe to use it for aligned spill instructions. It will only return true if the registers reserved at the beginning of register allocation allow for dynamic stack realignment. <rdar://problem/10625436> llvm-svn: 147579
* Avoid reserving an ARM base pointer during register allocation.Jakob Stoklund Olesen2012-01-051-2/+17
| | | | | | | | | | | | | | | | | Once register allocation has started the reserved registers are frozen. Fix the ARM canRealignStack() hook to respect the frozen register state. Now the hook returns false if register allocation was started with frame pointer elimination enabled. It also returns false if register allocation started without a reserved base pointer, and stack realignment would require a base pointer. This bug was breaking oggenc on armv6. No test case, an upcoming patch will use this functionality to realign the stack for spill slots when possible. llvm-svn: 147578
* Freeze reserved registers before starting register allocation.Jakob Stoklund Olesen2012-01-056-1/+49
| | | | | | | | | | | The register allocators don't currently support adding reserved registers while they are running. Extend the MRI API to keep track of the set of reserved registers when register allocation started. Target hooks like hasFP() and needsStackRealignment() can look at this set to avoid reserving more registers during register allocation. llvm-svn: 147577
* Sanity checks in SourceManager::getFileEntryForID() and ↵Argyrios Kyrtzidis2012-01-051-2/+8
| | | | | | | | SourceManager::getFileEntryForSLocEntry() to make sure we do not crash. rdar://10594186 llvm-svn: 147576
* The value of a const weak variable is not an integer constant.John McCall2012-01-055-2/+30
| | | | llvm-svn: 147575
* If we already have a definition for a top-level module that we deserialized ↵Douglas Gregor2012-01-051-0/+13
| | | | | | from a module file, don't bother parsing a new definition llvm-svn: 147574
* Fixes a code gen bug for setter code for a property ofFariborz Jahanian2012-01-052-1/+33
| | | | | | | | c++ object reference type with trivial copy constructor. This causes an assert crash and bad code gen. when assert is off. // rdar://6137845 llvm-svn: 147573
* When generating includes for all of the headers we found in anDouglas Gregor2012-01-053-4/+20
| | | | | | | umbrella directory, skip includes for any headers that are part of an unavailable module. llvm-svn: 147572
* Support more Atom attributes. Add more test cases to lld-coreNick Kledzik2012-01-0416-171/+895
| | | | llvm-svn: 147571
* [analyzer] Add another tests to taint tester.Anna Zaks2012-01-041-0/+9
| | | | llvm-svn: 147570
* [analyzer] Be less pessimistic about invalidation of global variablesAnna Zaks2012-01-0416-125/+325
| | | | | | | | | | | | | | | | | | | | | | | | | | | | as a result of a call. Problem: Global variables, which come in from system libraries should not be invalidated by all calls. Also, non-system globals should not be invalidated by system calls. Solution: The following solution to invalidation of globals seems flexible enough for taint (does not invalidate stdin) and should not lead to too many false positives. We split globals into 3 classes: * immutable - values are preserved by calls (unless the specific global is passed in as a parameter): A : Most system globals and const scalars * invalidated by functions defined in system headers: B: errno * invalidated by all other functions (note, these functions may in turn contain system calls): B: errno C: all other globals (which are not in A nor B) llvm-svn: 147569
* [analyzer] Correct the error message in the testing infrastructure.Anna Zaks2012-01-041-2/+1
| | | | llvm-svn: 147568
* Rename attribute 'objc_suppress_autosynthesis' to ↵Ted Kremenek2012-01-046-13/+13
| | | | | | 'objc_disable_automatic_synthesis'. llvm-svn: 147567
* Fix 80 col violations.Ted Kremenek2012-01-041-13/+27
| | | | llvm-svn: 147566
* Fix test on Release builds.Eli Friedman2012-01-041-1/+1
| | | | llvm-svn: 147565
* Store the submodules of a module in source order, as they are storedDouglas Gregor2012-01-048-84/+96
| | | | | | | | in the module map. This provides a bit more predictability for the user, as well as eliminating the need to sort the submodules when serializing them. llvm-svn: 147564
* Test case for my previous patch.Fariborz Jahanian2012-01-041-2/+2
| | | | llvm-svn: 147563
* objc: When issuing warning for missing synthesis forFariborz Jahanian2012-01-043-4/+16
| | | | | | | properties in classes declared with objc_suppress_autosynthesis attribute, pinpoint location of the said class in a note. llvm-svn: 147562
* Add an APValue representation for the difference between two ↵Eli Friedman2012-01-047-98/+133
| | | | | | | | | | address-of-label expressions. Add support to Evaluate and CGExprConstant for generating/handling them. Remove the special-case for such differences in Expr::isConstantInitializer. With that done, remove a bunch of buggy code from CGExprConstant for handling scalar expressions which is no longer necessary. Fixes PR11705. llvm-svn: 147561
* Generalize isSafeToSpeculativelyExecute to work on arbitraryDan Gohman2012-01-042-2/+6
| | | | | | | Values, rather than just Instructions, since it's interesting for ConstantExprs too. llvm-svn: 147560
* <rdar://problem/10507811>Greg Clayton2012-01-0411-155/+292
| | | | | | | | | | Be better at detecting when DWARF changes and handle this more gracefully than asserting and exiting. Also fixed up a bunch of system calls that weren't properly checking for EINTR. llvm-svn: 147559
* fix test on -Asserts builds.Chris Lattner2012-01-041-1/+1
| | | | llvm-svn: 147558
* implement rdar://10639962 by keeping track of increased alignment Chris Lattner2012-01-042-1/+15
| | | | | | information even in subscripting operations. llvm-svn: 147557
OpenPOWER on IntegriCloud