1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-01 08:23:21 +01:00
llvm-mirror/include/llvm
Nick Lewycky 7425820374 Change CaptureTracking to pass a Use* instead of a Value* when a value is
captured. This allows the tracker to look at the specific use, which may be
especially interesting for function calls.

Use this to fix 'nocapture' deduction in FunctionAttrs. The existing one does
not iterate until a fixpoint and does not guarantee that it produces the same
result regardless of iteration order. The new implementation builds up a graph
of how arguments are passed from function to function, and uses a bottom-up walk
on the argument-SCCs to assign nocapture. This gets us nocapture more often, and
does so rather efficiently and independent of iteration order.

llvm-svn: 147327
2011-12-28 23:24:21 +00:00
..
ADT Switch StringMap from an array of structures to a structure of arrays. 2011-12-27 20:35:07 +00:00
Analysis Change CaptureTracking to pass a Use* instead of a Value* when a value is 2011-12-28 23:24:21 +00:00
Assembly Make headers standalone. 2011-11-14 17:45:03 +00:00
Bitcode The powers that be have decided that LLVM IR should now support 16-bit 2011-12-17 00:04:22 +00:00
CodeGen Move common code into an MRI function. 2011-12-21 19:50:05 +00:00
Config configure, config.h.in: Regenerate. 2011-11-28 01:07:19 +00:00
DebugInfo
ExecutionEngine ExecutionEngine: refactor interface 2011-12-12 04:20:36 +00:00
MC Section relative fixups are a coff concept, not a x86 one. Replace the 2011-12-24 14:47:52 +00:00
Object Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
Support Changes the JSON parser to use the SourceMgr. 2011-12-21 18:16:39 +00:00
TableGen Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
Target Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
Transforms When not destroying the source, the linker is not remapping the types. Added support 2011-12-23 02:18:32 +00:00
Argument.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
Attributes.h
AutoUpgrade.h remove autoupgrade support for really old-style debug info intrinsics. 2011-11-27 06:18:33 +00:00
BasicBlock.h Remove useless code. 2011-10-20 04:33:44 +00:00
CallGraphSCCPass.h
CallingConv.h
CMakeLists.txt build/cmake: Use tblgen macro directly instead of llvm_tablegen, which just 2011-11-04 19:04:23 +00:00
Constant.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
Constants.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
DebugInfoProbe.h
DefaultPasses.h Add a couple missing includes; found while analyzing LLVM headers. 2011-11-04 18:19:43 +00:00
DerivedTypes.h Add support for vectors of pointers. 2011-12-05 06:29:09 +00:00
Function.h Refactor code from inlining and globalopt that checks whether a function definition is unused, and enhance it so it can tell that functions which are only used by a blockaddress are in fact dead. This probably doesn't happen much on most code, but the Linux kernel's _THIS_IP_ can trigger this issue with blockaddress. (GlobalDCE can also handle the given tescase, but we only run that at -O3.) Found while looking at PR11180. 2011-10-20 05:23:42 +00:00
GlobalAlias.h
GlobalValue.h
GlobalVariable.h
GVMaterializer.h
InitializePasses.h - Add MachineInstrBundle.h and MachineInstrBundle.cpp. This includes a function 2011-12-14 02:11:42 +00:00
InlineAsm.h
InstrTypes.h Add some missing anchors. 2011-12-01 08:00:17 +00:00
Instruction.def
Instruction.h Move Instruction::isSafeToSpeculativelyExecute out of VMCore and 2011-12-14 23:49:11 +00:00
Instructions.h Add support for vectors of pointers. 2011-12-05 06:29:09 +00:00
IntrinsicInst.h
Intrinsics.h
Intrinsics.td Hexagon backend support 2011-12-12 21:14:40 +00:00
IntrinsicsARM.td
IntrinsicsCellSPU.td
IntrinsicsHexagon.td Hexagon backend support 2011-12-12 21:14:40 +00:00
IntrinsicsPowerPC.td
IntrinsicsPTX.td
IntrinsicsX86.td Support for encoding all FMA4 instructions and tablegen patterns for all 2011-11-30 22:09:42 +00:00
IntrinsicsXCore.td
LinkAllPasses.h All these arguments are default anyways. 2011-12-06 00:11:58 +00:00
LinkAllVMCore.h
Linker.h
LLVMContext.h Add a pinned metadata name for fpaccuracy, and document it 2011-10-27 19:19:14 +00:00
Metadata.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
Module.h
OperandTraits.h
Operator.h Add support for vectors of pointers. 2011-12-05 06:29:09 +00:00
Pass.h Devirtualize Pass::getPassID, overriding it isn't useful and it gets called a lot. 2011-11-24 21:14:11 +00:00
PassAnalysisSupport.h Add a couple missing includes; found while analyzing LLVM headers. 2011-11-04 18:19:43 +00:00
PassManager.h
PassManagers.h
PassRegistry.h
PassSupport.h Add Tsan annotations to the pass system. 2011-12-08 00:15:41 +00:00
SymbolTableListTraits.h
Type.h fix typo 2011-12-22 19:20:51 +00:00
Use.h
User.h Add some missing anchors. 2011-12-01 08:00:17 +00:00
Value.h Remove Value::getNameStr. It has been deprecated for a while and provides no additional value over getName(). 2011-11-15 18:30:12 +00:00
ValueSymbolTable.h