| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
even considering #if 0 code.
llvm-svn: 77856
|
| |
|
|
|
|
|
| |
behavior of the LSDA section instead of on some random target hook that
needs to be kept in synch with other points of truth.
llvm-svn: 77855
|
| |
|
|
|
|
|
|
|
|
|
| |
getLSDASection() to be more specific. This makes it pretty obvious
that the ELF LSDA section is being specified wrong in PIC mode. We're
probably getting a lot of startup-time relocations to a readonly page,
which is expensive and bad.
Someone who cares about ELF C++ should investigate this.
llvm-svn: 77847
|
| |
|
|
| |
llvm-svn: 77846
|
| |
|
|
|
|
| |
variables either.
llvm-svn: 77844
|
| |
|
|
|
|
| |
declaration will end up in.
llvm-svn: 77843
|
| |
|
|
|
|
| |
TAI.
llvm-svn: 77842
|
| |
|
|
| |
llvm-svn: 77838
|
| |
|
|
|
|
| |
operands.
llvm-svn: 77837
|
| |
|
|
| |
llvm-svn: 77835
|
| |
|
|
| |
llvm-svn: 77834
|
| |
|
|
|
|
|
|
|
|
|
|
| |
compute it based on what it knows. As part of this, rename getSectionForMergeableConstant
to getSectionForConstant because it works for non-mergable constants also.
The only functionality change from this is that Xcore will start dropping
its jump tables into readonly section instead of data section in -static mode.
This should be fine as the linker resolves the relocations. If this is a
problem, let me know and we'll come up with another solution.
llvm-svn: 77833
|
| |
|
|
|
|
| |
testsuite regression with a coming patch.
llvm-svn: 77832
|
| |
|
|
| |
llvm-svn: 77827
|
| |
|
|
| |
llvm-svn: 77826
|
| |
|
|
|
|
| |
project under the normal license, yay. :)
llvm-svn: 77823
|
| |
|
|
| |
llvm-svn: 77821
|
| |
|
|
| |
llvm-svn: 77820
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to:
.quad X
even on a 32-bit system, where X is not 64-bits. There isn't much that
we can do here, so we just print:
.quad ((X) & 4294967295)
instead.
llvm-svn: 77818
|
| |
|
|
| |
llvm-svn: 77817
|
| |
|
|
|
|
| |
the appropriate subclasses.
llvm-svn: 77815
|
| |
|
|
| |
llvm-svn: 77814
|
| |
|
|
| |
llvm-svn: 77813
|
| |
|
|
| |
llvm-svn: 77812
|
| |
|
|
| |
llvm-svn: 77810
|
| |
|
|
| |
llvm-svn: 77806
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
should have no state that is specific to particular globals in the
section. In this case, it means the removal of the "isWeak" and
"ExplicitSection" bits. MCSection uses the new form of SectionKind.
To handle isWeak, I introduced a new SectionInfo class, which is
SectionKind + isWeak, and it is used by the part of the code generator
that does classification of a specific global.
The ExplicitSection disappears. It is moved onto MCSection as a new
"IsDirective" bit. Since the Name of a section is either a section
or directive, it makes sense to keep this bit in MCSection. Ultimately
the creator of MCSection should canonicalize (e.g.) .text to whatever
the actual section is.
llvm-svn: 77803
|
| |
|
|
| |
llvm-svn: 77795
|
| |
|
|
|
|
| |
actually characters.
llvm-svn: 77794
|
| |
|
|
| |
llvm-svn: 77791
|
| |
|
|
| |
llvm-svn: 77787
|
| |
|
|
| |
llvm-svn: 77781
|
| |
|
|
|
|
| |
that it released its allocated memory.
llvm-svn: 77775
|
| |
|
|
| |
llvm-svn: 77774
|
| |
|
|
| |
llvm-svn: 77769
|
| |
|
|
| |
llvm-svn: 77768
|
| |
|
|
|
|
| |
alias with predicate.
llvm-svn: 77764
|
| |
|
|
|
|
|
| |
as it is now a MachineFunctionPass, and MachineFunctionPass now handles
this.
llvm-svn: 77760
|
| |
|
|
|
|
|
|
|
| |
MachineLoopInfo.
llc now runs MachineLoopInfo and MachineDominatorTree only twice, instead
of three times.
llvm-svn: 77759
|
| |
|
|
|
|
| |
be more careful about the return value of runOnMachineFunction.
llvm-svn: 77758
|
| |
|
|
| |
llvm-svn: 77757
|
| |
|
|
|
|
|
|
|
| |
instructions for calls since BL and BLX are always 32-bit long and BX is always
16-bit long.
Also, we should be using BLX to call external function stubs.
llvm-svn: 77756
|
| |
|
|
| |
llvm-svn: 77755
|
| |
|
|
| |
llvm-svn: 77754
|
| |
|
|
|
|
| |
to the MachineFunction.
llvm-svn: 77753
|
| |
|
|
| |
llvm-svn: 77752
|
| |
|
|
| |
llvm-svn: 77749
|
| |
|
|
| |
llvm-svn: 77748
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in SelectionDAGLowering::visitTargetIntrinsic.
This removes a bit of special-case code for vector types. After staring
at it for a while, I managed to convince myself that it is not necessary.
The only case where TLI.getValueType() differs from MVT::getMVT is for iPTR,
so this code could potentially make a difference for a vector of pointers.
But, it looks like that is not supported. Calling TLI.getValueType() on
a vector of pointers leads to the following sequence of calls:
TargetLowering::getValueType
MVT::getMVT
MVT::getVectorVT(iPTR, num elements)
MVT::getExtendedVectorVT
MVT::getTypeForMVT for iPTR
assertion fails "Type is not extended!"
So, unless I'm really missing something, this bit of code is irrelevant to
the current version of LLVM, which is consistent with the fact that I don't
see this code in other similar places.
llvm-svn: 77747
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Operands which are just a label should be parsed as immediates, not memory
operands (from the assembler perspective).
- Match a few more flavors of immediates.
- Distinguish match functions for memory operands which don't take a segment
register.
- We match the .s for "hello world" now!
llvm-svn: 77745
|