| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
this patch brought to you by the tool clang-format.
I wanted to fix up the names of constructor parameters because they
followed a bit of an anti-pattern by naming initialisms with CamelCase:
'Tti', 'Se', etc. This appears to have been in an attempt to not overlap
with the names of member variables 'TTI', 'SE', etc. However,
constructor arguments can very safely alias members, and in fact that's
the conventional way to pass in members. I've fixed all of these I saw,
along with making some strang abbreviations such as 'Lp' be simpler 'L',
or 'Lgl' be the word 'Legal'.
However, the code I was touching had indentation and formatting somewhat
all over the map. So I ran clang-format and fixed them.
I also fixed a few other formatting or doxygen formatting issues such as
using ///< on trailing comments so they are associated with the correct
entry.
There is still a lot of room for improvement of the formating and
cleanliness of this code. ;] At least a few parts of the coding
standards or common practices in LLVM's code aren't followed, the enum
naming rules jumped out at me. I may mix some of these while I'm here,
but not all of them.
llvm-svn: 171719
|
| |
|
|
|
|
|
|
| |
I'm sorry for duplicating bad style here, but I wanted to keep
consistency. I've pinged the code review thread where this style was
reviewed and changes were requested.
llvm-svn: 171714
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
through as a reference rather than a pointer. There is always *some*
implementation of this available, so this simplifies code by not having
to test for whether it is available or not.
Further, it turns out there were piles of places where SimplifyCFG was
recursing and not passing down either TD or TTI. These are fixed to be
more pedantically consistent even though I don't have any particular
cases where it would matter.
llvm-svn: 171691
|
| |
|
|
|
|
| |
and make its comments doxygen comments.
llvm-svn: 171688
|
| |
|
|
|
|
|
| |
follow the conding conventions regarding enumerating a set of "kinds" of
things.
llvm-svn: 171687
|
| |
|
|
|
|
|
| |
longer would violate any dependency layering and it is in fact an
analysis. =]
llvm-svn: 171686
|
| |
|
|
|
|
| |
pair in ObjCARCContract::ContractAutorelease.
llvm-svn: 171679
|
| |
|
|
|
|
| |
retain/autorelease pair in ObjCARCOpt::OptimizeReturns.
llvm-svn: 171678
|
| |
|
|
|
|
| |
null since they are no-ops.
llvm-svn: 171677
|
| |
|
|
|
|
| |
to a function which can not throw.
llvm-svn: 171676
|
| |
|
|
|
|
| |
a function which can never be passed stack args.
llvm-svn: 171675
|
| |
|
|
| |
llvm-svn: 171674
|
| |
|
|
|
|
| |
objc_release(x) when x is otherwise unused.
llvm-svn: 171673
|
| |
|
|
|
|
|
|
| |
undefined pointer-to-weak-pointer is NULL cases by replacing the given call inst with an undefined value.
The reason that there are two cases is that the first case handles the unary cases and the second the binary cases.
llvm-svn: 171672
|
| |
|
|
|
|
| |
special semantic meaning in the frontend and thus in the optimizer can be deleted.
llvm-svn: 171670
|
| |
|
|
|
|
| |
objc_autoreleaseReturnValue => objc_autorelease due to its operand not being used as a return value.
llvm-svn: 171669
|
| |
|
|
|
|
|
| |
Indirect branch in the preheader crashes replaceCongruentIVs.
Fixes rdar://12910141.
llvm-svn: 171653
|
| |
|
|
|
|
| |
objc_retainAutorelasedReturnValue => objc_retain since the operand to said function is not a return value.
llvm-svn: 171629
|
| |
|
|
|
|
| |
objc_autoreleaseReturnValue/objc_retainAutoreleasedValue pair.
llvm-svn: 171628
|
| |
|
|
|
|
| |
when merging two TBAA tags, pointed out by Nuno.
llvm-svn: 171627
|
| |
|
|
| |
llvm-svn: 171620
|
| |
|
|
|
|
| |
interface.
llvm-svn: 171618
|
| |
|
|
|
|
| |
the ScalarTargetTransformInfo interface.
llvm-svn: 171617
|
| |
|
|
|
|
| |
interface rather than the ScalarTargetTransformInterface.
llvm-svn: 171616
|
| |
|
|
|
|
|
|
|
|
|
|
| |
next to its only user. This helper relies on TargetLowering information
that shouldn't be generally used throughout the Transfoms library, and
so it made little sense as a generic utility.
This also consolidates the file where we need to remove the remaining
uses of TargetLowering in favor of the IR-layer abstract interface in
TargetTransformInfo.
llvm-svn: 171590
|
| |
|
|
|
|
|
|
| |
as long as the reduction chain is used in the LHS.
PR14803.
llvm-svn: 171583
|
| |
|
|
|
|
|
|
|
| |
Since subtraction does not commute the loop vectorizer incorrectly vectorizes
reductions such as x = A[i] - x.
Disabling for now.
llvm-svn: 171537
|
| |
|
|
|
|
| |
objc_retainAutorelasedReturnValue.
llvm-svn: 171535
|
| |
|
|
|
|
|
|
| |
the method where it was being called when I should have just prefixed the actual message with Pass::Method.
Additionally I fixed some whitespace issues.
llvm-svn: 171534
|
| |
|
|
| |
llvm-svn: 171525
|
| |
|
|
|
|
| |
size actually hurts the performance on many programs.
llvm-svn: 171471
|
| |
|
|
|
|
|
|
| |
1. Add code to estimate register pressure.
2. Add code to select the unroll factor based on register pressure.
3. Add bits to TargetTransformInfo to provide the number of registers.
llvm-svn: 171469
|
| |
|
|
|
|
| |
processed when said queue was really a list to state a list had finished being processed.
llvm-svn: 171465
|
| |
|
|
|
|
| |
ObjCARCAPElim::OptimizeBB.
llvm-svn: 171464
|
| |
|
|
|
|
| |
*p = null.
llvm-svn: 171463
|
| |
|
|
|
|
| |
architectures where this is required to perform a retainAutoreleasedReturnValue optimization.
llvm-svn: 171462
|
| |
|
|
|
|
| |
increasing the ILP. At the moment this feature is disabled by default and this commit should not cause any functional changes.
llvm-svn: 171436
|
| |
|
|
| |
llvm-svn: 171429
|
| |
|
|
|
|
| |
- Fix a typo
llvm-svn: 171399
|
| |
|
|
|
|
|
|
|
|
| |
code that includes Intrinsics.gen directly.
This never showed up in my testing because the old Intrinsics.gen was
still kicking around in the make build system and was correct there. =[
Thankfully, some of the bots to clean rebuilds and that caught this.
llvm-svn: 171373
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.
There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.
The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.
I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).
I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.
llvm-svn: 171366
|
| |
|
|
|
|
|
|
|
|
| |
utils/sort_includes.py script.
Most of these are updating the new R600 target and fixing up a few
regressions that have creeped in since the last time I sorted the
includes.
llvm-svn: 171362
|
| |
|
|
| |
llvm-svn: 171349
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 171348
|
| |
|
|
|
|
|
|
|
|
|
| |
verbatim with its argument to temporarily undo an optimization.
Specifically these calls return their argument verbatim, as a low-level
optimization. However, this makes high-level optimizations
harder. We undo any uses of this optimization that the front-end
emitted. We redo them later in the contract pass.
llvm-svn: 171346
|
| |
|
|
|
|
|
|
|
| |
that emit what instructions are being visited.
This is a part of a larger effort of adding DEBUG messages to the ARC
Optimizer Backend.
llvm-svn: 171345
|
| |
|
|
|
|
| |
Also add an assert to avoid confusion in the code where is known that C1 <= C2.
llvm-svn: 171310
|
| |
|
|
|
|
|
| |
promoting a store in a loop. This was noticed when working on PR14753,
but isn't directly related.
llvm-svn: 171281
|
| |
|
|
|
|
| |
PR14753
llvm-svn: 171279
|
| |
|
|
| |
llvm-svn: 171272
|