| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
There are still places which treat the Attribute object as a collection of
attributes. I'm systematically removing them.
llvm-svn: 173990
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Given source IR:
call void @llvm.dbg.declare(metadata !{i32* %argc.addr}, metadata !14), !dbg !15
we used to generate
call void @llvm.dbg.declare(metadata !27, metadata !28), !dbg !29
!27 = metadata !{null}
With this patch, we will correctly generate
call void @llvm.dbg.declare(metadata !{i32* %argc.addr}, metadata !27), !dbg !28
Looking up %argc.addr in ValueMap will return null, since %argc.addr is already
correctly set up, we can use identity mapping.
llvm-svn: 173946
|
|
|
|
|
|
|
|
| |
sext-not-and --> select.
Patch by Muhammad Tauqir Ahmad.
llvm-svn: 173901
|
|
|
|
| |
llvm-svn: 173842
|
|
|
|
|
|
| |
to a command line switch.
llvm-svn: 173837
|
|
|
|
| |
llvm-svn: 173836
|
|
|
|
| |
llvm-svn: 173834
|
|
|
|
| |
llvm-svn: 173832
|
|
|
|
|
|
| |
type Sequence so I can print out Sequences in debug statements.
llvm-svn: 173831
|
|
|
|
|
|
| |
perform escape analysis of other retainable object pointers in other locations.
llvm-svn: 173829
|
|
|
|
|
|
|
| |
Fixed set-but-not-used warnings.
Reviewer: gribozavr
llvm-svn: 173810
|
|
|
|
|
|
| |
No intended functionality change.
llvm-svn: 173809
|
|
|
|
| |
llvm-svn: 173781
|
|
|
|
| |
llvm-svn: 173774
|
|
|
|
| |
llvm-svn: 173773
|
|
|
|
|
|
| |
declaration.
llvm-svn: 173772
|
|
|
|
| |
llvm-svn: 173770
|
|
|
|
|
|
|
| |
actually have DEBUG statements. Also changed raw_ostream in said header
to be a forward declaration (removing an include).
llvm-svn: 173769
|
|
|
|
| |
llvm-svn: 173767
|
|
|
|
|
|
|
|
| |
This was missed since whenever I was including ObjCARCAliasAnalysis.h, I
was including ObjCARC.h before it which included these includes
(resulting in no compilation breakage).
llvm-svn: 173764
|
|
|
|
|
|
| |
they are unnecessary.
llvm-svn: 173763
|
|
|
|
|
|
|
|
| |
This also required adding 2x headers Dependency Analysis.h/Provenance Analysis.h
and a .cpp file DependencyAnalysis.cpp to unentangle the dependencies inbetween
ObjCARCContract and ObjCARCOpts.
llvm-svn: 173760
|
|
|
|
| |
llvm-svn: 173759
|
|
|
|
|
|
|
|
| |
Because BBVectorize may significantly shorten a loop body, unroll
again after vectorization. This is especially important when using
runtime or partial unrolling.
llvm-svn: 173730
|
|
|
|
| |
llvm-svn: 173691
|
|
|
|
|
|
|
|
| |
It is way too slow. Change the default option value to 0.
Always do exact shadow propagation for unsigned ICmp with constants, it is
cheap (under 1% cpu time) and required for correctness.
llvm-svn: 173682
|
|
|
|
|
|
| |
Broken tests.
llvm-svn: 173679
|
|
|
|
|
|
| |
50% slowdown on one of the specs.
llvm-svn: 173678
|
|
|
|
|
|
| |
large to static inline and place in a header file such as ObjCARC.h.
llvm-svn: 173666
|
|
|
|
|
|
| |
violations.
llvm-svn: 173663
|
|
|
|
| |
llvm-svn: 173662
|
|
|
|
| |
llvm-svn: 173654
|
|
|
|
| |
llvm-svn: 173653
|
|
|
|
| |
llvm-svn: 173652
|
|
|
|
|
|
|
| |
I also added the local header ObjCARC.h for common functions used by the
various passes.
llvm-svn: 173651
|
|
|
|
|
|
| |
for refactoring the ARC Optimizer.
llvm-svn: 173647
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When flipping the pair of subvectors that form a vector, if the
vector length is 2, we can use the SK_Reverse shuffle kind to get
more-accurate cost information. Also we can use the SK_ExtractSubvector
shuffle kind to get accurate subvector extraction costs.
The current cost model implementations don't yet seem complex enough
for this to make a difference (thus, there are no test cases with this
commit), but it should help in future.
Depending on how the various targets optimize and combine shuffles in
practice, we might be able to get more-accurate costs by combining the
costs of multiple shuffle kinds. For example, the cost of flipping the
subvector pairs could be modeled as two extractions and two subvector
insertions. These changes, however, should probably be motivated
by specific test cases.
llvm-svn: 173621
|
|
|
|
|
|
| |
out bug fixes, or functionality preserving refactorings.
llvm-svn: 173610
|
|
|
|
|
|
|
|
|
| |
This name change does the following:
1. Causes the function name to use proper ARC terminology.
2. Makes it clear what the function truly does.
llvm-svn: 173609
|
|
|
|
|
|
|
| |
In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the
internals of the AttributeSet to outside users, which isn't goodness.
llvm-svn: 173602
|
|
|
|
|
|
|
| |
In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the
internals of the AttributeSet to outside users, which isn't goodness.
llvm-svn: 173601
|
|
|
|
|
|
|
| |
In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the
internals of the AttributeSet to outside users, which isn't goodness.
llvm-svn: 173600
|
|
|
|
| |
llvm-svn: 173580
|
|
|
|
| |
llvm-svn: 173579
|
|
|
|
|
|
| |
AttributeWithIndex.
llvm-svn: 173536
|
|
|
|
|
|
|
|
| |
The 'getSlot' function and its ilk allow introspection into the AttributeSet
class. However, that class should be opaque. Allow access through accessor
methods instead.
llvm-svn: 173522
|
|
|
|
|
|
| |
duplication.
llvm-svn: 173500
|
|
|
|
| |
llvm-svn: 173499
|
|
|
|
| |
llvm-svn: 173475
|
|
|
|
|
|
| |
created InternalizePass (useful for pass reuse)
llvm-svn: 173474
|