- Jul 14, 2008
-
-
Bruno Cardoso Lopes authored
Added HasABICall and HasAbsoluteCall (equivalent to gcc -mabicall and -mno-shared). HasAbsoluteCall is not implemented but HasABICall is the default for o32 ABI. Now, both should help into a more accurate relocation types implementation. Added IsLinux is needed to choose between asm directives. Instruction name strings cleanup. AsmPrinter improved. llvm-svn: 53551
-
Duncan Sands authored
llvm-svn: 53549
-
Chris Lattner authored
the second half of link-global-to-func.ll and causes some minor changes in messages. There are two TODOs here. First, this causes a regression in 2008-07-06-AliasWeakDest.ll, which is now failing (so I xfailed it). Anton, I would really appreciate it if you could take a look at this. It should be a matter of adding proper alias support to GetLinkageResult, and was probably already a latent bug that would manifest with globals. The second todo is to reimplement LinkAlias in the same pattern as function and global linking. This should be pretty straight-forward for someone who knows aliases, but isn't a requirement for correctness. llvm-svn: 53548
-
Chris Lattner authored
internal linkage. llvm-svn: 53547
-
Chris Lattner authored
(replacing a function with a global). This is needed when building llvm itself with LTO on darwin, because of the EXPLICIT_SYMBOL hack in lib/system/DynamicLibrary.cpp. Implementation of linking the other way will need to wait for a cleanup of LinkFunctionProtos. llvm-svn: 53546
-
Chris Lattner authored
llvm-svn: 53545
-
Chris Lattner authored
PR2317. llvm-svn: 53544
-
Chris Lattner authored
when presented with a constant expr. If ConstantExpr::getV[IF]Cmp to work when ConstantFoldCompareInstruction returns an undef or constant expr. llvm-svn: 53541
-
Chris Lattner authored
a hack around the fact that we don't represent the CFG correctly for sj/lj. It fixes PR2486. llvm-svn: 53540
-
Chris Lattner authored
llvm-svn: 53538
-
Chris Lattner authored
llvm-svn: 53535
-
Chris Lattner authored
disproving a condition. This actually compiles the existing testcase (udiv_select_to_select_shift) to: define i64 @test(i64 %X, i1 %Cond) { entry: %divisor1.t = lshr i64 %X, 3 ; <i64> [#uses=1] %quotient2 = lshr i64 %X, 3 ; <i64> [#uses=1] %sum = add i64 %divisor1.t, %quotient2 ; <i64> [#uses=1] ret i64 %sum } instead of: define i64 @test(i64 %X, i1 %Cond) { entry: %quotient1.v = select i1 %Cond, i64 3, i64 4 ; <i64> [#uses=1] %quotient1 = lshr i64 %X, %quotient1.v ; <i64> [#uses=1] %quotient2 = lshr i64 %X, 3 ; <i64> [#uses=1] %sum = add i64 %quotient1, %quotient2 ; <i64> [#uses=1] ret i64 %sum } llvm-svn: 53534
-
Chris Lattner authored
fixes PR2540. llvm-svn: 53533
-
Chris Lattner authored
No functionality change. llvm-svn: 53532
-
- Jul 13, 2008
-
-
Chris Lattner authored
llvm-svn: 53531
-
Chris Lattner authored
No functionality change. llvm-svn: 53530
-
Chris Lattner authored
llvm-svn: 53528
-
Chris Lattner authored
llvm-svn: 53527
-
Chris Lattner authored
conditionals and commenting the code better. No functionality change. llvm-svn: 53526
-
- Jul 12, 2008
-
-
Nick Lewycky authored
started complicating many loops ('for' loops, in fact). llvm-svn: 53508
-
Nick Lewycky authored
Remove dead code analyzing urem. 'urem' of power-of-2 is canonicalized to an 'and' instruction. llvm-svn: 53506
-
Evan Cheng authored
llvm-svn: 53505
-
Evan Cheng authored
llvm-svn: 53504
-
Evan Cheng authored
Fix PR2536: a nasty spiller bug. If a two-address instruction uses a register but the use portion of its live range is not part of its liveinterval, it must be defined by an implicit_def. In that case, do not spill the use. e.g. 8 %reg1024<def> = IMPLICIT_DEF 12 %reg1024<def> = INSERT_SUBREG %reg1024<kill>, %reg1025, 2 The live range [12, 14) are not part of the r1024 live interval since it's defined by an implicit def. It will not conflicts with live interval of r1025. Now suppose both registers are spilled, you can easily see a situation where both registers are reloaded before the INSERT_SUBREG and both target registers that would overlap. llvm-svn: 53503
-
Evan Cheng authored
llvm-svn: 53502
-
Dan Gohman authored
has exactly one MachineMemOperand, and change some X86 lowering code to make use of it. llvm-svn: 53498
-
Dan Gohman authored
llvm-svn: 53489
-
Dan Gohman authored
instead of using the frame index for the SVOffset, which was inconsistent. llvm-svn: 53486
-
Dan Gohman authored
llvm-svn: 53481
-
Dan Gohman authored
llvm-svn: 53480
-
- Jul 11, 2008
-
-
Dan Gohman authored
use a timer group for the timers in SelectionDAGISel. Also, Split scheduling out from emitting, to give each their own timer. llvm-svn: 53476
-
Dan Gohman authored
llvm-svn: 53474
-
Chris Lattner authored
llvm-svn: 53472
-
Dan Gohman authored
llvm-svn: 53471
-
Owen Anderson authored
llvm-svn: 53470
-
Duncan Sands authored
be no need to split the result of a vector RET node, since they are always already legal. llvm-svn: 53462
-
Duncan Sands authored
SINT_TO_FP libcall plus additional operations: it might as well be a direct UINT_TO_FP libcall. So only turn it into an SINT_TO_FP if the target has special handling for SINT_TO_FP. llvm-svn: 53461
-
Duncan Sands authored
llvm-svn: 53460
-
Duncan Sands authored
was presumably added after the rest of the code was copied to LegalizeTypes. llvm-svn: 53459
-
Duncan Sands authored
on 16 bit machines. llvm-svn: 53458
-