| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
identifier. There is no way to work around it.
llvm-svn: 93896
|
|
|
|
|
|
| |
start of a use block. A PHI use is expected to kill its source values.
llvm-svn: 93895
|
|
|
|
|
|
| |
This fixes some bugs handling address spaces.
llvm-svn: 93891
|
|
|
|
|
|
| |
default address space.
llvm-svn: 93890
|
|
|
|
|
|
|
| |
emits one directive instead of N. Not doing this would be a
significant regression on the # bytes generated by .fill.
llvm-svn: 93889
|
|
|
|
|
|
| |
(which just iteratively emits bytes) to MCStreamer.
llvm-svn: 93888
|
|
|
|
|
|
| |
which we don't support anymore.
llvm-svn: 93886
|
|
|
|
|
|
|
|
|
|
|
| |
function can support dynamic stack realignment. That's a much easier question
to answer at instruction selection stage than whether the function actually
will have dynamic alignment prologue. This allows the removal of the
stack alignment heuristic pass, and improves code quality for cases where
the heuristic would result in dynamic alignment code being generated when
it was not strictly necessary.
llvm-svn: 93885
|
|
|
|
|
|
| |
Evans!
llvm-svn: 93884
|
|
|
|
|
|
| |
the instruction to load those args removed. This fix PR6071
llvm-svn: 93880
|
|
|
|
| |
llvm-svn: 93876
|
|
|
|
| |
llvm-svn: 93875
|
|
|
|
|
|
|
| |
darwin. The next big piece to get global variables streamerized
is EmitGlobalConstant.
llvm-svn: 93870
|
|
|
|
|
|
| |
.zerofill directive. Streamerize its generation.
llvm-svn: 93868
|
|
|
|
|
|
| |
there is no need to pay the cost of WeakVH and ValueMaps.
llvm-svn: 93865
|
|
|
|
| |
llvm-svn: 93864
|
|
|
|
| |
llvm-svn: 93863
|
|
|
|
| |
llvm-svn: 93860
|
|
|
|
| |
llvm-svn: 93859
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
doing global variable classification anymore) and hookized, sink almost
all target targets global variable emission code into AsmPrinter and out
of each target.
Some notes:
1. PIC16 does completely custom and crazy stuff, so it is not changed.
2. XCore has some custom handling for extra directives. I'll look at it next.
3. This switches linux/ppc to use .globl instead of .global. If .globl is
actually wrong, let me know and I'll fix it.
4. This makes linux/ppc get a lot of random cases right which were obviously
wrong before, it is probably now a bit healthier.
5. Blackfin will probably start getting .comm and other things that it didn't
before. If this is undesirable, it should explicitly opt out of these
things by clearing the relevant fields of MCAsmInfo.
This leads to a nice diffstat:
14 files changed, 127 insertions(+), 830 deletions(-)
llvm-svn: 93858
|
|
|
|
| |
llvm-svn: 93857
|
|
|
|
|
|
|
| |
just like all other elf targets. Bruno, if this isn't right, please
let me know + why :)
llvm-svn: 93856
|
|
|
|
| |
llvm-svn: 93855
|
|
|
|
|
|
|
|
| |
I'm not sure that this is correct, but it causes no test failures,
and just emitting a .comm without protecting its linkage somehow
is surely not right.
llvm-svn: 93854
|
|
|
|
| |
llvm-svn: 93853
|
|
|
|
|
|
| |
"isdarwin".
llvm-svn: 93852
|
|
|
|
|
|
|
|
|
|
| |
This makes a similar code dead in all the other targets, I'll clean it up
in a bit.
This also moves handling of lcomm up before acquisition of a section,
since lcomm never needs a section.
llvm-svn: 93851
|
|
|
|
|
|
| |
darwin into common code.
llvm-svn: 93849
|
|
|
|
|
|
|
|
|
| |
are the same. I had already fixed a similar problem where the source and
destination were different bitcasts derived from the same alloca, but the
previous fix still did not handle the case where both operands are exactly
the same value. Radar 7552893.
llvm-svn: 93848
|
|
|
|
|
|
| |
duplicating the logic (differently) in lots of different targets.
llvm-svn: 93847
|
|
|
|
|
|
| |
and everything else (weak).
llvm-svn: 93846
|
|
|
|
| |
llvm-svn: 93845
|
|
|
|
|
|
|
|
| |
GCC would put weak zero initialized mutable data in the .bss section,
we would put it into a crasy '.gnu.linkonce.b.test,"aw",@nobits'
section. Fixing this will allow simplifications next up.
llvm-svn: 93844
|
|
|
|
|
|
|
|
|
| |
simplify and commonize some of the asmprinter logic for globals.
This also avoids printing the MCSection for .zerofill, which broke
the llvm-gcc build.
llvm-svn: 93843
|
|
|
|
| |
llvm-svn: 93841
|
|
|
|
| |
llvm-svn: 93839
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. TargetLoweringObjectFileMachO should decide if something
goes in zerofill instead of having every target do it.
2. TargetLoweringObjectFileMachO should assign said symbols to
the right MCSection, the asmprinters should just emit to the
right section.
3. Since all zerofill stuff goes through mcstreamer anymore,
MAI can have a bool "haszerofill" instead of having the textual
directive to emit.
llvm-svn: 93838
|
|
|
|
| |
llvm-svn: 93835
|
|
|
|
| |
llvm-svn: 93832
|
|
|
|
| |
llvm-svn: 93831
|
|
|
|
|
|
| |
and make sure we pick different instructions for ARM vs. Thumb2.
llvm-svn: 93829
|
|
|
|
| |
llvm-svn: 93818
|
|
|
|
|
|
|
|
|
| |
comments (fast isel, X86). This doesn't seem
to break any functionality, but will introduce
cases where -g affects the generated code. I'll
be fixing that.
llvm-svn: 93811
|
|
|
|
|
|
| |
performance-critical code (currently only used by AsmWriter)
llvm-svn: 93802
|
|
|
|
| |
llvm-svn: 93797
|
|
|
|
|
|
| |
- Greatly improve the comments to the getLSDAEncoding method.
llvm-svn: 93796
|
|
|
|
|
|
|
|
| |
aggressive changed the canonical form from sext(trunc(x)) to ashr(lshr(x)),
make sure to transform a couple more things into that canonical form,
and catch a case where we missed turning zext/shl/ashr into a single sext.
llvm-svn: 93787
|
|
|
|
| |
llvm-svn: 93781
|
|
|
|
|
|
| |
printing via <<. Otherwise we just print the pointer value.
llvm-svn: 93777
|
|
|
|
|
|
|
|
|
|
| |
Instcombine does this but apparently there are situations where this pattern will escape the optimizer and / or created by isel. Here is a case that's seen in JavaScriptCore:
%t1 = sub i32 0, %a
%t2 = add i32 %t1, -1
The dag combiner pattern: ((c1-A)+c2) -> (c1+c2)-A
will fold it to -1 - %a.
llvm-svn: 93773
|