- May 31, 2011
-
-
Andrew Trick authored
so that their sign extended forms are congruent when no overflow occurs. llvm-svn: 132360
-
Jakob Stoklund Olesen authored
When assigned ranges are evicted, they are put in the RS_Evicted stage and are not allowed to evict anything else. That prevents looping automatically. When evicting ranges just to get a cheaper register, use only spill weights to find the possible candidates. Avoid breaking hints for this purpose, it is not worth it. Start implementing more complex eviction heuristics, guarded by the temporary -complex-eviction flag. The initial version permits a heavier range to be evicted if it doesn't have any uses where the evicting range is live. This makes it a good candidate for live ranfge splitting. llvm-svn: 132358
-
Eli Friedman authored
llvm.memcpy.* has two distinct associated address spaces; the source address space, and the destination address space. Fix up the interface on MemIntrinsic and MemTransferInst to make this clear, and fix InstructionDereferencesPointer in LazyValueInfo.cpp to use the interface properly. llvm-svn: 132356
-
Bruno Cardoso Lopes authored
llvm-svn: 132355
-
Eli Friedman authored
llvm-svn: 132353
-
-
Stuart Hastings authored
sub with a non-constant. Fix comments, enlarge test case. rdar://problem/6501862 llvm-svn: 132348
-
Richard Osborne authored
llvm-svn: 132341
-
Richard Osborne authored
llvm-svn: 132340
-
Richard Osborne authored
llvm-svn: 132336
-
Bruno Cardoso Lopes authored
must be encoded decremented by one. Only add encoding tests for ssat16 because ssat can't be parsed yet. llvm-svn: 132324
-
Bruno Cardoso Lopes authored
nand), atomic.swap and atomic.cmp.swap, all in i8, i16 and i32 versions. The intrinsics are implemented by creating pseudo-instructions, which are then expanded in the method MipsTargetLowering::EmitInstrWithCustomInserter. Patch by Sasa Stankovic. llvm-svn: 132323
-
Bruno Cardoso Lopes authored
Dynamic, Initial Exec and Local Exec TLS models. Patch by Sasa Stankovic llvm-svn: 132322
-
- May 30, 2011
-
-
Rafael Espindola authored
directives. Fixes PR9826. llvm-svn: 132317
-
Stuart Hastings authored
rdar://problem/6501862 llvm-svn: 132316
-
Rafael Espindola authored
llvm-svn: 132315
-
Rafael Espindola authored
same dwarf number. This will be used for creating a dwarf number to register mapping. The only case that needs this so far is the XMM/YMM registers that unfortunately do have the same numbers. llvm-svn: 132314
-
Rafael Espindola authored
subregisters of the 64 bit ones. llvm-svn: 132313
-
Rafael Espindola authored
and for now the generic dwarf emission will automatically use the superregister numbers. llvm-svn: 132312
-
Jakob Stoklund Olesen authored
llvm-svn: 132309
-
Charles Davis authored
handler's data area starts with a 4-byte reference to the personality function, followed by the DWARF LSDA. llvm-svn: 132302
-
- May 29, 2011
-
-
Jakob Stoklund Olesen authored
This commit seems to have broken a darwin 9 tester. llvm-svn: 132299
-
Jakob Stoklund Olesen authored
This only affects targets like Mips where branch instructions may kill virtual registers. Most other targets branch on flag values, so virtual registers are not involved. The problem is that MachineBasicBlock::updateTerminator deletes branches and inserts new ones while LiveVariables keeps a list of pointers to instructions that kill virtual registers. That list wasn't properly updated in MBB::SplitCriticalEdge. llvm-svn: 132298
-
John McCall authored
This is important for the correct lowering of unwind instructions (which doesn't matter at all) and llvm.eh.resume calls (which does). Take 2, now with more basic competence. llvm-svn: 132295
-
John McCall authored
llvm-svn: 132294
-
John McCall authored
llvm-svn: 132293
-
John McCall authored
This is important for the correct lowering of unwind instructions (which doesn't matter at all) and llvm.eh.resume calls (which does). llvm-svn: 132291
-
Nick Lewycky authored
llvm-svn: 132290
-
Nick Lewycky authored
variable. Noticed by inspection. Simulate memset in EvaluateFunction where the target of the memset and the value we're setting are both the null value. Fixes PR10047! llvm-svn: 132288
-
Nadav Rotem authored
llvm-svn: 132285
-
Charles Davis authored
handler. At this moment, only GCC-style exceptions are supported. Other kinds of exceptions, including "traditional" SEH and Microsoft Visual C++ exceptions, need more work--and an compiler exception model that isn't specific to GCC-style exceptions! In particular, I imagine that it would be possible to mix "traditional" SEH with GCC-style EH or Microsoft C++ EH. Currently LLVM has no way (beyond some target-specific defaults and whole-module compiler switches) of knowing which scheme to use when. llvm-svn: 132283
-
Rafael Espindola authored
llvm-svn: 132278
-
Rafael Espindola authored
llvm-svn: 132276
-
John McCall authored
fixes self-host. llvm-svn: 132275
-
Rafael Espindola authored
and should probably be encoded as DW_OP_reg 32 DW_OP_piece 4 DW_OP_reg 33 llvm-svn: 132274
-
- May 28, 2011
-
-
Cameron Zwarich authored
-verify-machineinstrs failures on several tests. llvm-svn: 132268
-
Nadav Rotem authored
Refactor the type legalizer. Switch TargetLowering to a new enum - LegalizeTypeAction. This patch does not change the behavior of the type legalizer. The codegen produces the same code. This infrastructural change is needed in order to enable complex decisions for vector types (needed by the vector-select patch). llvm-svn: 132263
-
Benjamin Kramer authored
llvm-svn: 132256
-
Benjamin Kramer authored
Fixes PR10040. llvm-svn: 132254
-
John McCall authored
transformed by the inliner into a branch to the enclosing landing pad (when inlined through an invoke). If not so optimized, it is lowered DWARF EH preparation into a call to _Unwind_Resume (or _Unwind_SjLj_Resume as appropriate). Its chief advantage is that it takes both the exception value and the selector value as arguments, meaning that there is zero effort in recovering these; however, the frontend is required to pass these down, which is not actually particularly difficult. Also document the behavior of landing pads a bit better, and make it clearer that it's okay that personality functions don't always land at landing pads. This is just a fact of life. Don't write optimizations that rely on pushing things over an unwind edge. llvm-svn: 132253
-