mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-01 17:29:33 +00:00
define void @f() { ... call i32 @g() ... } define void @g() { ... } The hazards are: - @f and @g have GC, but they differ GC. Inlining is invalid. This may never occur. - @f has no GC, but @g does. g's GC must be propagated to @f. The other scenarios are safe: - @f and @g have the same GC. - @f and @g have no GC. - @g has no GC. This patch adds inliner checks for the former two scenarios. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45351 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
BasicBlockUtils.cpp | ||
BasicInliner.cpp | ||
BreakCriticalEdges.cpp | ||
CloneFunction.cpp | ||
CloneLoop.cpp | ||
CloneModule.cpp | ||
CloneTrace.cpp | ||
CodeExtractor.cpp | ||
DemoteRegToStack.cpp | ||
InlineCost.cpp | ||
InlineFunction.cpp | ||
LCSSA.cpp | ||
Local.cpp | ||
LoopSimplify.cpp | ||
LowerAllocations.cpp | ||
LowerInvoke.cpp | ||
LowerSelect.cpp | ||
LowerSwitch.cpp | ||
Makefile | ||
Mem2Reg.cpp | ||
PromoteMemoryToRegister.cpp | ||
SimplifyCFG.cpp | ||
UnifyFunctionExitNodes.cpp | ||
ValueMapper.cpp |