summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Use cast<> instead of a C-style cast to get some free assertions.Jay Foad2011-08-031-2/+2
| | | | llvm-svn: 136771
* fix PR10286, a problem with the .ll printer handling block addresses that ↵Chris Lattner2011-08-032-11/+43
| | | | | | are out-of-scope. llvm-svn: 136768
* Use byte offset, instead of element number, to access merged global.Devang Patel2011-08-032-3/+145
| | | | llvm-svn: 136759
* Small cleanups:Nick Lewycky2011-08-031-3/+2
| | | | | | | | | - use SmallVectorImpl& for the function argument. - ignore the operands on the GEP, even if they aren't constant! Much as we pretend the malloc succeeds, we pretend that malloc + whatever-you-GEP'd-by is not null. It's magic! llvm-svn: 136757
* Add this back in for now. There are still a few passes which create unwind ↵Bill Wendling2011-08-031-1/+1
| | | | | | instructions at the moment. llvm-svn: 136756
* Fix logical error when detecting lifetime intrinsics.Nick Lewycky2011-08-032-33/+45
| | | | | | | | | Don't replace a gep/bitcast with 'undef' because that will form a "free(undef)" which in turn means "unreachable". What we wanted was a no-op. Instead, analyze the whole tree and look for all the instructions we need to delete first, then delete them second, not relying on the use_list to stay consistent. llvm-svn: 136752
* Replace the 'UnwindInst' check with a check for 'ResumeInst', which also exitsBill Wendling2011-08-031-1/+1
| | | | | | the function, because the UnwindInst is going away. llvm-svn: 136751
* Use the precomputed def presence in RAGreedy::calcSpillCost.Jakob Stoklund Olesen2011-08-021-11/+2
| | | | llvm-svn: 136742
* Inform SpillPlacement about blocks with defs.Jakob Stoklund Olesen2011-08-021-0/+1
| | | | | | This information is not used for anything yet. llvm-svn: 136741
* Rename {First,Last}Use to {First,Last}Instr.Jakob Stoklund Olesen2011-08-023-43/+45
| | | | | | | With a 'FirstDef' field right there, it is very confusing that FirstUse refers to an instruction that may be a def. llvm-svn: 136739
* lldb doesn't need the edis dylib any more.Evan Cheng2011-08-021-1/+0
| | | | llvm-svn: 136738
* ARM backend support for atomicrmw and cmpxchg with non-monotonic ordering. ↵Eli Friedman2011-08-021-47/+77
| | | | | | Not especially pretty, but seems to work well enough. If this looks okay, I'll put together similar patches for Mips, PPC, and Alpha. llvm-svn: 136737
* Add a BlockInfo::FirstDef field.Jakob Stoklund Olesen2011-08-022-1/+15
| | | | | | | | | | | This is either an invalid SlotIndex, or valno->def for the first value defined inside the block. PHI values are not counted as defined inside the block. The FirstDef field will be used when estimating the cost of spilling around a block. llvm-svn: 136736
* Delete BlockInfo::LiveThrough. It wasn't used any more.Jakob Stoklund Olesen2011-08-022-4/+0
| | | | llvm-svn: 136735
* Teach InstCombine that lifetime intrincs aren't a real user on the result of aNick Lewycky2011-08-022-12/+48
| | | | | | malloc call. llvm-svn: 136732
* Extend the SpillPlacement interface with two new features.Jakob Stoklund Olesen2011-08-022-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | The PrefBoth constraint is used for blocks that ideally want a live-in value both on the stack and in a register. This would be used by a block that has a use before interference forces a spill. Secondly, add the ChangesValue flag to BlockConstraint. This tells SpillPlacement if a live-in value on the stack can be reused as a live-out stack value for free. If the block redefines the virtual register, a spill would be required for that. This extra information will be used by SpillPlacement to more accurately calculate spill costs when a value can exist both on the stack and in a register. The simplest example is a basic block that reads the virtual register, but doesn't change its value. Spilling around such a block requires a reload, but no spill in the block. The spiller already knows this, but the spill placer doesn't. That can sometimes lead to suboptimal regions. llvm-svn: 136731
* Add the documentation for the 'landingpad' instruction. Improve the 'invoke'Bill Wendling2011-08-021-4/+90
| | | | | | instruction's documentation to reference the landingpad and resume instructions. llvm-svn: 136729
* Move methods in PassManagerBuilder offline.Rafael Espindola2011-08-026-236/+281
| | | | llvm-svn: 136727
* move PassManagerBuilder.h to IPO. This is a non intuitive place to put it,Rafael Espindola2011-08-025-5/+5
| | | | | | | but it solves a layering violation since things in Support are not supposed to use things in Transforms. llvm-svn: 136726
* Add new atomic instructions to SCCP. No functional change, but stops debug ↵Eli Friedman2011-08-021-0/+2
| | | | | | spam. llvm-svn: 136723
* Lifetime intrinsics on undef are dead.Nick Lewycky2011-08-022-4/+19
| | | | llvm-svn: 136722
* Update the default bug report url in autoconf.Chad Rosier2011-08-021-2/+2
| | | | llvm-svn: 136721
* no need to count the terminators.Chris Lattner2011-08-021-9/+9
| | | | llvm-svn: 136718
* Assume .cfi_startproc is the first thing in a function. If the function isRafael Espindola2011-08-023-8/+36
| | | | | | | | | externally visable, create a local symbol to use in the CFE. If not, use the function label itself. Fixes PR10420. llvm-svn: 136716
* Don't create a ridiculous EXTRACT_ELEMENT. PR10563.Eli Friedman2011-08-022-3/+2
| | | | | | The testcase looks extremely fragile, so I'm adding an assertion which should catch any cases like this. llvm-svn: 136711
* Fix the broken encodings for the VFP vmov.f32 and vmov.f64 instructions, as ↵Owen Anderson2011-08-021-6/+8
| | | | | | well as the comments that explain them incorrectly. llvm-svn: 136707
* Tidy up. 80 columns.Jim Grosbach2011-08-021-8/+10
| | | | llvm-svn: 136705
* ARM: rename addrmode7 to addr_offset_none.Jim Grosbach2011-08-022-15/+16
| | | | | | Use a more descriptive name so the code is more self-documenting. llvm-svn: 136704
* Comment out the PPC relocation offset adjustment. It must be done differently.Roman Divacky2011-08-021-0/+4
| | | | | | This unbreaks some tests. llvm-svn: 136692
* Make this kind of lowering to be supported by 256-bit instructions:Bruno Cardoso Lopes2011-08-022-14/+56
| | | | | | | | | shuffle (scalar_to_vector (load (ptr + 4))), undef, <0, 0, 0, 0> To: shuffle (vload ptr)), undef, <1, 1, 1, 1> Fix PR10494 llvm-svn: 136691
* Remove trailing semicolon.Roman Divacky2011-08-021-1/+1
| | | | llvm-svn: 136690
* Sketch out PowerPC ELF writer. This is enough to get clang -integrated-asRoman Divacky2011-08-025-2/+173
| | | | | | to compile a working hello world on FreeBSD/PPC32. llvm-svn: 136689
* Duncan's english is better than mine. :-)Bill Wendling2011-08-021-1/+1
| | | | llvm-svn: 136684
* Remove the LLVMBuildUnwind C API function.Bill Wendling2011-08-023-8/+7
| | | | | | | The 'unwind' function is going away with the new EH rewrite. This is step 0 in keeping front-ends from using it. llvm-svn: 136683
* Use consistent terminology for loop exit/exiting blocks. Name change only.Andrew Trick2011-08-022-16/+16
| | | | llvm-svn: 136677
* Remove empty test.Benjamin Kramer2011-08-021-0/+0
| | | | llvm-svn: 136675
* Revert r136503 and r136480 in an effort to fix non-determinism in the ↵Owen Anderson2011-08-022-60/+1
| | | | | | llvm-gcc buildbots on i386. Devang is looking into the root cause. llvm-svn: 136674
* I am the code owner for Clang's IR generation; this has been trueJohn McCall2011-08-022-0/+6
| | | | | | | | | | for awhile, but it's good to make this official. Just to be clear, Doug and Ted "elected" me to this position. Might as well add myself to the credits list while I'm at it. llvm-svn: 136673
* Minor wording tweak for memory model.Eli Friedman2011-08-021-4/+4
| | | | llvm-svn: 136668
* Fix a couple silly typos in IRBuilder in the new atomic instructions.Eli Friedman2011-08-021-6/+6
| | | | llvm-svn: 136665
* Bail from FastISel when we encounter a volatile memset intrinsic. Patch by IvanNick Lewycky2011-08-021-0/+3
| | | | | | Krasin! llvm-svn: 136663
* Make the FixedLengthDecoderEmitter smart enough to autogenerate decoders for ↵Owen Anderson2011-08-011-5/+9
| | | | | | encodings like "let Inst{11-7} = foo;", where the RHS has no bitwidth specifiers. llvm-svn: 136660
* Move imm0_255 to ARMInstrInfo.td with the other immediate predicates.Jim Grosbach2011-08-012-4/+6
| | | | llvm-svn: 136656
* Fix comments.Jim Grosbach2011-08-011-2/+2
| | | | llvm-svn: 136655
* Add v4f64 -> v2f32 fp_round support. Also add a testcase to exerciseBruno Cardoso Lopes2011-08-013-0/+14
| | | | | | | the legalizer. This commit together with the two previous ones fixes PR10495. llvm-svn: 136654
* Teach PreprocessISelDAG to be aware of vector types and to not process them.Bruno Cardoso Lopes2011-08-013-6/+11
| | | | llvm-svn: 136653
* Lower CONCAT_VECTORS to use two VINSERTF128 instructions instead ofBruno Cardoso Lopes2011-08-011-5/+48
| | | | | | using a stack store. llvm-svn: 136652
* Fix a typo.Roman Divacky2011-08-011-1/+1
| | | | llvm-svn: 136646
* The FixedLenDecoder needs to gracefully handle failing per-instruction ↵Owen Anderson2011-08-011-3/+3
| | | | | | decoder hooks in addition to per-operand decoder hooks. llvm-svn: 136645
* Actually finish switching to the new system for Target sublibraryChandler Carruth2011-08-019-9/+9
| | | | | | | | | | | TableGen deps introduced in r136023. This completes the fixing that dgregor started in r136621. Sorry for missing these the first time around. This should fix some of the random race-condition failures people are still seeing with CMake. llvm-svn: 136643
OpenPOWER on IntegriCloud