summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix SpeculativelyExecuteBB to either speculate all or none of the phisDan Gohman2012-01-056-146/+203
| | | | | | | | | | | | present in the bottom of the CFG triangle, as the transformation isn't ever valuable if the branch can't be eliminated. Also, unify some heuristics between SimplifyCFG's multiple if-converters, for consistency. This fixes rdar://10627242. llvm-svn: 147630
* Fix indentation.Johnny Chen2012-01-051-30/+30
| | | | llvm-svn: 147629
* [asan] use dl_iterate_phdr for pre-symbolization on linux instead of parsing ↵Kostya Serebryany2012-01-053-24/+62
| | | | | | /proc/self/maps llvm-svn: 147628
* Add back the file I wrongly deleted in r147613.Johnny Chen2012-01-051-0/+44
| | | | llvm-svn: 147627
* Always allocate an extra 8 bytes for a deserialized declaration, sinceDouglas Gregor2012-01-051-8/+5
| | | | | | some code in Clang expects 8-byte alignment of declarations. llvm-svn: 147626
* PR11705, part 2: globalopt shouldn't put inttoptr/ptrtoint operations into ↵Eli Friedman2012-01-052-14/+35
| | | | | | global initializers if there's an implied extension or truncation. llvm-svn: 147625
* Link symbols with different visibilities according to the rules in theRafael Espindola2012-01-053-24/+127
| | | | | | | | System V Application Binary Interface. This lets us use -fvisibility-inlines-hidden with LTO. Fixes PR11697. llvm-svn: 147624
* Revert r56315. When the instruction to speculate is a load, thisDan Gohman2012-01-052-27/+3
| | | | | | | | code can incorrectly move the load across a store. This never happens in practice today, but only because the current heuristics accidentally preclude it. llvm-svn: 147623
* After further discussion, rename attribute ↵Ted Kremenek2012-01-059-25/+25
| | | | | | 'objc_disable_automatic_synthesis' to 'objc_requires_property_definitions'. llvm-svn: 147622
* Fixed a problem in our local Clang's method forSean Callanan2012-01-052-0/+23
| | | | | | | | | | | | performing Objective-C instance variable lookup. Previously, it only completed the derived class that was the beginning of the search. Now, as it walks up the superclass chain looking for the ivar, it completes each superclass in turn. Also added a testcase covering this issue. llvm-svn: 147621
* Tweak the fix to PR8977: an empty expression-list represents value ↵Eli Friedman2012-01-055-10/+19
| | | | | | initialization, not default initialization. Fixes PR11712. llvm-svn: 147620
* Don't seed the ASTWriter's declaration -> ID mapping with the IDs ofDouglas Gregor2012-01-053-11/+23
| | | | | | | each deserialized declaration, since that information is already available in each declaration. llvm-svn: 147619
* Kill ObjectCodeEmitter and BinaryObject, they were unused and superseded by MC.Benjamin Kramer2012-01-054-666/+0
| | | | llvm-svn: 147618
* When we deserialize a declaration from a module file, allocate extraDouglas Gregor2012-01-055-28/+24
| | | | | | | | | | | | | | | storage for the global declaration ID. Declarations that are parsed (rather than deserialized) are unaffected, so the number of declarations that pay this cost tends to be relatively small (since relatively few declarations are ever deserialized). This replaces a largish DenseMap within the AST reader. It's not strictly a win in terms of memory use---not every declaration was added to that DenseMap in the first place---but it's cleaner to have this information available for every deserialized declaration, so that future clients can rely on it. llvm-svn: 147617
* SCCCaptured is trivially false on entry to this loop and not modified inside it.Nick Lewycky2012-01-051-1/+1
| | | | | | Eliminate the dead test for it on each loop iteration. No functionality change. llvm-svn: 147616
* Remove the old ELF writer.Rafael Espindola2012-01-0510-2223/+3
| | | | llvm-svn: 147615
* When creating declarations that are deserialized from an module file,Douglas Gregor2012-01-0513-198/+503
| | | | | | | go through a central allocation routine Decl::AllocateDeserializedDecl(). No actual functionality change (yet). llvm-svn: 147614
* Fix incomplete commit of ↵Johnny Chen2012-01-0548-16/+7397
| | | | | | | | | | | | | http://llvm.org/viewvc/llvm-project?rev=147609&view=rev: This patch combines common code from Linux and FreeBSD into 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: 147613
* When loading an AST file, set SourceManager::MainFileID to the main file of ↵Argyrios Kyrtzidis2012-01-054-29/+33
| | | | | | | | the AST file, as suggested by Tom Honermann. llvm-svn: 147612
* A small re-factored JIT/MCJIT::getPointerToNamedFunction(), so it could be ↵Danil Malyshev2012-01-054-4/+21
| | | | | | called with the base class. llvm-svn: 147610
* 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
OpenPOWER on IntegriCloud