| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 68390
|
|
|
|
| |
llvm-svn: 68389
|
|
|
|
| |
llvm-svn: 68388
|
|
|
|
| |
llvm-svn: 65923
|
|
|
|
|
|
| |
Document the 'llvm.OP.with.overflow' intrinsics.
llvm-svn: 65918
|
|
|
|
| |
llvm-svn: 65136
|
|
|
|
| |
llvm-svn: 65135
|
|
|
|
| |
llvm-svn: 65125
|
|
|
|
| |
llvm-svn: 64861
|
|
|
|
|
|
| |
Fix PR3522. It's not safe to sink into landing pad BB's.
llvm-svn: 64790
|
|
|
|
|
|
| |
Fix pr3571: If stride is a value defined by an instruction, make sure it dominates the loop preheader. When IV users are strength reduced, the stride is inserted into the preheader. It could create a use before def situation.
llvm-svn: 64789
|
|
|
|
| |
llvm-svn: 64785
|
|
|
|
|
|
|
|
|
|
|
| |
Make a transformation added in 63266 a bit less aggressive.
It was transforming (x&y)==y to (x&y)!=0 in the case where
y is variable and known to have at most one bit set (e.g. z&1).
This is not correct; the expressions are not equivalent when y==0.
I believe this patch salvages what can be salvaged, including
all the cases in bt.ll.
llvm-svn: 64782
|
|
|
|
|
|
|
| |
Don't try to set an EFLAGS operand to dead if no instruction was created.
This fixes a bug introduced by r61215.
llvm-svn: 64524
|
|
|
|
|
|
| |
Avoid order files for now, as they aren't supported in 3.79.
llvm-svn: 64523
|
|
|
|
|
|
|
| |
Fix MingW build: define GTEST_OS_WINDOWS if OS is MingW, but disable
exceptions.
llvm-svn: 64521
|
|
|
|
|
|
|
|
| |
Fix a nasty bug (PR3550) where the inline pass could incorrectly mark
calls with the tail marker when inlining them through an invoke. Patch,
testcase, and perfect analysis by Jay Foad!
llvm-svn: 64520
|
|
|
|
|
|
|
|
|
| |
Turns out AnalyzeBranch can modify the mbb being analyzed. This is a nasty
suprise to some callers, e.g. register coalescer. For now, add an parameter
that tells AnalyzeBranch whether it's safe to modify the mbb. A better
solution is out there, but I don't have time to deal with it right now.
llvm-svn: 64518
|
|
|
|
|
|
| |
Fix PR 3471, and some cleanups.
llvm-svn: 64517
|
|
|
|
| |
llvm-svn: 64516
|
|
|
|
|
|
| |
FIx spelling.
llvm-svn: 64515
|
|
|
|
|
|
|
|
| |
Probe for flags before using them to try to help compiling with
compilers that don't support those flags. This hopefully will help
gcc 3.X compile this code. http://llvm.org/PR3487
llvm-svn: 64514
|
|
|
|
|
|
| |
Fix PR3486. Fix a bug in code that manually patch physical register live interval after its sub-register is coalesced with a virtual register.
llvm-svn: 64509
|
|
|
|
|
|
|
|
| |
Pre-alloc splitting needs to be more careful to avoid inserting spills/restores
between call frame setup/restore points. Unfortunately, this regresses
code size a bit, but at least it's correct now!
llvm-svn: 64508
|
|
|
|
| |
llvm-svn: 63833
|
|
|
|
|
|
|
| |
First initialize DAG otherwise dwarf writer is used uninitialized.
Duncan spotted this. Thanks!
llvm-svn: 63793
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tevert part of the x86 subtarget logic changes: when -march=x86-64
is given, override the subtarget settings and enable 64-bit support.
This restores the earlier behavior, and fixes regressions on
Non-64-bit-capable x86-32 hosts.
This isn't necessarily the best approach, but the most obvious
alternative is to require -mcpu=x86-64 or -mattr=+64bit to be used
with -march=x86-64 when the host doesn't have 64-bit support. This
makes things little more consistent, but it's less convenient, and
it has the practical drawback of requiring lots of test changes, so
I opted for the above approach for now.
llvm-svn: 63792
|
|
|
|
| |
llvm-svn: 63791
|
|
|
|
| |
llvm-svn: 63790
|
|
|
|
|
|
| |
did for LLVM 2.4. These are slated to be removed (PR3370) and we don't want to have to be backwards compatible with them in the future.
llvm-svn: 63788
|
|
|
|
|
|
| |
Revert r63600.
llvm-svn: 63787
|
|
|
|
| |
llvm-svn: 63608
|
|
|
|
| |
llvm-svn: 63607
|
|\
| |
| |
| | |
llvm-svn: 63604
|
| |
| |
| |
| | |
llvm-svn: 63600
|
| |
| |
| |
| | |
llvm-svn: 63599
|
| |
| |
| |
| |
| |
| | |
initial PHI nodes of the machine function.
llvm-svn: 63598
|
| |
| |
| |
| |
| |
| | |
the index of the value being extracted is always an i32. This fixes PR3465
llvm-svn: 63597
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
crazy cases like:
struct f { int A, B, C, D, E, F; };
short test4() {
struct f A;
A.A = 1;
memset(&A.B, 2, 12);
return A.C;
}
llvm-svn: 63596
|
| |
| |
| |
| | |
llvm-svn: 63595
|
| |
| |
| |
| | |
llvm-svn: 63594
|
| |
| |
| |
| |
| |
| |
| | |
correct. We need more infrastructure before we can get the DebugLoc info for
these instructions.
llvm-svn: 63593
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
reliable way to do this with the current dejagnu infrastructure.
If someone can figure out how to fix these tests so that they test
what they are intended to test without spuriously failing on any
popular platforms, they are invited to reinstate them.
llvm-svn: 63592
|
| |
| |
| |
| | |
llvm-svn: 63591
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With the new world order, it can handle cases where the first
store into the alloca is an element of the vector, instead of
requiring the first analyzed store to have the vector type
itself. This allows us to un-xfail
test/CodeGen/X86/vec_ins_extract.ll.
llvm-svn: 63590
|
| |
| |
| |
| |
| |
| |
| |
| | |
they are useful to analyses other than BasicAliasAnalysis.cpp. Include
the full comment for isIdentifiedObject in the header file. Thanks to
Chris for suggeseting this.
llvm-svn: 63589
|
| |
| |
| |
| |
| |
| |
| |
| | |
an std::set, we can't make a strong guarantee about what its alignment
will be. Since I don't need the 3rd bit anyway yet, just change the
assertion.
llvm-svn: 63588
|
| |
| |
| |
| |
| |
| | |
what it is, but we do want the alloca promoted.
llvm-svn: 63587
|
| |
| |
| |
| | |
llvm-svn: 63586
|
| |
| |
| |
| | |
llvm-svn: 63585
|