| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
dereference the type pointer.
llvm-svn: 92726
|
|
|
|
| |
llvm-svn: 92597
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
getMDKindID/getMDKindNames methods to LLVMContext (and add
convenience methods to Module), eliminating MetadataContext.
Move the state that it maintains out to LLVMContext.
llvm-svn: 92259
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I asked Devang to do back on Sep 27. Instead of going through the
MetadataContext class with methods like getMD() and getMDs(), just
ask the instruction directly for its metadata with getMetadata()
and getAllMetadata().
This includes a variety of other fixes and improvements: previously
all Value*'s were bloated because the HasMetadata bit was thrown into
value, adding a 9th bit to a byte. Now this is properly sunk down to
the Instruction class (the only place where it makes sense) and it
will be folded away somewhere soon.
This also fixes some confusion in getMDs and its clients about
whether the returned list is indexed by the MDID or densely packed.
This is now returned sorted and densely packed and the comments make
this clear.
This introduces a number of fixme's which I'll follow up on.
llvm-svn: 92235
|
|
|
|
|
|
|
| |
doesn't exist already, eliminate registerMDKind. Tidy up a bunch
of random stuff.
llvm-svn: 92225
|
|
|
|
| |
llvm-svn: 92190
|
|
|
|
|
|
| |
Patch by Sylve`re Teissier (sorry, ASCII only).
llvm-svn: 91988
|
|
|
|
|
|
| |
Bill for spotting this!
llvm-svn: 91355
|
|
|
|
| |
llvm-svn: 90669
|
|
|
|
| |
llvm-svn: 90668
|
|
|
|
| |
llvm-svn: 90637
|
|
|
|
|
|
| |
instead of SelectionDAGISel.cpp.
llvm-svn: 90636
|
|
|
|
|
|
|
| |
and that Instruction only. Implement this by setting the "current debug position"
back to Unknown after processing each instruction.
llvm-svn: 90632
|
|
|
|
|
|
| |
Patch by Howard Hinnant!
llvm-svn: 90365
|
|
|
|
| |
llvm-svn: 89683
|
|
|
|
|
|
| |
SelectionDAGBuild.cpp to SelectionDAGBuilder.cpp.
llvm-svn: 89681
|
|
|
|
|
|
|
| |
of SelectionDAGBuild.h/cpp into its own files, to help separate
general lowering logic from SelectionDAG-specific lowering logic.
llvm-svn: 89667
|
|
|
|
|
|
| |
tail call has been encountered.
llvm-svn: 89444
|
|
|
|
| |
llvm-svn: 86748
|
|
|
|
| |
llvm-svn: 86522
|
|
|
|
|
|
| |
*ISelDAGToDAG.cpp to being regular code in SelectionDAGISel.cpp.
llvm-svn: 85530
|
|
|
|
|
|
|
|
| |
bunch of associated comments, because it doesn't have anything to do
with DAGs or scheduling. This is another step in decoupling MachineInstr
emitting from scheduling.
llvm-svn: 85517
|
|
|
|
|
|
| |
thread safe either.
llvm-svn: 85253
|
|
|
|
| |
llvm-svn: 84247
|
|
|
|
| |
llvm-svn: 83921
|
|
|
|
|
|
| |
This code is not yet enabled.
llvm-svn: 83349
|
|
|
|
| |
llvm-svn: 83100
|
|
|
|
| |
llvm-svn: 83019
|
|
|
|
| |
llvm-svn: 83016
|
|
|
|
| |
llvm-svn: 82355
|
|
|
|
|
|
| |
blocks and update CFG, it should also inform sdisel of the changes so the phi source operands will come from the right basic blocks.
llvm-svn: 82311
|
|
|
|
|
|
|
|
| |
sdisel will use to properly complete phi nodes.
Not functionality change yet.
llvm-svn: 82273
|
|
|
|
| |
llvm-svn: 82215
|
|
|
|
|
|
|
|
| |
switch successor blocks, it can introduce multiple phi operands of the same value from different blocks (and may not be on the predecessor list).
This can be seen on CodeGen/Generic/2006-09-06-SwitchLowering.ll. But it's not known to cause any real regression (but I have added an assertion for it now).
llvm-svn: 82214
|
|
|
|
| |
llvm-svn: 82080
|
|
|
|
| |
llvm-svn: 82077
|
|
|
|
| |
llvm-svn: 79834
|
|
|
|
| |
llvm-svn: 79832
|
|
|
|
| |
llvm-svn: 78948
|
|
|
|
|
|
|
|
| |
while
the latter is capable of representing either a primitive or an extended type.
llvm-svn: 78713
|
|
|
|
|
|
| |
own struct type.
llvm-svn: 78610
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of awkwardly encoding calling-convention information with ISD::CALL,
ISD::FORMAL_ARGUMENTS, ISD::RET, and ISD::ARG_FLAGS nodes, TargetLowering
provides three virtual functions for targets to override:
LowerFormalArguments, LowerCall, and LowerRet, which replace the custom
lowering done on the special nodes. They provide the same information, but
in a more immediately usable format.
This also reworks much of the target-independent tail call logic. The
decision of whether or not to perform a tail call is now cleanly split
between target-independent portions, and the target dependent portion
in IsEligibleForTailCallOptimization.
This also synchronizes all in-tree targets, to help enable future
refactoring and feature work.
llvm-svn: 78142
|
|
|
|
| |
llvm-svn: 77774
|
|
|
|
| |
llvm-svn: 77769
|
|
|
|
|
|
|
| |
as it is now a MachineFunctionPass, and MachineFunctionPass now handles
this.
llvm-svn: 77760
|
|
|
|
|
|
| |
to the MachineFunction.
llvm-svn: 77753
|
|
|
|
|
|
|
|
| |
shouldn't do AU.setPreservesCFG(), because even though CodeGen passes
don't modify the LLVM IR CFG, they may modify the MachineFunction CFG,
and passes like MachineLoop are registered with isCFGOnly set to true.
llvm-svn: 77691
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
failures when building assorted projects with clang.
--- Reverse-merging r77654 into '.':
U include/llvm/CodeGen/Passes.h
U include/llvm/CodeGen/MachineFunctionPass.h
U include/llvm/CodeGen/MachineFunction.h
U include/llvm/CodeGen/LazyLiveness.h
U include/llvm/CodeGen/SelectionDAGISel.h
D include/llvm/CodeGen/MachineFunctionAnalysis.h
U include/llvm/Function.h
U lib/Target/CellSPU/SPUISelDAGToDAG.cpp
U lib/Target/PowerPC/PPCISelDAGToDAG.cpp
U lib/CodeGen/LLVMTargetMachine.cpp
U lib/CodeGen/MachineVerifier.cpp
U lib/CodeGen/MachineFunction.cpp
U lib/CodeGen/PrologEpilogInserter.cpp
U lib/CodeGen/MachineLoopInfo.cpp
U lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
D lib/CodeGen/MachineFunctionAnalysis.cpp
D lib/CodeGen/MachineFunctionPass.cpp
U lib/CodeGen/LiveVariables.cpp
llvm-svn: 77661
|
|
|
|
|
|
|
| |
mechanism. To support this, make MachineFunctionPass a little more
complete.
llvm-svn: 77654
|