- Jul 14, 2008
-
-
Dan Gohman authored
llvm-svn: 53561
-
Duncan Sands authored
Remove support for this. llvm-svn: 53559
-
Duncan Sands authored
non-power-of-two vectors. llvm-svn: 53558
-
Chris Lattner authored
llvm-svn: 53557
-
Duncan Sands authored
than the vector element type. Don't forget to handle this when the insertion index is not a constant. llvm-svn: 53556
-
Duncan Sands authored
extending load of a vector. Handle this case when splitting vector loads. I'm not completely sure what is supposed to happen, but I think it means hi should be set to undef. LegalizeDAG does not consider this case. llvm-svn: 53555
-
Duncan Sands authored
stores of one-element vectors. Also, neaten the handling of INSERT_VECTOR_ELT when the inserted type is larger than the vector element type. llvm-svn: 53554
-
Duncan Sands authored
are used for passing huge immediates in inline ASM from the front-end straight down to the ASM writer. Of course this is a hack, but it is simple, limited in scope, works in practice, and is what LegalizeDAG does. llvm-svn: 53553
-
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: 53537
-
Chris Lattner authored
llvm-svn: 53536
-
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: 53529
-
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
-
Duncan Sands authored
llvm-svn: 53525
-
Chris Lattner authored
llvm-svn: 53523
-
Cedric Venet authored
llvm-svn: 53521
-
- Jul 12, 2008
-
-
Ted Kremenek authored
llvm-svn: 53517
-
Nick Lewycky authored
started complicating many loops ('for' loops, in fact). llvm-svn: 53508
-
Nick Lewycky authored
to prevent silly things from happening accidentally. PR2171 llvm-svn: 53507
-
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
-