llvm-6502/include/llvm
Victor Hernandez 2491ce0353 Fix bug where array malloc with unexpected computation of the size argument resulted in MallocHelper
identifying the malloc as a non-array malloc.  This broke GlobalOpt's optimization of stores of mallocs 
to global variables.

The fix is to classify malloc's into 3 categories:
1. non-array mallocs
2. array mallocs whose array size can be determined
3. mallocs that cannot be determined to be of type 1 or 2 and cannot be optimized

getMallocArraySize() returns NULL for category 3, and all users of this function must avoid their 
malloc optimization if this function returns NULL.

Eventually, currently unexpected codegen for computing the malloc's size argument will be supported in
isArrayMalloc() and getMallocArraySize(), extending malloc optimizations to those examples.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84199 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-15 20:14:52 +00:00
..
ADT Delete bogus semicolons. 2009-10-14 20:39:01 +00:00
Analysis Fix bug where array malloc with unexpected computation of the size argument resulted in MallocHelper 2009-10-15 20:14:52 +00:00
Assembly Use MemoryBuffer::getBufferIdentifier() in the AsmPrinter instead 2009-09-08 22:20:35 +00:00
Bitcode Write and read metadata attachments. 2009-09-18 19:26:43 +00:00
CodeGen Delete bogus semicolons. 2009-10-14 20:39:01 +00:00
CompilerDriver Delete bogus semicolons. 2009-10-14 20:39:01 +00:00
Config Undo pthread patch from rev. 83930 & 83823. Credit to Paul Davey. 2009-10-14 11:12:33 +00:00
ExecutionEngine Remove a bunch of unused arguments from functions, silencing a 2009-10-14 20:28:33 +00:00
MC Allow symbols to start from the digit if target requests it. This allows, e.g. pinning 2009-09-18 16:57:42 +00:00
Support One more iteration here and a yet better way to solve it. 2009-10-14 22:14:18 +00:00
System Fix typo. 2009-10-11 18:53:09 +00:00
Target Clean up TargetIntrinsicInfo API. Add pure virtual methods. 2009-10-15 18:49:26 +00:00
Transforms Move the InlineCost code from Transforms/Utils to Analysis. 2009-10-13 18:30:07 +00:00
AbstractTypeUser.h When a constant's type is refined, update the constant in place 2009-09-15 15:58:07 +00:00
Argument.h Initial update to VMCore to use Twines for string arguments. 2009-07-25 04:41:11 +00:00
Attributes.h Add an 'inline hint' attribute to represent source 2009-08-26 01:08:21 +00:00
AutoUpgrade.h Reapply 79977. 2009-08-28 23:24:31 +00:00
BasicBlock.h Add a comment. 2009-09-02 01:14:16 +00:00
CallGraphSCCPass.h Fix some nasty callgraph dangling pointer problems in 2009-08-31 00:19:58 +00:00
CallingConv.h Address review comments: add 3 ARM calling conventions. 2009-06-16 18:50:49 +00:00
CMakeLists.txt CMake: Have generated Xcode projects also contain the LLVM header files. 2009-04-01 15:40:21 +00:00
Constant.h Make LLVMContext and LLVMContextImpl classes instead of structs. 2009-08-11 17:45:13 +00:00
Constants.h fix a bunch of bad formatting, delete the dead 2009-10-11 04:03:22 +00:00
DerivedTypes.h Actually privatize a IntegerTypes, and fix a few bugs exposed by this. 2009-08-13 23:27:32 +00:00
Function.h Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson. 2009-09-02 08:44:58 +00:00
GlobalAlias.h Public and private corrections, warned about by icc (#304). 2009-09-06 08:55:57 +00:00
GlobalValue.h Finish migrating VMCore to StringRef/Twine based APIs. 2009-07-25 06:02:13 +00:00
GlobalVariable.h Public and private corrections, warned about by icc (#304). 2009-09-06 08:55:57 +00:00
InlineAsm.h Add an "msasm" flag to inline asm as suggested in PR 5125. 2009-10-13 20:46:56 +00:00
InstrTypes.h Round out the API for the new optimization flags. 2009-09-27 21:33:04 +00:00
Instruction.def Remove the vicmp and vfcmp instructions. Because we never had a release with 2009-07-08 03:04:38 +00:00
Instruction.h Instruction::clone does not need to take an LLVMContext&. Remove that and 2009-09-27 07:38:41 +00:00
Instructions.h change some static_cast into cast, pointed out by Gabor. 2009-10-10 08:01:27 +00:00
IntrinsicInst.h I don't see any point in having both eh.selector.i32 and eh.selector.i64, 2009-10-14 16:11:37 +00:00
Intrinsics.h Make LLVMContext and LLVMContextImpl classes instead of structs. 2009-08-11 17:45:13 +00:00
Intrinsics.td Move Blackfin intrinsics into the Target/Blackfin directory. 2009-10-15 18:50:52 +00:00
IntrinsicsAlpha.td
IntrinsicsARM.td Add new intrinsics for Neon vldN_lane and vstN_lane operations. 2009-08-22 02:28:46 +00:00
IntrinsicsCellSPU.td
IntrinsicsPowerPC.td
IntrinsicsX86.td Add sse4.2 string/text processing intrinsics. We'll select these later. 2009-08-14 20:27:57 +00:00
IntrinsicsXCore.td
LinkAllPasses.h remove LoopVR pass. According to Nick: 2009-10-08 06:42:44 +00:00
LinkAllVMCore.h Push LLVMContexts through the IntegerType APIs. 2009-08-13 21:58:54 +00:00
Linker.h Prune #includes from llvm/Linker.h and llvm/System/Path.h, 2009-08-23 22:45:37 +00:00
LLVMContext.h Make LLVMContext's pImpl member const. 2009-10-06 17:43:57 +00:00
Metadata.h Remove a bunch of unused arguments from functions, silencing a 2009-10-14 20:28:33 +00:00
Module.h remove the std::ostream version of module and type printing. 2009-08-23 04:52:46 +00:00
ModuleProvider.h
OperandTraits.h Public and private corrections, warned about by icc (#304). 2009-09-06 08:55:57 +00:00
Operator.h Remove a bunch of unused arguments from functions, silencing a 2009-10-14 20:28:33 +00:00
Pass.h Remove a bunch of unused arguments from functions, silencing a 2009-10-14 20:28:33 +00:00
PassAnalysisSupport.h Add a form of addPreserved which takes a string argument, to allow passes 2009-10-08 17:00:02 +00:00
PassManager.h
PassManagers.h Move the dominator verification code out of special code embedded within 2009-09-28 00:27:48 +00:00
PassSupport.h Remove some unused fields. 2009-08-29 23:34:14 +00:00
SymbolTableListTraits.h Forward-declare ValueSymbolTable so that SymbolTableListTraits.h can be parsed by itself 2009-09-30 00:08:25 +00:00
Type.h Make getPointerTo return a const PointerType* rather than 2009-10-07 07:35:19 +00:00
TypeSymbolTable.h Don't search the entire type table just to delete a type by name. 2009-08-06 06:04:35 +00:00
Use.h eliminate all 80-col violations that I have introduced in my recent checkins (and some others more) 2009-08-27 23:44:33 +00:00
User.h Remove some dead functions, patch by Ryan Flynn! 2009-07-14 18:58:35 +00:00
Value.h s/class Metadata/class MetadataContext/g 2009-09-28 21:41:20 +00:00
ValueSymbolTable.h revert r78048, it isn't worth using assertingvh here. 2009-08-04 23:07:12 +00:00