1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/lib/IR
David Majnemer 56b0cb8635 [EarlyCSE] Take the intersection of flags on instructions
EarlyCSE had inconsistent behavior with regards to flag'd instructions:
- In some cases, it would pessimize if the available instruction had
  different flags by not performing CSE.
- In other cases, it would miscompile if it replaced an instruction
  which had no flags with an instruction which has flags.

Fix this by being more consistent with our flag handling by utilizing
andIRFlags.

llvm-svn: 267111
2016-04-22 06:37:45 +00:00
..
AsmWriter.cpp IR: Avoid mallocs in constructor of ModuleSlotTracker 2016-04-20 19:05:59 +00:00
AttributeImpl.h Add the allocsize attribute to LLVM. 2016-04-12 01:05:35 +00:00
Attributes.cpp Attempt to make buildbot happier with r266032. 2016-04-12 01:44:13 +00:00
AttributesCompatFunc.td Provide a way to specify inliner's attribute compatibility and merging. 2015-12-22 23:57:37 +00:00
AutoUpgrade.cpp [AArch64] [ARM] Make a target-independent llvm.thread.pointer intrinsic. 2016-04-19 20:51:05 +00:00
BasicBlock.cpp Introduce @llvm.experimental.deoptimize 2016-03-11 19:08:34 +00:00
CMakeLists.txt Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
Comdat.cpp
ConstantFold.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
ConstantFold.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
ConstantRange.cpp [ConstantRange] Generalize makeGuaranteedNoWrapRegion to work on ranges 2016-03-03 18:31:16 +00:00
Constants.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
ConstantsContext.h Increase SmallVector size for ConstantUniqueMap::getHashValue() (NFC) 2016-04-19 00:17:55 +00:00
Core.cpp Add LLVMGetAttrKindID in the C API in order to facilitate migration away from LLVMAttribute 2016-04-20 01:02:12 +00:00
DataLayout.cpp Replace Type::getInt32Ty() and comparison by isIntegerTy(32). NFC. 2016-01-22 03:30:27 +00:00
DebugInfo.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
DebugInfoMetadata.cpp Fixed Dwarf debug info emission to skip DILexicalBlockFile entries. 2016-04-21 16:58:49 +00:00
DebugLoc.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
DiagnosticInfo.cpp Refactor backend diagnostics for unsupported features 2016-02-02 13:52:43 +00:00
DiagnosticPrinter.cpp
DIBuilder.cpp IR: Use SmallVector instead of std::vector of TrackingMDRef 2016-04-20 20:14:09 +00:00
Dominators.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
Function.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
GCOV.cpp llvm-cov: Fix reading gcov data that does not have function names 2016-02-08 22:49:40 +00:00
Globals.cpp [GCC] Attribute ifunc support in llvm 2016-04-07 12:32:19 +00:00
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp [EarlyCSE] Take the intersection of flags on instructions 2016-04-22 06:37:45 +00:00
Instructions.cpp [EarlyCSE] Take the intersection of flags on instructions 2016-04-22 06:37:45 +00:00
IntrinsicInst.cpp IR: Add DbgInfoIntrinsic::getVariableLocation 2016-03-29 18:56:03 +00:00
IRBuilder.cpp Revert "Support arbitrary addrspace pointers in masked load/store intrinsics" 2016-04-14 08:47:17 +00:00
IRPrintingPasses.cpp Recommit r256952 "Filtering IR printing for print-after-all/print-before-all" 2016-01-06 22:55:03 +00:00
LegacyPassManager.cpp Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 20:50:44 +00:00
LLVMBuild.txt
LLVMContext.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
LLVMContextImpl.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
LLVMContextImpl.h Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
Mangler.cpp Update to use new name alignTo(). 2016-01-14 21:06:47 +00:00
MDBuilder.cpp [MDBuilder] Simplify code using initializer lists. NFC. 2015-11-22 18:03:17 +00:00
Metadata.cpp IR: Use std::vector instead of SmallPtrSet for distinct nodes, NFC 2016-04-19 23:59:13 +00:00
MetadataImpl.h
Module.cpp [ThinLTO] Prevent importing of "llvm.used" values 2016-04-20 14:39:45 +00:00
ModuleSummaryIndex.cpp ThinLTO: Move the ODR resolution to be based purely on the summary. 2016-04-16 07:02:16 +00:00
Operator.cpp [opaque pointer types] [NFC] GEP: replace get(Pointer)ElementType uses with get{Source,Result}ElementType. 2016-01-19 17:28:00 +00:00
OptBisect.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
Pass.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
PassManager.cpp [PM] Implement the final conclusion as to how the analysis IDs should 2016-03-11 10:22:49 +00:00
PassRegistry.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
Statepoint.cpp Introduce an GCRelocateInst class [NFC] 2016-04-12 18:05:10 +00:00
SymbolTableListTraitsImpl.h
Type.cpp [IR] Mark the Type subclass helper methods 'inline' and move their definitions to DerivedTypes.h so they can be inlined by the compiler. 2015-12-25 04:06:20 +00:00
TypeFinder.cpp Re-reapply "[IR] Move optional data in llvm::Function into a hungoff uselist" 2015-12-19 08:52:49 +00:00
Use.cpp
User.cpp
Value.cpp Don't IPO over functions that can be de-refined 2016-04-08 00:48:30 +00:00
ValueSymbolTable.cpp Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 20:50:44 +00:00
ValueTypes.cpp Add isScalarInteger helper to EVT/MVT 2016-03-01 18:01:28 +00:00
Verifier.cpp Verifier: Add ModuleSlotTracker to printAsOperand call 2016-04-20 18:42:51 +00:00