| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 53550
|
| |
|
|
| |
llvm-svn: 53549
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
internal linkage.
llvm-svn: 53547
|
| |
|
|
|
|
|
|
|
|
|
| |
(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
|
| |
|
|
| |
llvm-svn: 53545
|
| |
|
|
|
|
| |
PR2317.
llvm-svn: 53544
|
| |
|
|
|
|
|
|
|
| |
when presented with a constant expr.
If ConstantExpr::getV[IF]Cmp to work when ConstantFoldCompareInstruction
returns an undef or constant expr.
llvm-svn: 53541
|
| |
|
|
|
|
|
| |
a hack around the fact that we don't represent the CFG correctly for sj/lj.
It fixes PR2486.
llvm-svn: 53540
|
| |
|
|
| |
llvm-svn: 53538
|
| |
|
|
| |
llvm-svn: 53537
|
| |
|
|
| |
llvm-svn: 53536
|
| |
|
|
| |
llvm-svn: 53535
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
fixes PR2540.
llvm-svn: 53533
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 53532
|
| |
|
|
| |
llvm-svn: 53531
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 53530
|
| |
|
|
| |
llvm-svn: 53529
|
| |
|
|
| |
llvm-svn: 53528
|
| |
|
|
| |
llvm-svn: 53527
|
| |
|
|
|
|
|
|
|
|
| |
multiline
conditionals and commenting the code better.
No functionality change.
llvm-svn: 53526
|
| |
|
|
| |
llvm-svn: 53525
|
| |
|
|
| |
llvm-svn: 53524
|
| |
|
|
| |
llvm-svn: 53523
|
| |
|
|
| |
llvm-svn: 53522
|
| |
|
|
| |
llvm-svn: 53521
|
| |
|
|
|
|
| |
Simplify the parser by removing Parser::ParseIdentifierStatement.
llvm-svn: 53520
|
| |
|
|
| |
llvm-svn: 53519
|
| |
|
|
| |
llvm-svn: 53518
|
| |
|
|
| |
llvm-svn: 53517
|
| |
|
|
|
|
| |
started complicating many loops ('for' loops, in fact).
llvm-svn: 53508
|
| |
|
|
|
|
| |
to prevent silly things from happening accidentally. PR2171
llvm-svn: 53507
|
| |
|
|
|
|
|
| |
Remove dead code analyzing urem. 'urem' of power-of-2 is canonicalized to an
'and' instruction.
llvm-svn: 53506
|
| |
|
|
| |
llvm-svn: 53505
|
| |
|
|
| |
llvm-svn: 53504
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 53502
|
| |
|
|
|
|
| |
Casts from pointers remain a problem. :)
llvm-svn: 53501
|
| |
|
|
| |
llvm-svn: 53500
|
| |
|
|
|
|
| |
code. Switch to Eli's getIntWidth method.
llvm-svn: 53499
|
| |
|
|
|
|
|
| |
has exactly one MachineMemOperand, and change some X86 lowering code to
make use of it.
llvm-svn: 53498
|
| |
|
|
|
|
| |
type-compatibility of the return types of ObjC methods.
llvm-svn: 53496
|
| |
|
|
| |
llvm-svn: 53493
|
| |
|
|
| |
llvm-svn: 53492
|
| |
|
|
|
|
| |
diagnosic+loc info for i-c-e evaluation.
llvm-svn: 53490
|
| |
|
|
| |
llvm-svn: 53489
|
| |
|
|
| |
llvm-svn: 53488
|
| |
|
|
| |
llvm-svn: 53487
|