| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
| |
DoInstructionSelection. Inline "SelectRoot" into it from DAGISelHeader.
Sink some other stuff out of DAGISelHeader into SDISel.
Eliminate the various 'Indent' stuff from various targets, which dates
to when isel was recursive.
17 files changed, 114 insertions(+), 430 deletions(-)
llvm-svn: 97555
|
| |
|
|
| |
llvm-svn: 97536
|
| |
|
|
|
|
| |
present in the module.
llvm-svn: 97232
|
| |
|
|
| |
llvm-svn: 97228
|
| |
|
|
| |
llvm-svn: 97220
|
| |
|
|
|
|
|
|
| |
object construction. There is no provision to change them when the
code for a function generated.
So we have to change these names while printing assembly.
llvm-svn: 97213
|
| |
|
|
| |
llvm-svn: 97211
|
| |
|
|
| |
llvm-svn: 97108
|
| |
|
|
| |
llvm-svn: 96811
|
| |
|
|
| |
llvm-svn: 96810
|
| |
|
|
| |
llvm-svn: 96591
|
| |
|
|
| |
llvm-svn: 96589
|
| |
|
|
|
|
| |
cloned functions.
llvm-svn: 96485
|
| |
|
|
|
|
| |
with mangled names).
llvm-svn: 96465
|
| |
|
|
|
|
|
| |
Renamed PIC16FrameOverlay namespace to PIC16OVERLAY.
Renamed PIC16FrameOverlay class to PIC16Overlay.
llvm-svn: 96463
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This pass is supposed to be run on the linked .bc module.
It traveses the module call graph twice. Once starting from the main function
and marking each reached function as "ML". Again, starting from the ISR
and cloning any reachable function that was marked as "ML". After cloning
the function, it remaps all the call sites in IL functions to call the
cloned functions.
Currently only marking is being done.
llvm-svn: 96435
|
| |
|
|
|
|
| |
Currently, whether a function is ISR or not is encoded in the section attribute for that function.
llvm-svn: 96322
|
| |
|
|
|
|
|
|
| |
IsLegalToFold and IsProfitableToFold. The generic version of the later simply checks whether the folding candidate has a single use.
This allows the target isel routines more flexibility in deciding whether folding makes sense. The specific case we are interested in is folding constant pool loads with multiple uses.
llvm-svn: 96255
|
| |
|
|
|
|
| |
change to SelectionDAG build APIs.
llvm-svn: 96235
|
| |
|
|
|
|
|
| |
1. restore these across direct/indirect calls.
2. restore pagesel for any macros with gotos.
llvm-svn: 96175
|
| |
|
|
| |
llvm-svn: 95781
|
| |
|
|
|
|
| |
OutStreamer.AddBlankLine instead of textually.
llvm-svn: 95734
|
| |
|
|
| |
llvm-svn: 95184
|
| |
|
|
| |
llvm-svn: 95160
|
| |
|
|
|
|
|
| |
mccontext instead of having AsmPrinter do it. This allows other
types of MCStreamer's to be passed in.
llvm-svn: 95155
|
| |
|
|
|
|
| |
sibcall eligibility.
llvm-svn: 95130
|
| |
|
|
| |
llvm-svn: 94746
|
| |
|
|
|
|
|
|
|
| |
Target independent isel should always pass along the "tail call" property. Change
target hook LowerCall's parameter "isTailCall" into a refernce. If the target
decides it's impossible to honor the tail call request, it should set isTailCall
to false to make target independent isel happy.
llvm-svn: 94626
|
| |
|
|
|
|
|
|
|
|
|
| |
Default HasSetDirective to true, since most targets have it.
The targets that claim to not have it probably do, or it is
spelled differently. These include Blackfin, Mips, Alpha, and
PIC16. All of these except pic16 are normal ELF targets, so
they almost certainly have it.
llvm-svn: 94585
|
| |
|
|
|
|
| |
the AsmPrinter::GetMBBSymbol.
llvm-svn: 94515
|
| |
|
|
|
|
|
| |
AsmPrinter::SetupMachineFunction sets it. Note that systemz
and msp430 didn't. Yay for reduced inconsistency! :)
llvm-svn: 94510
|
| |
|
|
| |
llvm-svn: 94378
|
| |
|
|
|
|
|
|
|
|
|
| |
missing ones are libsupport, libsystem and libvmcore. libvmcore is
currently blocked on bugpoint, which uses EH. Once it stops using
EH, we can switch it off.
This #if 0's out 3 unit tests, because gtest requires RTTI information.
Suggestions welcome on how to fix this.
llvm-svn: 94164
|
| |
|
|
|
|
|
| |
stomache MCAsmInfo having this, and I found a better solution to
this layering issue.
llvm-svn: 93985
|
| |
|
|
|
|
|
|
|
| |
I really want clients of the streamer to be able to say "emit this
64-bit integer" and have it get broken down right by the streamer.
I may change this in the future, we'll see how it works out.
llvm-svn: 93934
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
remove it and change all the code that prints MCSymbols to use
<< instead, which is much simpler and cleaner.
llvm-svn: 93695
|
| |
|
|
| |
llvm-svn: 93630
|
| |
|
|
| |
llvm-svn: 93615
|
| |
|
|
| |
llvm-svn: 93610
|
| |
|
|
| |
llvm-svn: 93609
|
| |
|
|
|
|
|
|
|
| |
clear what information these functions are actually using.
This is also a micro-optimization, as passing a SDNode * around is
simpler than passing a { SDNode *, int } by value or reference.
llvm-svn: 92564
|
| |
|
|
| |
llvm-svn: 92242
|
| |
|
|
| |
llvm-svn: 92201
|
| |
|
|
|
|
| |
floating point comparisons, rather than hard-coding them as i32.
llvm-svn: 92199
|
| |
|
|
| |
llvm-svn: 91996
|
| |
|
|
| |
llvm-svn: 91995
|
| |
|
|
| |
llvm-svn: 91993
|
| |
|
|
|
|
| |
if it is Legal and does not result into a cyclic dep.
llvm-svn: 91904
|
| |
|
|
|
|
|
|
| |
return partial registers. This affected the back-end lowering code some.
Also patch up some places I missed before in the "get" functions.
llvm-svn: 91880
|