summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Hexagon: Add testcase for post-increment store instructions.Jyotsna Verma2013-02-051-0/+29
| | | | llvm-svn: 174419
* [SjLj Prepare] When demoting an invoke instructions to the stack, if the normalChad Rosier2013-02-052-5/+82
| | | | | | | edge is critical, then split it so we can insert the store. rdar://13126179 llvm-svn: 174418
* Remove liveout lists from MachineRegisterInfo.Jakob Stoklund Olesen2013-02-054-27/+6
| | | | | | | | All targets are now adding return value registers as implicit uses on return instructions, and there is no longer a need for the live out lists. llvm-svn: 174417
* Remove special-casing of return blocks for liveness.Jakob Stoklund Olesen2013-02-056-142/+7
| | | | | | | Now that return value registers are return instruction uses, there is no need for special treatment of return blocks. llvm-svn: 174416
* Move MRI liveouts to AArch64 return instructions.Jakob Stoklund Olesen2013-02-052-14/+12
| | | | llvm-svn: 174415
* Move MRI liveouts to XCore return instructions.Jakob Stoklund Olesen2013-02-052-16/+14
| | | | llvm-svn: 174414
* Move MRI liveouts to Sparc return instructions.Jakob Stoklund Olesen2013-02-052-16/+13
| | | | llvm-svn: 174413
* Hexagon: Use multiclass for absolute addressing mode stores.Jyotsna Verma2013-02-052-102/+116
| | | | llvm-svn: 174412
* Move MRI liveouts to MSP430 return instructions.Jakob Stoklund Olesen2013-02-052-13/+9
| | | | llvm-svn: 174411
* Move MRI liveouts to Mips return instructions.Jakob Stoklund Olesen2013-02-052-16/+12
| | | | llvm-svn: 174410
* Move MRI liveouts to PowerPC return instructions.Jakob Stoklund Olesen2013-02-051-21/+9
| | | | llvm-svn: 174409
* Move MRI liveouts to MBlaze return instructions.Jakob Stoklund Olesen2013-02-052-19/+17
| | | | llvm-svn: 174408
* Move MRI liveouts to Hexagon return instructions.Jakob Stoklund Olesen2013-02-052-11/+10
| | | | llvm-svn: 174407
* Move MRI liveouts to ARM return instructions.Jakob Stoklund Olesen2013-02-053-18/+22
| | | | llvm-svn: 174406
* Add a test case for PR14750.Jakob Stoklund Olesen2013-02-051-2/+40
| | | | | | This was fixed by r174402. llvm-svn: 174405
* Move MRI liveouts to X86 return instructions.Jakob Stoklund Olesen2013-02-052-12/+12
| | | | llvm-svn: 174402
* [MC] Bundle alignment: Invalidate relaxed fragmentsDerek Schuff2013-02-053-10/+28
| | | | | | | | | | | | | | | | Currently, when a fragment is relaxed, its size is modified, but its offset is not (it gets laid out as a side effect of checking whether it needs relaxation), then all subsequent fragments are invalidated because their offsets need to change. When bundling is enabled, relaxed fragments need to get laid out again, because the increase in size may push it over a bundle boundary. So instead of only invalidating subsequent fragments, also invalidate the fragment that gets relaxed, which causes it to get laid out again. This patch also fixes some trailing whitespace and fixes the bundling-related debug output of MCFragments. llvm-svn: 174401
* Don't use MRI liveouts in R600.Jakob Stoklund Olesen2013-02-053-5/+14
| | | | | | | | | | | | Something very strange is going on with the output registers in this target. Its ISelLowering code is inserting dangling CopyToReg nodes, hoping that those physregs won't get clobbered before the RETURN. This patch adds the output registers as implicit uses on RETURN instructions in the custom emission pass. I'd much prefer to have those CopyToReg nodes glued to the RETURNs, but I don't see how. llvm-svn: 174400
* Avoid using MRI::liveout_iterator for computing VRSAVEs.Jakob Stoklund Olesen2013-02-051-6/+15
| | | | | | | | | | The liveout lists are about to be removed from MRI, this is the only place they were used after register allocation. Get the live out V registers directly from the return instructions instead. llvm-svn: 174399
* Set the deployment target for Apple llvmCore builds. <rdar://problem/12712431>Bob Wilson2013-02-053-8/+37
| | | | llvm-svn: 174397
* Format comments & clean whitespaceEli Bendersky2013-02-051-5/+4
| | | | llvm-svn: 174396
* R600: Fold remaining CONST_COPY after expand pseudo instTom Stellard2013-02-052-12/+160
| | | | | | | Patch by: Vincent Lejeune Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 174395
* R600: improve inputs/interpolation handlingTom Stellard2013-02-0510-252/+130
| | | | | | | | | | | | | | | | Use one intrinsic for all sorts of interpolation. Use two separate unexpanded instructions to represent INTERP_XY and _ZW - this will allow to eliminate one part if it's not used. Track liveness of special interpolation regs instead of reserving them - this will allow to reuse those regs, lowering reg pressure. Patch By: Vadim Girlin v2[Vincent Lejeune]: Rebased against current llvm master Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 174394
* R600: Add tests for instruction predicatesTom Stellard2013-02-051-0/+100
| | | | llvm-svn: 174393
* R600: Emit function name in the AsmPrinterTom Stellard2013-02-055-2/+18
| | | | | | | | Emitting the function name allows us to check for it in the FileCheck tests so we can make sure FileCheck is checking the output of the correct function. llvm-svn: 174392
* R600/SI: Add patterns for fcos and fsin.Tom Stellard2013-02-051-0/+10
| | | | | | | | | | Fixes 37 piglit tests and allows e.g. FlightGear to run with radeonsi. Patch by: Michel Dänzer Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 174391
* Fix commentsEli Bendersky2013-02-052-2/+2
| | | | llvm-svn: 174390
* Hexagon: Add V4 compare instructions. Enable relationship mappingJyotsna Verma2013-02-053-16/+220
| | | | | | for the existing instructions. llvm-svn: 174389
* Fix comment formattingEli Bendersky2013-02-051-6/+3
| | | | llvm-svn: 174388
* Fix signed-unsigned comparison warning.Tim Northover2013-02-051-8/+10
| | | | llvm-svn: 174387
* Support: ensure proper state in ErrorOr copy ctors before calling 'get'Meador Inge2013-02-051-7/+4
| | | | | | | | | | | Some paths through the copy constructors for 'ErrorOr' were calling 'get' when 'HasError' and 'IsValid' were not properly initialized. Depending on what happened to be in memory for those member variables the asserts in 'get' might incorrectly fire. Fixed by ensuring that the member variables in question are always initialized before calling 'get'. llvm-svn: 174381
* Formatting.NAKAMURA Takumi2013-02-051-1/+1
| | | | llvm-svn: 174380
* llvm/test/Transforms/LoopVectorize/X86/vector_ptr_load_store.ll: "-debug" ↵NAKAMURA Takumi2013-02-051-0/+1
| | | | | | requires +Asserts. llvm-svn: 174379
* Loop Vectorizer: Handle pointer stores/loads in getWidestType()Arnold Schwaighofer2013-02-052-9/+180
| | | | | | | | | | | | | | | | | In the loop vectorizer cost model, we used to ignore stores/loads of a pointer type when computing the widest type within a loop. This meant that if we had only stores/loads of pointers in a loop we would return a widest type of 8bits (instead of 32 or 64 bit) and therefore a vector factor that was too big. Now, if we see a consecutive store/load of pointers we use the size of a pointer (from data layout). This problem occured in SingleSource/Benchmarks/Shootout-C++/hash.cpp (reduced test case is the first test in vector_ptr_load_store.ll). radar://13139343 llvm-svn: 174377
* Fix remaining StringRef abuse.Tim Northover2013-02-051-2/+2
| | | | | | This should fix the valgrind buildbot failure. llvm-svn: 174375
* Revert r174343, "When the target-independent DAGCombiner inferred a higher ↵NAKAMURA Takumi2013-02-053-10/+6
| | | | | | | | alignment for a load," It caused hangups in compiling clang/lib/Parse/ParseDecl.cpp and clang/lib/Driver/Tools.cpp in stage2 on some hosts. llvm-svn: 174374
* Link .ARM.exidx with corresponding text section.Logan Chien2013-02-052-0/+65
| | | | | | | | The sh_link in the ELF section header of .ARM.exidx should be filled with the section index of the corresponding text section. llvm-svn: 174372
* ARM cost model: Cost for scalar integer casts and floating point conversionsArnold Schwaighofer2013-02-052-7/+266
| | | | | | Also adds some costs for vector integer float conversions. llvm-svn: 174371
* Fix formatting in AArch64 backend.Tim Northover2013-02-0524-841/+577
| | | | | | | | | | | This should fix three purely whitespace issues: + 80 column violations. + Tab characters. + TableGen brace placement. No functional changes. llvm-svn: 174370
* Remove cyclic dependency in AArch64 librariesTim Northover2013-02-0523-814/+874
| | | | | | | | This moves the bit twiddling and string fiddling functions required by other parts of the backend into a separate library. Previously they resided in AArch64Desc, which created a circular dependency between various components. llvm-svn: 174369
* This patch that sets the Mips ELF header flag for Jack Carter2013-02-056-2/+22
| | | | | | | | MicroMips architectures. Contributer: Zoran Jovanovic llvm-svn: 174360
* This patch that sets the EmitAlias flag in td files Jack Carter2013-02-058-49/+72
| | | | | | | | | | | | | and enables the instruction printer to print aliased instructions. Due to usage of RegisterOperands a change in common code (utils/TableGen/AsmWriterEmitter.cpp) is required to get the correct register value if it is a RegisterOperand. Contributer: Vladimir Medic llvm-svn: 174358
* [Support][ErrorOr] Add support for convertable types.Michael J. Spencer2013-02-052-3/+16
| | | | llvm-svn: 174357
* Add target-dependent versions of addAttribute/removeAttribute to AttrBuilder.Bill Wendling2013-02-052-1/+21
| | | | llvm-svn: 174356
* Changed in comment cxx -> C++. Thanks Richard Smith!.Michael Gottesman2013-02-051-2/+2
| | | | llvm-svn: 174355
* This patch changes a static_cast to dyn_castJack Carter2013-02-053-3/+8
| | | | | | | | for MipsELFStreamer objects. Contributer: Jack Carter llvm-svn: 174354
* Construct a skeleton cu for each compile unit in the module, not justEric Christopher2013-02-051-5/+8
| | | | | | for the first compile unit. llvm-svn: 174352
* Add support for testing the output of the abbrev table for theEric Christopher2013-02-051-0/+10
| | | | | | skeleton CU as part of the DWARF5 split dwarf proposal. llvm-svn: 174351
* Add support for emitting a stub DW_AT_GNU_dwo_id as part of theEric Christopher2013-02-052-2/+11
| | | | | | DWARF5 split dwarf proposal. llvm-svn: 174350
* Use the do-while(0) thing for this #define.Bill Wendling2013-02-051-8/+10
| | | | llvm-svn: 174347
OpenPOWER on IntegriCloud