1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/lib/Transforms/Utils
Vedant Kumar 2153f9e846 [Util] Refer to [s|z]exts of args when converting dbg.declares (fix PR35400)
When converting dbg.declares, if the described value is a [s|z]ext,
refer to the ext directly instead of referring to its operand.

This fixes a narrowing bug (the debugger got the sign of a variable
wrong, see llvm.org/PR35400).

The main reason to refer to the ext's operand was that an optimization
may remove the ext itself, leading to a dropped variable. Now that
InstCombine has been taught to use replaceAllDbgUsesWith (r336451), this
is less of a concern. Other passes can/should adopt this API as needed
to fix dropped variable bugs.

Differential Revision: https://reviews.llvm.org/D51813

llvm-svn: 349214
2018-12-15 00:03:33 +00:00
..
AddDiscriminators.cpp
ASanStackFrameLayout.cpp
BasicBlockUtils.cpp [TI removal] Remove TerminatorInst from BasicBlockUtils.h 2018-10-15 09:34:05 +00:00
BreakCriticalEdges.cpp [TI removal] Make variables declared as TerminatorInst and initialized 2018-10-15 10:04:59 +00:00
BuildLibCalls.cpp Add a emitUnaryFloatFnCall version that fetches the function name from TLI 2018-10-18 06:27:53 +00:00
BypassSlowDivision.cpp
CallPromotionUtils.cpp [ICP] Remove incompatible attributes at indirect-call promoted callsites. 2018-11-26 22:03:52 +00:00
CloneFunction.cpp [CSP, Cloning] Update DuplicateInstructionsInSplitBetween to use DomTreeUpdater. 2018-11-13 17:54:43 +00:00
CloneModule.cpp
CMakeLists.txt
CodeExtractor.cpp [CodeExtractor] Store outputs at the first valid insertion point 2018-12-07 03:01:54 +00:00
CtorUtils.cpp [Transforms] Prefer static and avoid namespaces, NFC 2018-11-19 22:19:05 +00:00
DemoteRegToStack.cpp
EntryExitInstrumenter.cpp
EscapeEnumerator.cpp [TI removal] Make variables declared as TerminatorInst and initialized 2018-10-15 10:04:59 +00:00
Evaluator.cpp
FlattenCFG.cpp [TI removal] Make variables declared as TerminatorInst and initialized 2018-10-15 10:04:59 +00:00
FunctionComparator.cpp Remove unnecessary fallthrough annotation after unreachable 2018-11-01 19:11:05 +00:00
FunctionImportUtils.cpp [ThinLTO] Compute synthetic function entry count 2018-12-13 19:54:27 +00:00
GlobalStatus.cpp
GuardUtils.cpp
ImportedFunctionsInliningStatistics.cpp Use the container form llvm::sort(C, ...) 2018-09-30 22:31:29 +00:00
InlineFunction.cpp [TI removal] Make variables declared as TerminatorInst and initialized 2018-10-15 10:04:59 +00:00
InstructionNamer.cpp
IntegerDivision.cpp
LCSSA.cpp [DebugInfo][LCSSA] Rewrite pre-existing debug values outside loop 2018-10-16 08:06:48 +00:00
LibCallsShrinkWrap.cpp [TI removal] Remove TerminatorInst from BasicBlockUtils.h 2018-10-15 09:34:05 +00:00
LLVMBuild.txt
Local.cpp [Util] Refer to [s|z]exts of args when converting dbg.declares (fix PR35400) 2018-12-15 00:03:33 +00:00
LoopRotationUtils.cpp Update MemorySSA in LoopRotate. 2018-10-24 22:46:45 +00:00
LoopSimplify.cpp [TI removal] Make variables declared as TerminatorInst and initialized 2018-10-15 10:04:59 +00:00
LoopUnroll.cpp [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
LoopUnrollAndJam.cpp [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
LoopUnrollPeel.cpp Remove LoopID metadata from the branch instruction 2018-09-26 01:03:21 +00:00
LoopUnrollRuntime.cpp [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
LoopUtils.cpp [LoopUtils] Use i32 instead of void. 2018-12-13 18:37:23 +00:00
LoopVersioning.cpp
LowerInvoke.cpp
LowerMemIntrinsics.cpp [TI removal] Remove TerminatorInst from BasicBlockUtils.h 2018-10-15 09:34:05 +00:00
LowerSwitch.cpp llvm::sort(C.begin(), C.end(), ...) -> llvm::sort(C, ...) 2018-09-27 02:13:45 +00:00
Mem2Reg.cpp
MetaRenamer.cpp
ModuleUtils.cpp
NameAnonGlobals.cpp
PredicateInfo.cpp ADT/STLExtras: Introduce llvm::empty; NFC 2018-10-31 00:23:23 +00:00
PromoteMemoryToRegister.cpp [Mem2Reg] Fix nondeterministic corner case 2018-11-30 19:20:02 +00:00
SanitizerStats.cpp
SimplifyCFG.cpp [ValueTracking] add helper function for testing implied condition; NFCI 2018-12-02 13:26:03 +00:00
SimplifyIndVar.cpp [IndVars] Drop "exact" flag from lshr and udiv when substituting their args 2018-10-11 07:22:26 +00:00
SimplifyLibCalls.cpp [NFC][InstCombine] Undo stray change 2018-10-19 20:57:45 +00:00
SplitModule.cpp llvm::sort(C.begin(), C.end(), ...) -> llvm::sort(C, ...) 2018-09-27 02:13:45 +00:00
SSAUpdater.cpp [DebugInfo][LCSSA] Rewrite pre-existing debug values outside loop 2018-10-16 08:06:48 +00:00
SSAUpdaterBulk.cpp
StripGCRelocates.cpp
StripNonLineTableDebugInfo.cpp
SymbolRewriter.cpp
UnifyFunctionExitNodes.cpp
Utils.cpp
ValueMapper.cpp
VNCoercion.cpp