| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 103989
|
| |
|
|
|
|
| |
and cleanup comments as well.
llvm-svn: 103985
|
| |
|
|
|
|
| |
- Of questionable utility, since in general anything which wants to do this should probably be within a target specific hook, which can rely on the sections being of the appropriate type. However, it can be useful for short term hacks.
llvm-svn: 103980
|
| |
|
|
| |
llvm-svn: 103974
|
| |
|
|
| |
llvm-svn: 103962
|
| |
|
|
|
|
|
|
| |
variable has not yet been used in an expression. This allows us to support a few
cases that show up in real code (mostly because gcc generates it for Objective-C
on Darwin), without giving up a reasonable semantic model for assignment.
llvm-svn: 103950
|
| |
|
|
| |
llvm-svn: 103936
|
| |
|
|
|
|
| |
Patch by Charles Davis and Steven Watanabe!
llvm-svn: 103902
|
| |
|
|
|
|
| |
Evzen Muller!
llvm-svn: 103877
|
| |
|
|
| |
llvm-svn: 103856
|
| |
|
|
|
|
|
| |
allow target to override it in order to map register classes to illegal
but synthesizable types. e.g. v4i64, v8i64 for ARM / NEON.
llvm-svn: 103854
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instructions.
e.g.
%reg1026<def> = VLDMQ %reg1025<kill>, 260, pred:14, pred:%reg0
%reg1027<def> = EXTRACT_SUBREG %reg1026, 6
%reg1028<def> = EXTRACT_SUBREG %reg1026<kill>, 5
...
%reg1029<def> = REG_SEQUENCE %reg1028<kill>, 5, %reg1027<kill>, 6, %reg1028, 7, %reg1027, 8, %reg1028, 9, %reg1027, 10, %reg1030<kill>, 11, %reg1032<kill>, 12
After REG_SEQUENCE is eliminated, we are left with:
%reg1026<def> = VLDMQ %reg1025<kill>, 260, pred:14, pred:%reg0
%reg1029:6<def> = EXTRACT_SUBREG %reg1026, 6
%reg1029:5<def> = EXTRACT_SUBREG %reg1026<kill>, 5
The regular coalescer will not be able to coalesce reg1026 and reg1029 because it doesn't
know how to combine sub-register indices 5 and 6. Now 2-address pass will consult the
target whether sub-registers 5 and 6 of reg1026 can be combined to into a larger
sub-register (or combined to be reg1026 itself as is the case here). If it is possible,
it will be able to replace references of reg1026 with reg1029 + the larger sub-register
index.
llvm-svn: 103835
|
| |
|
|
| |
llvm-svn: 103834
|
| |
|
|
|
|
|
|
|
| |
the variable actually tracks.
N.B., several back-ends are using "HasCalls" as being synonymous for something
that adjusts the stack. This isn't 100% correct and should be looked into.
llvm-svn: 103802
|
| |
|
|
|
|
| |
optimizer.
llvm-svn: 103798
|
| |
|
|
|
|
| |
FunctionPassManager or regular PassManager.
llvm-svn: 103773
|
| |
|
|
|
|
| |
subgraph views.
llvm-svn: 103772
|
| |
|
|
|
|
| |
The small saving in memory isn't worth the increase in runtime and code complexity in my opinion.
llvm-svn: 103768
|
| |
|
|
|
|
| |
Nothing uses this yet.
llvm-svn: 103757
|
| |
|
|
| |
llvm-svn: 103755
|
| |
|
|
|
|
| |
- The eliminates the last major algorithmic problem with MC.
llvm-svn: 103754
|
| |
|
|
|
|
| |
out, and enforce several invariants to LayoutFragment to ensure we only do layout in a sensible order.
llvm-svn: 103753
|
| |
|
|
|
|
| |
the file.
llvm-svn: 103751
|
| |
|
|
|
|
| |
Also, elimminate MCAsmLayout::set*, which are no longer needed.
llvm-svn: 103750
|
| |
|
|
|
|
| |
intrinsics which translate into a pair of vld / vst instructions that can load / store 8 consecutive 64-bit (D) registers.
llvm-svn: 103746
|
| |
|
|
|
|
| |
of allowing more than 31 scalar value types. MAX_ALLOWED_VALUETYPE had already been updated to 64 a while back.
llvm-svn: 103743
|
| |
|
|
|
|
| |
representation and setter and getter's so they will continue to work if the number of scalar ValueType's exceeds 31.
llvm-svn: 103742
|
| |
|
|
| |
llvm-svn: 103738
|
| |
|
|
|
|
| |
when they move instructions.
llvm-svn: 103737
|
| |
|
|
| |
llvm-svn: 103733
|
| |
|
|
|
|
| |
use of it in MachineCSE.
llvm-svn: 103726
|
| |
|
|
| |
llvm-svn: 103724
|
| |
|
|
| |
llvm-svn: 103723
|
| |
|
|
| |
llvm-svn: 103715
|
| |
|
|
| |
llvm-svn: 103709
|
| |
|
|
|
|
| |
utility functions.
llvm-svn: 103695
|
| |
|
|
|
|
| |
says the align fragment shouldn't contribute to the logical section size, it is will be used for cleaning up the code to handle section alignment.
llvm-svn: 103690
|
| |
|
|
|
|
| |
consumed by the section. This can differ from both the section logical size, and the section size on disk (although the current code handles this without making an explicit distinction).
llvm-svn: 103689
|
| |
|
|
| |
llvm-svn: 103665
|
| |
|
|
| |
llvm-svn: 103664
|
| |
|
|
|
|
| |
This allows using ValueSize==0 to represent a virtual fill.
llvm-svn: 103662
|
| |
|
|
|
|
| |
MCAlignFragments for this.
llvm-svn: 103661
|
| |
|
|
|
|
|
|
|
|
| |
on RAUW of functions, this is a correctness issue instead of a mere memory
usage problem.
No testcase until the new MergeFunctions can land.
llvm-svn: 103653
|
| |
|
|
| |
llvm-svn: 103649
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- This provides a convenient alternative to using something llvm::prior or
manual iterator access, for example::
if (T *Prev = foo->getPrevNode())
...
instead of::
iterator it(foo);
if (it != begin()) {
--it;
...
}
- Chris, please review.
llvm-svn: 103647
|
| |
|
|
| |
llvm-svn: 103627
|
| |
|
|
| |
llvm-svn: 103616
|
| |
|
|
| |
llvm-svn: 103576
|
| |
|
|
|
|
| |
The function takes the value and a mask, and clears the mask bits before applying the value.
llvm-svn: 103534
|
| |
|
|
|
|
|
|
| |
be diced into atoms, and adjust getAtom() to take this into account.
- This fixes relocations to symbols in fixed size literal sections, for
example.
llvm-svn: 103532
|