| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a follow-up from r163302, which added a transformation to
SimplifyCFG that turns some switches into loads from lookup tables.
It was pointed out that some targets, such as GPUs and deeply embedded
targets, might not find this appropriate, but SimplifyCFG doesn't have
enough information about the target to decide this.
This patch adds the reverse transformation to CodeGenPrep: it turns
loads from lookup tables back into switches for targets where we do not
build jump tables (assuming these are also the targets where lookup
tables are inappropriate).
Hopefully we will eventually get to have target information in
SimplifyCFG, and then this CodeGenPrep transformation can be removed.
llvm-svn: 164206
|
| |
|
|
|
|
| |
code emitters and the disassembler table builder. Fix a couple instructions that were still missing VEX_L.
llvm-svn: 164204
|
| |
|
|
| |
llvm-svn: 164203
|
| |
|
|
|
|
| |
remove code from the code emitters that examined operands to set the L-bit.
llvm-svn: 164202
|
| |
|
|
|
|
|
|
| |
This was making it hard to scan my builds for new warnings. The
warning still fires with ToT clang. But if my workaround is unnecessary
for whatever reason, feel free to revert.
llvm-svn: 164201
|
| |
|
|
| |
llvm-svn: 164199
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two deeply nested if's obscured that the sense of the conditions was
mixed up. Amazingly, TableGen's output is exactly the same even with the
sense of the tests fixed; it seems that all of TableGen's conversions
are symmetric so that the inverted sense was nonetheless correct "by
accident". As such, I couldn't come up with a test case.
If there does in fact exist a non-symmetric conversion in TableGen's
type system, then a test case should be prepared.
Despite the symmetry, both if's are left in place for robustness in the
face of future changes.
Review by Jakob.
llvm-svn: 164195
|
| |
|
|
|
|
|
|
| |
Fixes an observed instance of nondeterministic TableGen output.
Review by Jakob.
llvm-svn: 164191
|
| |
|
|
|
|
|
|
| |
Fixes an observed instance of nondeterministic TableGen output.
Review by Jakob.
llvm-svn: 164190
|
| |
|
|
|
|
|
|
|
|
|
| |
This is a generally useful utility; there's no reason to have it hidden
in CodeGenDAGPatterns.cpp.
Also, rename it to fit the other comparators in Record.h
Review by Jakob.
llvm-svn: 164189
|
| |
|
|
|
|
| |
-mcpu doesn't infer -arch. Consider non-x86 host.
llvm-svn: 164185
|
| |
|
|
| |
llvm-svn: 164182
|
| |
|
|
| |
llvm-svn: 164181
|
| |
|
|
| |
llvm-svn: 164180
|
| |
|
|
|
|
|
|
|
|
|
| |
from the dragonegg build bots when we turned on the full version of the
pass. Included a much reduced test case for this pesky bug, despite
bugpoint's uncooperative behavior.
Also, I audited all the similar code I could find and didn't spot any
other cases where this mistake cropped up.
llvm-svn: 164178
|
| |
|
|
| |
llvm-svn: 164174
|
| |
|
|
|
|
| |
Implementation derived from compiler-rt's implementation of signed and unsigned integer division.
llvm-svn: 164173
|
| |
|
|
| |
llvm-svn: 164169
|
| |
|
|
|
|
| |
after the colon.
llvm-svn: 164165
|
| |
|
|
| |
llvm-svn: 164162
|
| |
|
|
| |
llvm-svn: 164158
|
| |
|
|
|
|
| |
also provides a insertion order iteration over the values.
llvm-svn: 164157
|
| |
|
|
| |
llvm-svn: 164155
|
| |
|
|
| |
llvm-svn: 164154
|
| |
|
|
| |
llvm-svn: 164153
|
| |
|
|
| |
llvm-svn: 164150
|
| |
|
|
| |
llvm-svn: 164147
|
| |
|
|
|
|
|
|
|
|
|
|
| |
working on FCA splitting. Instead of refusing to form a common type when
there are uses of a subsection of the alloca as well as a use of the
entire alloca, just skip the subsection uses and continue looking for
a whole-alloca use with a type that we can use.
This produces slightly prettier IR I think, and also fixes the other
failure in the test.
llvm-svn: 164146
|
| |
|
|
| |
llvm-svn: 164142
|
| |
|
|
|
|
| |
Patch by Adhemerval Zanella.
llvm-svn: 164141
|
| |
|
|
|
|
| |
virtual-dtor warnings that come with it.
llvm-svn: 164140
|
| |
|
|
| |
llvm-svn: 164139
|
| |
|
|
|
|
| |
Patch by Adhemerval Zanella.
llvm-svn: 164138
|
| |
|
|
| |
llvm-svn: 164137
|
| |
|
|
|
|
|
|
| |
splitting aggregates into a real class.
No intended functionality change.
llvm-svn: 164135
|
| |
|
|
| |
llvm-svn: 164134
|
| |
|
|
|
|
|
|
|
| |
store this and use it to not emit long nops when the CPU is geode which
doesnt support them.
Fixes PR11212.
llvm-svn: 164132
|
| |
|
|
|
|
| |
...I don't know why this could appease msvc...baad.
llvm-svn: 164130
|
| |
|
|
|
|
| |
linkage-name.ll to X86.
llvm-svn: 164129
|
| |
|
|
| |
llvm-svn: 164128
|
| |
|
|
| |
llvm-svn: 164126
|
| |
|
|
| |
llvm-svn: 164125
|
| |
|
|
|
|
| |
builders green again.
llvm-svn: 164124
|
| |
|
|
|
|
| |
a fix to getCommonType in the previous patch.
llvm-svn: 164120
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
FCAs. This is essential in order to promote allocas that are used in
struct returns by frontends like Clang. The FCA load would block the
rest of the pass from firing, resulting is significant regressions with
the bullet benchmark in the nightly test suite.
Thanks to Duncan for repeated discussions about how best to do this, and
to both him and Benjamin for review.
This appears to have blocked many places where the pass tries to fire,
and so I'm expect somewhat different results with this fix added.
As with the last big patch, I'm including a change to enable the SROA by
default *temporarily*. Ben is going to remove this as soon as the LNT
bots pick up the patch. I'm just trying to get a round of LNT numbers
from the stable machines in the lab.
NOTE: Four clang tests are expected to fail in the brief window where
this is enabled. Sorry for the noise!
llvm-svn: 164119
|
| |
|
|
| |
llvm-svn: 164117
|
| |
|
|
|
|
| |
- when we may clobber the other S-lane by converting an S to a D instruction, make an effort to work out if the S lane is clobberable or not.
llvm-svn: 164114
|
| |
|
|
|
|
| |
the match table. Reorder fields in OperandMatchEntry to provide the least amount of padding for in tree targets.
llvm-svn: 164109
|
| |
|
|
|
|
| |
on in tree targets. Saving static data space.
llvm-svn: 164108
|
| |
|
|
|
|
|
|
| |
Now where we used to call ReInitMCSubtargetInfo, we actually recompute
the same information as InitMCSubtargetInfo instead of only setting
the feature bits.
llvm-svn: 164105
|