summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* llvm/test/CodeGen/ARM/extload-knownzero.ll: Try to unbreak, to add -O0. I ↵NAKAMURA Takumi2012-12-061-1/+1
| | | | | | guess Chad expects fastisel here. llvm-svn: 169463
* Revert r169456, "change MCContext to work on the ↵NAKAMURA Takumi2012-12-063-47/+6
| | | | | | | | doInitialization/doFinalization model" It broke many builders. llvm-svn: 169462
* The expression parser will now check the validitySean Callanan2012-12-061-1/+1
| | | | | | | | | | | | of the "self"/"this" pointer for the current stack frame before wrapping expressions in C++ or Objective-C methods. This works around bad debug info where the compiler emits a "this" or "self" but doesn't give any way to find its location. <rdar://problem/12809985> llvm-svn: 169461
* [arm fast-isel] Make the fast-isel implementation of memcpy respect alignment.Chad Rosier2012-12-062-14/+116
| | | | | | rdar://12821569 llvm-svn: 169460
* Let targets provide hooks that compute known zero and ones for any_extendEvan Cheng2012-12-068-7/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and extload's. If they are implemented as zero-extend, or implicitly zero-extend, then this can enable more demanded bits optimizations. e.g. define void @foo(i16* %ptr, i32 %a) nounwind { entry: %tmp1 = icmp ult i32 %a, 100 br i1 %tmp1, label %bb1, label %bb2 bb1: %tmp2 = load i16* %ptr, align 2 br label %bb2 bb2: %tmp3 = phi i16 [ 0, %entry ], [ %tmp2, %bb1 ] %cmp = icmp ult i16 %tmp3, 24 br i1 %cmp, label %bb3, label %exit bb3: call void @bar() nounwind br label %exit exit: ret void } This compiles to the followings before: push {lr} mov r2, #0 cmp r1, #99 bhi LBB0_2 @ BB#1: @ %bb1 ldrh r2, [r0] LBB0_2: @ %bb2 uxth r0, r2 cmp r0, #23 bhi LBB0_4 @ BB#3: @ %bb3 bl _bar LBB0_4: @ %exit pop {lr} bx lr The uxth is not needed since ldrh implicitly zero-extend the high bits. With this change it's eliminated. rdar://12771555 llvm-svn: 169459
* Disable clang/test/Preprocessor/macro-multiline.c for now, while ↵NAKAMURA Takumi2012-12-061-0/+0
| | | | | | investigating lit.ShUtil.parser. llvm-svn: 169458
* more test of template declarations in aFariborz Jahanian2012-12-061-0/+25
| | | | | | <declaration> XML tag. // rdar://12378714 llvm-svn: 169457
* change MCContext to work on the doInitialization/doFinalization modelPedro Artigas2012-12-063-6/+47
| | | | | | reviewed by Evan Cheng <evan.cheng@apple.com> llvm-svn: 169456
* Set the 'MadeChange' variable if we are deleting blocks.Bill Wendling2012-12-061-0/+1
| | | | llvm-svn: 169455
* Move isprint8() into lldb_private as per post-commit review from StefanusDaniel Malea2012-12-061-4/+1
| | | | llvm-svn: 169454
* More C++ testing of declarations embedded inFariborz Jahanian2012-12-062-1/+45
| | | | | | | | <declaration> tag of Comment XML and fixing DeclPrint of templates along the way - wip. //rdar://12378714 llvm-svn: 169453
* Have CannotBeNegativeZero() be aware of the nsz fast-math flagMichael Ilseman2012-12-061-1/+6
| | | | llvm-svn: 169452
* Rewrote the bitfield logic. Major changes include:Sean Callanan2012-12-054-105/+160
| | | | | | | | | | | | | | | | - Removed the BitfieldMap class because it is unnecessary. We now just track the most recently added field. - Moved the code that calculates bitfield widths so it can also be used to determine whether it's necessary to insert anonymous fields. - Simplified the anonymous field calculation code into three cases (two of which are resolved identically). - Beefed up the bitfield testcase. llvm-svn: 169449
* [driver, ms-inline asm] -fms-compatibility enables -fms-extensions, so this ↵Chad Rosier2012-12-051-1/+1
| | | | | | | | | should enable the AsmBlocks language extension as well. rdar://12808010 llvm-svn: 169448
* Taking ownership of indvars/lsr.Andrew Trick2012-12-051-1/+1
| | | | | | | Evan nominated me for this a while back, and no one has offered to save me from it. llvm-svn: 169447
* PR10867: Analogue of r169441 for when using external 'sh'. And actually run ↵Richard Smith2012-12-052-1/+2
| | | | | | the test! llvm-svn: 169446
* [driver, ms-inline asm] Have -fms-extensions enable the AsmBlocks languageChad Rosier2012-12-052-1/+10
| | | | | | | | option. MS-style inline asm can now be enabled by either -fasm-blocks or -fms-extensions. rdar://12808010 llvm-svn: 169445
* Adding missing log->Printf instead of printf in Target::SetArchitectureJason Molenda2012-12-051-9/+12
| | | | | | for target logging. llvm-svn: 169444
* RegPressureTracker::dump(): Remove unnecessary argument.Andrew Trick2012-12-052-2/+2
| | | | llvm-svn: 169443
* Looks like lit on Windows can't cope with parens here, and in any case, we ↵Richard Smith2012-12-051-1/+1
| | | | | | shouldn't need them after r169441. llvm-svn: 169442
* PR10867. lit would interpretRichard Smith2012-12-052-5/+19
| | | | | | | | | | | RUN: a RUN: b || true as "a && (b || true)" in Tcl mode, and as "(a && b) || true" in sh mode. Everyone seems to (quite reasonably) write tests assuming the Tcl behavior, so use that in sh mode too. llvm-svn: 169441
* In DeclPrint add printing of '= default'Fariborz Jahanian2012-12-052-2/+4
| | | | | | in constructors. llvm-svn: 169440
* Do not run tests MappedMemoryTest.BasicWrite and MultipleWrite unless bothAkira Hatanaka2012-12-051-4/+6
| | | | | | MF_READ and MF_WRITE are set. llvm-svn: 169439
* Quick build fix for c++03 clang. This needs a proper solution. Note that ↵Michael J. Spencer2012-12-051-4/+4
| | | | | | these offsets are guaranteed to be correct by Endian.h. llvm-svn: 169438
* More workarounds for PR10867.Richard Smith2012-12-054-4/+5
| | | | llvm-svn: 169437
* In DeclPrint add printing of 'explicit'Fariborz Jahanian2012-12-052-3/+5
| | | | | | constructors. llvm-svn: 169435
* Fix an egregiously broken test. This pattern doesn't work:Richard Smith2012-12-051-4/+4
| | | | | | | | | RUN: a RUN: b || true lit expands it to a && b || true, and the || true applies to both commands (thus ignoring failures in 'a')! This is PR10867 again. llvm-svn: 169434
* Change std::vector to SmallVector<4> and remove some unused methods.Eli Bendersky2012-12-052-7/+4
| | | | | | | | This is more consistent with other vectors in this code. In addition, I ran some tests compiling a large program and >96% of fragments have 4 or less fixups, so SmallVector<4> is a good optimization. llvm-svn: 169433
* Define new-value store instructions with base+immediate addressing modeJyotsna Verma2012-12-051-128/+53
| | | | | | using multiclass. llvm-svn: 169432
* <rdar://problem/12560257>Greg Clayton2012-12-051-2/+5
| | | | | | Fixed arrays with a size of 1 to correctly have 1 member when DW_AT_upper_bound was set to zero and no other attributes were set. llvm-svn: 169431
* [c-index-test] Introduce '-index-compile-db' which accepts a compilation ↵Argyrios Kyrtzidis2012-12-051-66/+197
| | | | | | | | database file and does an '-index-file' for all compile commands in the database. llvm-svn: 169430
* Fix name. The array is unboundED.Bill Wendling2012-12-051-1/+1
| | | | llvm-svn: 169429
* Fix name. The array is unboundED.Bill Wendling2012-12-051-1/+1
| | | | llvm-svn: 169428
* RegisterPressureTracker: fix findUseBetween to handle DebugValueAndrew Trick2012-12-052-0/+51
| | | | llvm-svn: 169427
* RegisterPressureTracker: unify virtual registers and physical regunits.Andrew Trick2012-12-053-261/+226
| | | | | | Now that live register units are tracked individually, the code can be simplified. llvm-svn: 169426
* RegisterPresssureTracker: Track live physical register by unit.Andrew Trick2012-12-054-99/+133
| | | | | | | | This is much simpler to reason about, more efficient, and fixes some corner cases involving implicit super-register defs. Fixed rdar://12797931. llvm-svn: 169425
* <rdar://problem/12749733>Greg Clayton2012-12-0511-146/+316
| | | | | | Always allows getting builtin types by name even if there is no backing debug information. llvm-svn: 169424
* Cost Model: change the default cost of control flow instructions (br / ret / ↵Nadav Rotem2012-12-057-10/+10
| | | | | | ...) to zero. llvm-svn: 169423
* [driver, ms-inline asm] MS-Style inline assembly is controlled by theChad Rosier2012-12-0511-19/+27
| | | | | | | -fasm-blocks flag, not the -fms-extensions flag. rdar://12808010 llvm-svn: 169422
* Basic clang-format vim-integration.Daniel Jasper2012-12-051-0/+52
| | | | | | File contains installation and usage instructions. llvm-svn: 169421
* Correct ARM NOP encodingDavid Sehr2012-12-052-2/+2
| | | | | | | | | | The encoding of NOP in ARMAsmBackend.cpp is missing a trailing zero, which causes the emission of a coprocessor instruction rather than "mov r0, r0" as indicated in the comment. The test also checks for the wrong encoding. http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20121203/157919.html llvm-svn: 169420
* Remove unused methodsEli Bendersky2012-12-051-4/+0
| | | | llvm-svn: 169419
* [NVPTX] Fix crash with unnamed struct argumentsJustin Holewinski2012-12-052-1/+6
| | | | | | Patch by Eric Holk llvm-svn: 169418
* Define isprint8() wrapper around isprint() in order to avoid crashes on LinuxDaniel Malea2012-12-053-8/+20
| | | | llvm-svn: 169417
* Add dump of Win64 EH unwind data.Michael J. Spencer2012-12-055-3/+497
| | | | | | | | | | The new command line option -unwind-info dumps the Win64 EH unwind data to the console. This is a nice feature if you need to debug generated EH data (e.g. from LLVM). Includes a test case. Initial patch by João Matos, extensions and rework by Kai Nacke. llvm-svn: 169415
* Updates to Win64EH.h structures.Michael J. Spencer2012-12-051-23/+58
| | | | | | | | | | | | | | | | | | | | Change member types of RuntimeFunction and UnwindInfo from uint64_t to uint32_t: These members represent addresses. According to MSDN, they are image relative, that is, they are 32-bit offsets from the starting address of the image that contains the function table entry. See MSDN for more information: RUNTIME_FUNCTION: http://msdn.microsoft.com/en-us/library/ft9x1kdx.aspx UNWIND_INFO: http://msdn.microsoft.com/en-us/library/ddssxxy8.aspx Make Win64.h platform-neutral: The standard types unit8_t, uint16_t and uint32_t are replaced with their counterparts from Endian.h. Accessor functions are introduced to replace bit fields. Patch by João Matos and Kai Nacke. llvm-svn: 169414
* fix comment.Fariborz Jahanian2012-12-051-1/+1
| | | | llvm-svn: 169413
* Testing C++ declarations embedded inFariborz Jahanian2012-12-053-19/+14
| | | | | | | | | <declaration> tag of Comment XML. Added DeclPrint support for constructors and fix tests accordingly. This is wip. // rdar://12378714 llvm-svn: 169412
* [ms-inline asm] Add more tests.Chad Rosier2012-12-051-0/+29
| | | | llvm-svn: 169411
* Test commit.David Sehr2012-12-051-1/+1
| | | | llvm-svn: 169410
OpenPOWER on IntegriCloud