1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/lib/CodeGen/SelectionDAG
Ahmed Bougacha d74b69039b [CodeGen] Don't require AA in SDAGISel at -O0.
Before r247167, the pass manager builder controlled which AA
implementations were used, exporting them all in the AliasAnalysis
analysis group.

Now, AAResultsWrapperPass always uses BasicAA, but still uses other AA
implementations if made available in the pass pipeline.

But regardless, SDAGISel is required at O0, and really doesn't need to
be doing fancy optimizations based on useful AA results.

Don't require AA at CodeGenOpt::None, and only use it otherwise.

This does have a functional impact (and one testcase is pessimized
because we can't reuse a load).  But I think that's desirable no matter
what.

Note that this alone doesn't result in less DT computations: TwoAddress
was previously able to reuse the DT we computed for SDAG.  That will be
fixed separately.

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

llvm-svn: 302611
2017-05-10 00:39:30 +00:00
..
CMakeLists.txt [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
DAGCombiner.cpp [CodeGen] Don't require AA in SDAGISel at -O0. 2017-05-10 00:39:30 +00:00
FastISel.cpp Re-land "Use the frame index side table for byval and inalloca arguments" 2017-05-09 16:02:20 +00:00
FunctionLoweringInfo.cpp Re-land "Use the frame index side table for byval and inalloca arguments" 2017-05-09 16:02:20 +00:00
InstrEmitter.cpp Move value type list from TargetRegisterClass to TargetRegisterInfo 2017-04-24 19:51:12 +00:00
InstrEmitter.h Pass DebugLoc and SDLoc by const ref. 2016-06-12 15:39:02 +00:00
LegalizeDAG.cpp Add extra operand to CALLSEQ_START to keep frame part set up previously 2017-05-09 13:35:13 +00:00
LegalizeFloatTypes.cpp Revert "[APInt] Fix a few places that use APInt::getRawData to operate within the normal API." 2017-04-23 12:15:30 +00:00
LegalizeIntegerTypes.cpp Do not legalize large add with addc/adde, introduce addcarry and do it with uaddo/addcarry 2017-04-30 19:24:09 +00:00
LegalizeTypes.cpp [MVT][SVE] Scalable vector MVTs (3/3) 2017-04-20 13:54:09 +00:00
LegalizeTypes.h Introduce experimental generic intrinsics for horizontal vector reductions. 2017-05-09 10:43:25 +00:00
LegalizeTypesGeneric.cpp [SelectionDAG] Use getBuildVector helper where possible. NFCI 2017-04-25 15:10:47 +00:00
LegalizeVectorOps.cpp DAG: Do not scalarize fsub if fneg is legal 2017-02-15 22:02:42 +00:00
LegalizeVectorTypes.cpp Introduce experimental generic intrinsics for horizontal vector reductions. 2017-05-09 10:43:25 +00:00
LLVMBuild.txt
ResourcePriorityQueue.cpp Refactoring with range-based for, NFC 2017-05-04 13:35:17 +00:00
ScheduleDAGFast.cpp Refactoring with range-based for, NFC 2017-05-04 13:35:17 +00:00
ScheduleDAGRRList.cpp Refactoring with range-based for, NFC 2017-05-04 13:35:17 +00:00
ScheduleDAGSDNodes.cpp Remove redundant call to GluedNodes.back() [NFC] 2017-02-19 16:56:18 +00:00
ScheduleDAGSDNodes.h [Target] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-11 01:45:03 +00:00
ScheduleDAGVLIW.cpp
SDNodeDbgValue.h Apply clang-tidy's misc-move-constructor-init throughout LLVM. 2016-05-27 14:27:24 +00:00
SelectionDAG.cpp Introduce experimental generic intrinsics for horizontal vector reductions. 2017-05-09 10:43:25 +00:00
SelectionDAGBuilder.cpp [CodeGen] Don't require AA in SDAGISel at -O0. 2017-05-10 00:39:30 +00:00
SelectionDAGBuilder.h [CodeGen] Don't require AA in SDAGISel at -O0. 2017-05-10 00:39:30 +00:00
SelectionDAGDumper.cpp Introduce experimental generic intrinsics for horizontal vector reductions. 2017-05-09 10:43:25 +00:00
SelectionDAGISel.cpp [CodeGen] Don't require AA in SDAGISel at -O0. 2017-05-10 00:39:30 +00:00
SelectionDAGPrinter.cpp
SelectionDAGTargetInfo.cpp
StatepointLowering.cpp Use a pointer type for target frame indices during statepoint lowering 2017-04-27 17:17:16 +00:00
StatepointLowering.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
TargetLowering.cpp [KnownBits] Add wrapper methods for setting and clear all bits in the underlying APInts in KnownBits. 2017-05-05 17:36:09 +00:00