llvm-6502/utils/TableGen
Toma Tabacu 0e407e7bbf [TableGen] Prevent invalid code generation when emitting AssemblerPredicate conditions.
Summary:
The loop which emits AssemblerPredicate conditions also links them together by emitting a '&&'.
If the 1st predicate is not an AssemblerPredicate, while the 2nd one is, nothing gets emitted for the 1st one, but we still emit the '&&' because of the 2nd predicate.
This generated code looks like "( && Cond2)" and is invalid.

Reviewers: dsanders

Reviewed By: dsanders

Subscribers: dsanders, llvm-commits

Differential Revision: http://reviews.llvm.org/D8294

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234312 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-07 12:10:11 +00:00
..
AsmMatcherEmitter.cpp Revert "Use std::bitset for SubtargetFeatures" 2015-03-24 12:56:59 +00:00
AsmWriterEmitter.cpp [MCInstPrinter] Enable MCInstPrinter to change its behavior based on the 2015-03-27 20:36:02 +00:00
AsmWriterInst.cpp [MCInstPrinter] Enable MCInstPrinter to change its behavior based on the 2015-03-27 20:36:02 +00:00
AsmWriterInst.h [MCInstPrinter] Enable MCInstPrinter to change its behavior based on the 2015-03-27 20:36:02 +00:00
CallingConvEmitter.cpp CodeGen: convert CCState interface to using ArrayRefs 2015-02-21 02:11:17 +00:00
CMakeLists.txt
CodeEmitterGen.cpp Replace size method call of containers to empty method where appropriate 2015-01-15 11:41:30 +00:00
CodeGenDAGPatterns.cpp [Tablegen] Attempt to add support for patterns containing nodes with multiple results. 2015-03-20 05:09:06 +00:00
CodeGenDAGPatterns.h [TableGen] Add support constraining a vector type in a pattern to have a specific element type and for constraining a vector type to have the same number of elements as another vector type. This is useful for AVX512 mask operations so we relate the mask type to the type of the other arguments. 2015-03-05 07:11:34 +00:00
CodeGenInstruction.cpp Reverted 230471 - gather scatter handling in table gen. 2015-03-01 08:23:41 +00:00
CodeGenInstruction.h Reverted 230471 - gather scatter handling in table gen. 2015-03-01 08:23:41 +00:00
CodeGenIntrinsics.h
CodeGenMapTable.cpp Replace size method call of containers to empty method where appropriate 2015-01-15 11:41:30 +00:00
CodeGenRegisters.cpp Fix AllocationPriority not getting set for derived register classes. 2015-03-31 20:52:25 +00:00
CodeGenRegisters.h RegAllocGreedy: Allow target to specify register class ordering. 2015-03-31 19:57:53 +00:00
CodeGenSchedule.cpp
CodeGenSchedule.h
CodeGenTarget.cpp Intrinsics: introduce llvm_any_ty aka ValueType Any 2015-01-22 20:14:38 +00:00
CodeGenTarget.h Use unique_ptr instead of DeleteContainerSeconds. 2014-12-10 06:18:57 +00:00
CTagsEmitter.cpp
DAGISelEmitter.cpp Use unique_ptr to remove explicit delete. 2014-12-15 00:40:07 +00:00
DAGISelMatcher.cpp
DAGISelMatcher.h Use unique_ptr to remove explicit delete. 2014-12-15 00:40:07 +00:00
DAGISelMatcherEmitter.cpp Teach raw_ostream to accept SmallString. 2015-03-10 07:33:23 +00:00
DAGISelMatcherGen.cpp
DAGISelMatcherOpt.cpp Use unique_ptr to remove explicit delete. 2014-12-15 00:40:07 +00:00
DFAPacketizerEmitter.cpp Replace size method call of containers to empty method where appropriate 2015-01-15 11:41:30 +00:00
DisassemblerEmitter.cpp
FastISelEmitter.cpp
FixedLenDecoderEmitter.cpp [TableGen] Prevent invalid code generation when emitting AssemblerPredicate conditions. 2015-04-07 12:10:11 +00:00
InstrInfoEmitter.cpp Revert "Use std::bitset for SubtargetFeatures" 2015-03-24 12:56:59 +00:00
IntrinsicEmitter.cpp Re-instate the pragma optimize hack for MSVC, but not clang-cl 2015-02-26 21:34:11 +00:00
LLVMBuild.txt
Makefile
module.modulemap
OptParserEmitter.cpp
PseudoLoweringEmitter.cpp
RegisterInfoEmitter.cpp TableGen: Generate more const goodness 2015-04-01 22:09:55 +00:00
SequenceToOffsetTable.h
SubtargetEmitter.cpp Revert "Use std::bitset for SubtargetFeatures" 2015-03-24 12:56:59 +00:00
TableGen.cpp Use range-based for loops. NFC 2014-12-11 07:04:54 +00:00
TableGenBackends.h
tdtags
X86DisassemblerShared.h
X86DisassemblerTables.cpp AVX-512: Added mask and rounding mode for scalar arithmetics 2015-03-01 07:44:04 +00:00
X86DisassemblerTables.h [X86] Make the instructions that use AdSize16/32/64 co-exist together without using mode predicates. 2015-01-02 07:02:25 +00:00
X86ModRMFilters.cpp
X86ModRMFilters.h
X86RecognizableInstr.cpp [X86] Add the remaining 11 possible exact ModRM formats. This makes their encodings linear which can then be used to simplify some other code. 2015-02-15 04:16:44 +00:00
X86RecognizableInstr.h [X86] Remove the single AdSize indicator and replace it with separate AdSize16/32/64 flags. 2014-12-24 06:05:22 +00:00