| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
only caller.
llvm-svn: 76710
|
|
|
|
|
|
| |
updating a mips testcase to expect it.
llvm-svn: 76707
|
|
|
|
| |
llvm-svn: 76706
|
|
|
|
|
|
|
|
| |
a new getSectionForMergableConstant hook. This removes one dependence
of TAI on Type, and provides the hook with enough info to make the
right decision based on whether the global has relocations etc.
llvm-svn: 76705
|
|
|
|
|
|
|
|
| |
that allows late codeine passes to delete it.
This is considered a workaround. The problem is some targets are not modeling side effects correctly. PPC is apparently one of those. This patch allows ppc llvm-gcc to bootstrap on Darwin. Once we find out which instruction definitions are wrong, we can remove the PPCInstrInfo workaround.
llvm-svn: 76703
|
|
|
|
| |
llvm-svn: 76702
|
|
|
|
|
|
|
|
|
| |
Constant::getRelocationInfo(), which has a much simpler
to use API. It still should not be part of libvmcore, but
is better than it was. Also teach it to be smart about
hidden visibility.
llvm-svn: 76700
|
|
|
|
|
|
|
| |
negative on an individual bases rather than basing on whether it's in thumb
mode.
llvm-svn: 76698
|
|
|
|
| |
llvm-svn: 76693
|
|
|
|
| |
llvm-svn: 76689
|
|
|
|
| |
llvm-svn: 76688
|
|
|
|
|
|
|
| |
virtual. Just inline it into its two current call sites in preparation
for simplifying the code.
llvm-svn: 76686
|
|
|
|
| |
llvm-svn: 76683
|
|
|
|
| |
llvm-svn: 76682
|
|
|
|
|
|
|
|
|
|
| |
range's weight properly. This is turned off right now in the sense that
you'll get an assert if you get into a situation that can only be caused
by an iterative coalescer. All other code paths operate exactly as
before so there is no functional change with this patch. The asserts
should be disabled if/when an iterative coalescer gets added to trunk.
llvm-svn: 76680
|
|
|
|
| |
llvm-svn: 76679
|
|
|
|
|
|
|
|
| |
pool entry will require relocations against it. I implemented this
conservatively for ARM, someone who is knowledgable about it should
see if this can be improved.
llvm-svn: 76678
|
|
|
|
|
|
| |
getAnalysisIfAvailable<TargetData>.
llvm-svn: 76676
|
|
|
|
|
|
| |
to help support use when TargetData is not available.
llvm-svn: 76675
|
|
|
|
|
|
|
|
| |
their appropriate sections before the code itself. They need to be emitted
before the function because on some targets (x86 but not x86_64) the later
may reference a JT or CP entry address
llvm-svn: 76672
|
|
|
|
|
|
|
|
| |
(x pred y) with more thorough code that does more complete canonicalization
before resorting to range checks. This helps it find more cases where
the canonicalized expressions match.
llvm-svn: 76671
|
|
|
|
|
|
|
|
|
| |
depends on XS1A, but I think the ReadOnlySection is already set up for this
and there is no testcase that this breaks. If this is really needed, we can
add the appropriate parameterization to TargetAsmInfo in the future to support
this.
llvm-svn: 76667
|
|
|
|
| |
llvm-svn: 76666
|
|
|
|
|
|
| |
LLVM IR, it should be rejected by a front-end.
llvm-svn: 76665
|
|
|
|
|
|
| |
to twist your brain to see it, I believe it is the same as ELFTargetAsmInfo::SelectSectionForGlobal.
llvm-svn: 76664
|
|
|
|
| |
llvm-svn: 76662
|
|
|
|
| |
llvm-svn: 76661
|
|
|
|
|
|
|
|
| |
the generic ELF version instead. This will result in its mergable constant
sections getting named ".rodata.cst4" instead of ".cp.const4", but the
linker looks at the section flags, not the name of the section AFAICT.
llvm-svn: 76659
|
|
|
|
| |
llvm-svn: 76654
|
|
|
|
|
|
|
| |
implemented exactly the same way as its ELFTargetAsmInfo subclass
has them.
llvm-svn: 76653
|
|
|
|
| |
llvm-svn: 76646
|
|
|
|
| |
llvm-svn: 76645
|
|
|
|
| |
llvm-svn: 76639
|
|
|
|
| |
llvm-svn: 76635
|
|
|
|
| |
llvm-svn: 76634
|
|
|
|
|
|
|
|
| |
be useful, and it's currently unused. (Some issues: it isn't actually
rich enough to capture the semantics on many architectures, and
semantics can vary depending on the type being shifted.)
llvm-svn: 76633
|
|
|
|
| |
llvm-svn: 76631
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
this:
%ESI<def> = MOV32rr %EDI<kill>
ADJCALLSTACKDOWN64 0, %RSP<imp-def>, %EFLAGS<imp-def,dead>, %RSP<imp-use>
%reg1027<def> = MOVZX64rr32 %ESI
%reg1027<def> = ADD64ri8 %reg1027, 15, %EFLAGS<imp-def,dead>
%reg1027<def> = AND64ri8 %reg1027, -16, %EFLAGS<imp-def,dead>
%RDI<def> = MOV64rr %RSP
%RDI<def> = SUB64rr %RDI, %reg1027<kill>, %EFLAGS<imp-def,dead>
%RSP<def> = MOV64rr %RDI
into this:
4 %reg1024<def> = MOV32rr %EDI<kill>
12 ADJCALLSTACKDOWN64 0, %RSP<imp-def>, %EFLAGS<imp-def,dead>, %RSP<imp-use>
20 %reg1025<def> = MOVZX64rr32 %reg1024
28 %reg1026<def> = MOV64rr %reg1025<kill>
36 %reg1026<def> = ADD64ri8 %reg1026, 15, %EFLAGS<imp-def,dead>
44 %reg1027<def> = MOV64rr %reg1026<kill>
52 %reg1027<def> = AND64ri8 %reg1027, -16, %EFLAGS<imp-def,dead>
60 %reg1028<def> = MOV64rr %RSP
68 %reg1029<def> = MOV64rr %reg1028<kill>
76 %reg1029<def> = SUB64rr %reg1029, %reg1027<kill>, %EFLAGS<imp-def,dead>
84 %RSP<def> = MOV64rr %reg1029
This helps greatly when debugging register allocation and coalescing
problems.
llvm-svn: 76615
|
|
|
|
| |
llvm-svn: 76612
|
|
|
|
|
|
|
| |
and call PrintGlobalVariable, allowing elimination and simplification
of various targets.
llvm-svn: 76604
|
|
|
|
|
|
| |
MachineBasicBlock. We'll use these shortly.
llvm-svn: 76603
|
|
|
|
| |
llvm-svn: 76600
|
|
|
|
| |
llvm-svn: 76598
|
|
|
|
| |
llvm-svn: 76596
|
|
|
|
| |
llvm-svn: 76595
|
|
|
|
|
|
|
|
| |
chain to the super class instead of initializing mangler directly.
This gives it .file and module level inline asm support among other
things.
llvm-svn: 76593
|
|
|
|
|
|
|
| |
This eliminates redundancy setting up the mangler and adds support to them
for module-level inline asm and a .file directive.
llvm-svn: 76592
|
|
|
|
|
|
| |
LLVM IR concept.
llvm-svn: 76590
|
|
|
|
| |
llvm-svn: 76587
|
|
|
|
| |
llvm-svn: 76586
|