llvm/lib/IR
Duncan P. N. Exon Smith b03916a88b IR: Fix ConstantExpr::replaceUsesOfWithOnConstant()
Change `ConstantExpr` to follow the model the other constants are using:
only malloc a replacement if it's going to be used.  This fixes a subtle
bug where if an API user had used `ConstantExpr::get()` already to
create the replacement but hadn't given it any users, we'd delete the
replacement.

This relies on r216015 to thread `OnlyIfReduced` through
`ConstantExpr::getWithOperands()`.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216016 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-19 20:03:35 +00:00
..
AsmWriter.cpp IR: Print a newline when dumping Types 2014-08-12 03:24:59 +00:00
AsmWriter.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AttributeImpl.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Attributes.cpp
AutoUpgrade.cpp Don't upgrade global constructors when reading bitcode 2014-08-12 16:46:37 +00:00
BasicBlock.cpp Move helper for getting a terminating musttail call to BasicBlock 2014-08-12 00:05:15 +00:00
CMakeLists.txt IPO: Add use-list-order verifier 2014-07-25 14:49:26 +00:00
Comdat.cpp
ConstantFold.cpp IR: Don't add inbounds to GEPs of extern_weak variables 2014-08-16 01:54:32 +00:00
ConstantFold.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
ConstantRange.cpp
Constants.cpp IR: Fix ConstantExpr::replaceUsesOfWithOnConstant() 2014-08-19 20:03:35 +00:00
ConstantsContext.h IR: De-duplicate code for replacing operands in place 2014-08-19 19:13:30 +00:00
Core.cpp [LLVM-C] Expose User::getOperandUse as LLVMGetOperandUse. 2014-08-12 02:55:40 +00:00
DataLayout.cpp
DebugInfo.cpp Revert "Reapply "DebugInfo: Ensure that all debug location scope chains from instructions within a function, lead to the function itself."" 2014-08-06 22:30:12 +00:00
DebugLoc.cpp
DiagnosticInfo.cpp
DiagnosticPrinter.cpp
DIBuilder.cpp Debug info: Infrastructure to support debug locations for fragmented 2014-08-01 22:11:58 +00:00
Dominators.cpp
Function.cpp Provide convenient access to the zext/sext attributes of function arguments. NFC. 2014-08-05 05:43:41 +00:00
GCOV.cpp
Globals.cpp
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp
Instructions.cpp
IntrinsicInst.cpp
IRBuilder.cpp
IRPrintingPasses.cpp
LeakDetector.cpp
LeaksContext.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
LegacyPassManager.cpp Fix typos: 2014-08-11 18:04:46 +00:00
LLVMBuild.txt
LLVMContext.cpp
LLVMContextImpl.cpp Reapply r215966, r215965, r215964, r215963, r215960, r215959, r215958, and r215957 2014-08-19 16:39:58 +00:00
LLVMContextImpl.h Reapply r215966, r215965, r215964, r215963, r215960, r215959, r215958, and r215957 2014-08-19 16:39:58 +00:00
Makefile
Mangler.cpp Don't count inreg params when mangling fastcall functions 2014-08-06 18:09:04 +00:00
MDBuilder.cpp Simplify and improve scoped-noalias metadata semantics 2014-07-25 15:50:02 +00:00
Metadata.cpp
Module.cpp
module.modulemap
Pass.cpp
PassManager.cpp
PassRegistry.cpp
SymbolTableListTraitsImpl.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Type.cpp Revert "Repace SmallPtrSet with SmallPtrSetImpl in function arguments to avoid needing to mention the size." 2014-08-18 00:24:38 +00:00
TypeFinder.cpp
Use.cpp
UseListOrder.cpp verify-uselistorder: Move shuffleUseLists() out of lib/IR 2014-08-01 23:03:36 +00:00
User.cpp
Value.cpp Revert "Repace SmallPtrSet with SmallPtrSetImpl in function arguments to avoid needing to mention the size." 2014-08-18 00:24:38 +00:00
ValueSymbolTable.cpp
ValueTypes.cpp
Verifier.cpp Revert "Repace SmallPtrSet with SmallPtrSetImpl in function arguments to avoid needing to mention the size." 2014-08-18 00:24:38 +00:00