summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Find anchoring end points for repairIntervalsInRange and repairIndexesInRangeCameron Zwarich2013-02-203-12/+21
| | | | | | automatically. llvm-svn: 175673
* Make repairIntervalsInRange() more robust. There are now no longer any liveness-Cameron Zwarich2013-02-201-15/+58
| | | | | | | | | related failures when running 'make check' without LiveVariables with the verifier enabled. Some of the remaining failures elsewhere may still be fallout from incorrect updating of LiveIntervals or the few missing cases left in the two-address pass. llvm-svn: 175672
* Change ELF relocation model to staticAndrew Kaylor2013-02-202-1/+8
| | | | llvm-svn: 175671
* DAGCombiner: Fold pointless truncate, bitcast, buildvector seriesArnold Schwaighofer2013-02-202-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | (2xi32) (truncate ((2xi64) bitcast (buildvector i32 a, i32 x, i32 b, i32 y))) can be folded into a (2xi32) (buildvector i32 a, i32 b). Such a DAG would cause uneccessary vdup instructions followed by vmovn instructions. We generate this code on ARM NEON for a setcc olt, 2xf64, 2xf64. For example, in the vectorized version of the code below. double A[N]; double B[N]; void test_double_compare_to_double() { int i; for(i=0;i<N;i++) A[i] = (double)(A[i] < B[i]); } radar://13191881 Fixes bug 15283. llvm-svn: 175670
* Add logging of which test cases are run (through dosep) to help diagnose any ↵Daniel Malea2013-02-201-2/+1
| | | | | | hangs/crashes in the buildbots. llvm-svn: 175669
* R600: Update for name changes from r175667.Jim Grosbach2013-02-201-3/+3
| | | | llvm-svn: 175668
* Update TargetLowering ivars for name policy.Jim Grosbach2013-02-209-51/+51
| | | | | | | | | | | http://llvm.org/docs/CodingStandards.html#name-types-functions-variables-and-enumerators-properly ivars should be camel-case and start with an upper-case letter. A few in TargetLowering were starting with a lower-case letter. No functional change intended. llvm-svn: 175667
* Fix invalid TestBitfields case (thanks Filipe!), and xfail one case due to ↵Daniel Malea2013-02-201-2/+1
| | | | | | | | | | | | | | | GCC compiler bug. Turns out unnamed bit fields should not be accessed ever in C (C99 section 4.7.8) or C++ (C++11 section 9.6). Unrelated to the above, this commit marks TestBitfields as expected-to-fail with GCC as 4.7 has problems with padding... the size of the struct with a uint32_t member is reported as 12 when GCC is used. Clang emits correct code. Parts of this patch prepared by Filipe Cabecinhas! llvm-svn: 175666
* Skip TestCompletion case that fails on linux (with gcc) because the input ↵Daniel Malea2013-02-201-1/+2
| | | | | | prompt is not displayed (llvm.org/pr14637) llvm-svn: 175665
* Fix TestPublicAPIHeaders test on Linux.Matt Kopec2013-02-203-8/+8
| | | | | | | | -Change the build_dir variable name to lib_dir -Set lib_dir to the correct location on Linux -Set LD_EXTRAS to the actual lldb library llvm-svn: 175664
* Additional fixes for bug 15155.Bill Schmidt2013-02-205-49/+149
| | | | | | | | This handles the cases where the 6-bit splat element is odd, converting to a three-instruction sequence to add or subtract two splats. With this fix, the XFAIL in test/CodeGen/PowerPC/vec_constants.ll is removed. llvm-svn: 175663
* Handle the case where the runtime uses class_getMethodImplementation for ↵Jim Ingham2013-02-202-8/+140
| | | | | | | | | | both scalar and structure return methods. rdar://problem/13238168 llvm-svn: 175662
* [Sanitizer] Try to fix infinite loop in frame pointer unwinderReid Kleckner2013-02-201-2/+3
| | | | | | | | Using > instead of >= ensures that each frame deref makes progress and that we eventually terminate. Issue: https://code.google.com/p/address-sanitizer/issues/detail?id=162 llvm-svn: 175661
* PR15311: Finish implementation of the suggested resolution of core issue 1488,Richard Smith2013-02-204-2/+15
| | | | | | | | which allows grouping parens in an abstract-pack-declarator. This was already mostly implemented, but missed some cases. Add an ExtWarn for use of this extension until CWG ratifies it. llvm-svn: 175660
* [objdump] Print the PT_INTERP and PT_DYNAMIC correcctly.Michael J. Spencer2013-02-201-0/+6
| | | | llvm-svn: 175659
* Update a comment that looks to have been accidentally deleted many moons ago.Chad Rosier2013-02-201-1/+1
| | | | llvm-svn: 175658
* [ELF][Writer] Add .interp section.Michael J. Spencer2013-02-205-1/+44
| | | | llvm-svn: 175657
* Fix a bug that causes dotest.py to exit with a passing exit-code, even if ↵Daniel Malea2013-02-201-1/+3
| | | | | | | | some tests fail - occurs when multiple compilers/architectures are tested (via -C or -A flags) llvm-svn: 175656
* [ASan] revert part of r175631 that looks like accidental commitAlexey Samsonov2013-02-201-5/+0
| | | | llvm-svn: 175655
* [ELF][Writer] Add dynamic table.Michael J. Spencer2013-02-206-2/+71
| | | | llvm-svn: 175654
* Fix a problem with the const_variables test case (another lldb bug remains)Daniel Malea2013-02-201-0/+2
| | | | | | | - make the test case step past the location where 'index' is initialized, otherwise its value cannot be printed (verified gcc 4.6/4.7 and recent clang) - "Couldn't materialize struct" error from LLDB still prevents this test case from passing llvm-svn: 175653
* Attempt to clean up tests for non-X86 platforms.Bill Wendling2013-02-209-76/+67
| | | | llvm-svn: 175652
* Rewrite comments.Dan Gohman2013-02-201-3/+5
| | | | llvm-svn: 175651
* Add comment in Memory.inc explaining r175646.Krzysztof Parzyszek2013-02-201-0/+7
| | | | llvm-svn: 175650
* Process and handle attributes on conditions and for loop variables. Process andRichard Smith2013-02-2011-35/+86
| | | | | | | diagnose attributes on alias declarations, using directives, and attribute declarations. llvm-svn: 175649
* SIGQUIT is a "kill" signal, rather than an "int" signal, in this context.Dan Gohman2013-02-201-2/+2
| | | | llvm-svn: 175648
* Formatting, grammarAndrew Kaylor2013-02-201-3/+2
| | | | llvm-svn: 175647
* On PowerPC, the cache-flush instructions dcbf and icbi are treated asKrzysztof Parzyszek2013-02-201-0/+4
| | | | | | | loads. On FreeBSD, add PROT_READ page protection flag before flushing cache. llvm-svn: 175646
* Use LiveRangeUpdater instead of mergeIntervalRanges.Jakob Stoklund Olesen2013-02-202-143/+11
| | | | | | | Performance is the same, but LiveRangeUpdater has a more flexible interface. llvm-svn: 175645
* Add a LiveRangeUpdater class.Jakob Stoklund Olesen2013-02-202-0/+258
| | | | | | | | | | | | | | | | | | Adding new segments to large LiveIntervals can be expensive because the LiveRange objects after the insertion point may need to be moved left or right. This can cause quadratic behavior when adding a large number of segments to a live range. The LiveRangeUpdater class allows the LIveInterval to be in a temporary invalid state while segments are being added. It maintains an internal gap in the LiveInterval when it is shrinking, and it has a spill area for new segments when the LiveInterval is growing. The behavior is similar to the existing mergeIntervalRanges() function, except it allocates less memory for the spill area, and the algorithm is turned inside out so the loop is driven by the clients. llvm-svn: 175644
* Adding support for absolute relocations. This occurs in ELF files when a ↵Andrew Kaylor2013-02-201-7/+14
| | | | | | relocation is given with no name and an undefined section. The relocation is applied with an address of zero. llvm-svn: 175643
* Fix PR15267Michael Liao2013-02-202-14/+185
| | | | | | | | | - When extloading from a vector with non-byte-addressable element, e.g. <4 x i1>, the current logic breaks. Extend the current logic to fix the case where the element type is not byte-addressable by loading all bytes, bit-extracting/packing each element. llvm-svn: 175642
* [ms-inline asm] Make the comment a bit more verbose.Chad Rosier2013-02-201-2/+6
| | | | llvm-svn: 175641
* Add a default constructor for LiveRange.Jakob Stoklund Olesen2013-02-201-1/+2
| | | | | | | It is useful to be able to create temporary LiveRange object whose members are filled in later. llvm-svn: 175639
* rename fixupAddend to relocAddendShankar Easwaran2013-02-202-2/+2
| | | | llvm-svn: 175638
* [ms-inline asm] Remove this test while I investigate why eax isn't being ↵Chad Rosier2013-02-201-6/+0
| | | | | | clobbered. llvm-svn: 175637
* functionality to handle global atoms in Merge sectionsShankar Easwaran2013-02-207-22/+63
| | | | llvm-svn: 175636
* Fix bug 14779 for passing anonymous aggregates [patch by Kai Nacke].Bill Schmidt2013-02-202-1/+106
| | | | | | | | The PPC backend doesn't handle these correctly. This patch uses logic similar to that in the X86 and ARM backends to track these arguments properly. llvm-svn: 175635
* Hexagon: Move HexagonMCInst.h to MCTargetDesc/HexagonMCInst.h.Jyotsna Verma2013-02-2012-34/+395
| | | | | | | | Add HexagonMCInst class which adds various Hexagon VLIW annotations. In addition, this class also includes some APIs related to the constant extenders. llvm-svn: 175634
* Revert r175626, "ADT/Optional.h: Appease msvc."NAKAMURA Takumi2013-02-201-1/+1
| | | | | | Sorry, I didn't cover +Asserts, by accident. :( llvm-svn: 175633
* Fix PR15155: lost vadd/vsplat optimization.Bill Schmidt2013-02-204-8/+120
| | | | | | | | | | | | | | During lowering of a BUILD_VECTOR, we look for opportunities to use a vector splat. When the splatted value fits in 5 signed bits, a single splat does the job. When it doesn't fit in 5 bits but does fit in 6, and is an even value, we can splat on half the value and add the result to itself. This last optimization hasn't been working recently because of improved constant folding. To circumvent this, create a pseudo VADD_SPLAT that can be expanded during instruction selection. llvm-svn: 175632
* [ASan] Delete asan/dynamic dir and temporarily move the interposers ↵Alexander Potapenko2013-02-206-156/+38
| | | | | | | | declarations to asan_intercepted_functions.h Now that we have only one dependency on asan_intercepted_functions.h, we can unite that code with the interceptors declarations in asan_interceptors.cc and get rid of asan_intercepted_functions.h llvm-svn: 175631
* Fix regression in string literal alignment.Manuel Klimek2013-02-202-1/+4
| | | | | | | | | Now correctly indents (again): a = a + "a" "a" "a"; llvm-svn: 175630
* [ASan] Make isoc99_*scanf intercepted on Linux only. Those are unavailable ↵Alexander Potapenko2013-02-202-0/+11
| | | | | | on Darwin. llvm-svn: 175629
* Fixes bug in string literal alignment.Manuel Klimek2013-02-202-2/+28
| | | | | | | | | We now indent the following correctly: 1. some + "literal" /* comment */ "literal"; 2. breaking string literals after which we have another string literal. llvm-svn: 175628
* Whitespace.NAKAMURA Takumi2013-02-201-7/+7
| | | | llvm-svn: 175627
* ADT/Optional.h: Appease msvc.NAKAMURA Takumi2013-02-201-1/+1
| | | | llvm-svn: 175626
* [asan] move preinit_test to Linux since on Mac __asan_init is called from ↵Kostya Serebryany2013-02-201-0/+0
| | | | | | ld-preload-ed runtime llvm-svn: 175625
* Tweaks and fixes to cpp11-migrate generated testsEdwin Vane2013-02-205-17/+17
| | | | | | | | | * Fixed a comment typo * Changed 'autogen' to 'generated-tests' * Made the clean target not fail if the 'generated-tests' directory doesn't already exist. llvm-svn: 175624
* [asan] on linux, run __asan_init from .preinit_array (even earlier than before)Kostya Serebryany2013-02-203-2/+33
| | | | llvm-svn: 175623
OpenPOWER on IntegriCloud