| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Use the opportunity to get rid of the trailing underscore variable names.
llvm-svn: 127618
|
| |
|
|
|
|
|
|
| |
Remove the unused reserved_ bit vector, no functional change intended.
This doesn't break 'svn blame', this file really is all my fault.
llvm-svn: 127607
|
| |
|
|
| |
llvm-svn: 127601
|
| |
|
|
| |
llvm-svn: 127600
|
| |
|
|
| |
llvm-svn: 127598
|
| |
|
|
| |
llvm-svn: 127595
|
| |
|
|
| |
llvm-svn: 127593
|
| |
|
|
|
|
| |
no-self-wrap.
llvm-svn: 127591
|
| |
|
|
|
|
|
|
|
| |
properties.
Added the self-wrap flag for SCEV::AddRecExpr.
A slew of temporary FIXMEs indicate the intention of the no-self-wrap flag
without changing behavior in this revision.
llvm-svn: 127590
|
| |
|
|
| |
llvm-svn: 127589
|
| |
|
|
|
|
|
| |
- Emit all arrays as type .b8 and proper sizes in bytes to conform
to the output of nvcc
llvm-svn: 127584
|
| |
|
|
| |
llvm-svn: 127578
|
| |
|
|
| |
llvm-svn: 127577
|
| |
|
|
|
|
| |
Early CSE pass so this patch reverts it to original source code.
llvm-svn: 127574
|
| |
|
|
| |
llvm-svn: 127569
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
load and store reference same memory location, the memory location
is represented by getelementptr with two uses (load and store) and
the getelementptr's base is alloca with single use. At this point,
instructions from alloca to store can be removed.
(this pattern is generated when bitfield is accessed.)
For example,
%u = alloca %struct.test, align 4 ; [#uses=1]
%0 = getelementptr inbounds %struct.test* %u, i32 0, i32 0;[#uses=2]
%1 = load i8* %0, align 4 ; [#uses=1]
%2 = and i8 %1, -16 ; [#uses=1]
%3 = or i8 %2, 5 ; [#uses=1]
store i8 %3, i8* %0, align 4
llvm-svn: 127565
|
| |
|
|
|
|
|
|
| |
may be reused.
Use the virtual register number as a cache tag instead. They are not reused.
llvm-svn: 127561
|
| |
|
|
|
|
|
| |
This allows the allocator to free any resources used by the virtual register,
including physical register assignments.
llvm-svn: 127560
|
| |
|
|
| |
llvm-svn: 127554
|
| |
|
|
| |
llvm-svn: 127548
|
| |
|
|
|
|
|
|
|
|
| |
llvm-gcc-i386-linux-selfhost and llvm-x86_64-linux-checks buildbots.
The original log entry:
Remove optimization emitting a reference insted of label difference, since
it can create more relocations. Removed isBaseAddressKnownZero method,
because it is no longer used.
llvm-svn: 127540
|
| |
|
|
| |
llvm-svn: 127539
|
| |
|
|
| |
llvm-svn: 127530
|
| |
|
|
|
|
|
|
|
|
|
| |
Live range splitting can create a number of small live ranges containing only a
single real use. Spill these small live ranges along with the large range they
are connected to with copies. This enables memory operand folding and maximizes
the spill to fill distance.
Work in progress with known bugs.
llvm-svn: 127529
|
| |
|
|
|
|
| |
disassembler's disassembler map.
llvm-svn: 127527
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are too many compatibility problems with using mixed types in
std::upper_bound, and I don't want to spend 110 lines of boilerplate setting up
a call to a 10-line function. Binary search is not /that/ hard to implement
correctly.
I tried terminating the binary search with a linear search, but that actually
made the algorithm slower against my expectation. Most live intervals have less
than 4 segments. The early test against endIndex() does pay, and this version is
25% faster than plain std::upper_bound().
llvm-svn: 127522
|
| |
|
|
|
|
|
|
|
| |
Go ahead and add them on when we might want to use them and let
later passes remove them.
Fixes rdar://9118569
llvm-svn: 127518
|
| |
|
|
| |
llvm-svn: 127516
|
| |
|
|
|
|
|
|
| |
actual instruction as the non-Darwin defs, but have different call-clobber
semantics and so need separate patterns. They don't need to duplicate the
encoding information, however.
llvm-svn: 127515
|
| |
|
|
| |
llvm-svn: 127511
|
| |
|
|
| |
llvm-svn: 127510
|
| |
|
|
| |
llvm-svn: 127509
|
| |
|
|
| |
llvm-svn: 127506
|
| |
|
|
| |
llvm-svn: 127505
|
| |
|
|
|
|
| |
effect that we get proper instruction printing using the "pop" mnemonic for it.
llvm-svn: 127502
|
| |
|
|
|
|
|
|
|
|
|
| |
Optimize trivial branches in CodeGenPrepare, which often get created from the
lowering of objectsize intrinsics. Unfortunately, a number of tests were relying
on llc not optimizing trivial branches, so I had to add an option to allow them
to continue to test what they originally tested.
This fixes <rdar://problem/8785296> and <rdar://problem/9112893>.
llvm-svn: 127498
|
| |
|
|
|
|
|
| |
protector insertion not working correctly with unreachable code. Since that
revision was rolled out, this test doesn't actual fail before this fix.
llvm-svn: 127497
|
| |
|
|
| |
llvm-svn: 127496
|
| |
|
|
|
|
| |
as for VDUP32d and VDUP32q, respectively.
llvm-svn: 127489
|
| |
|
|
|
|
| |
and VDUPLN32d, respectively.
llvm-svn: 127486
|
| |
|
|
|
|
| |
as for VREV64d32 and VREV64q32, respectively.
llvm-svn: 127485
|
| |
|
|
| |
llvm-svn: 127483
|
| |
|
|
| |
llvm-svn: 127482
|
| |
|
|
|
|
| |
it can create more relocations. Removed isBaseAddressKnownZero method, because it is no longer used.
llvm-svn: 127478
|
| |
|
|
|
|
| |
created from the", it broke some GCC test suite tests.
llvm-svn: 127477
|
| |
|
|
| |
llvm-svn: 127469
|
| |
|
|
|
|
| |
without being touched, so no longer needs to pollute the hidden-help text.
llvm-svn: 127468
|
| |
|
|
|
|
|
|
| |
overflow semantics as add.
Should fix the selfhost failures that started with r127463.
llvm-svn: 127465
|
| |
|
|
|
|
|
|
| |
it's a zero comparison when it's not.
Fixes PR9454.
llvm-svn: 127464
|
| |
|
|
|
|
|
| |
do with nuw here, but sub and mul should be given similar treatment.
Fixes PR9343 #15!
llvm-svn: 127463
|