Nick Lewycky
edbe62c10d
Add a doxygen comment for this class.
...
llvm-svn: 124480
2011-01-28 08:19:00 +00:00
Nick Lewycky
28f2b64333
Reorder for readability. (Chris, is this what you meant?)
...
llvm-svn: 124479
2011-01-28 07:36:21 +00:00
Evan Cheng
5b6c72e549
Revert r124462. There are a few big regressions that I need to fix first.
...
llvm-svn: 124478
2011-01-28 07:12:38 +00:00
Nick Lewycky
744bd3872f
Reduce the number of functions we look at in the first pass, and preallocate
...
the function equality set.
llvm-svn: 124475
2011-01-28 05:48:15 +00:00
Nick Lewycky
9bbbb3e6f5
Clean up the tests a little, make sure we match an instruction in the right
...
test.
llvm-svn: 124473
2011-01-28 05:13:17 +00:00
Nick Lewycky
fdee464a16
Fix build with stdcxx by using llvm::next. Patch by Joerg Sonnenberger!
...
llvm-svn: 124472
2011-01-28 04:00:15 +00:00
Rafael Espindola
d93551f227
Add a triple.
...
llvm-svn: 124471
2011-01-28 03:57:55 +00:00
Nick Lewycky
1f3febae6f
Add missing include for ptrdiff_t. Patch by Joerg Sonnenberger!
...
llvm-svn: 124470
2011-01-28 03:52:25 +00:00
Nick Lewycky
74dfcccec4
Fold select + select where both selects are on the same condition.
...
llvm-svn: 124469
2011-01-28 03:28:10 +00:00
Rafael Espindola
9bc19ee478
Print the visibility of declarations.
...
llvm-svn: 124468
2011-01-28 03:20:10 +00:00
Nico Weber
66fd0e8119
PR8951: Support for .equiv in integrated assembler, patch by Jörg Sonnenberger!
...
llvm-svn: 124467
2011-01-28 03:04:41 +00:00
Evan Cheng
7031f450b3
- Stop simplifycfg from duplicating "ret" instructions into unconditional
...
branches. PR8575, rdar://5134905, rdar://8911460.
- Allow codegen tail duplication to dup small return blocks after register
allocation is done.
llvm-svn: 124462
2011-01-28 02:19:21 +00:00
Evan Cheng
2042be8132
Fix PLD encoding.
...
llvm-svn: 124458
2011-01-27 23:48:34 +00:00
Kevin Enderby
ce1439297b
Changed llvm-mc arm target to give an error if .syntax divided is used. Since
...
only .syntax unified is supported.
llvm-svn: 124454
2011-01-27 23:22:36 +00:00
Bob Wilson
0b0692bd8d
Fix a comment typo.
...
llvm-svn: 124450
2011-01-27 23:08:52 +00:00
Oscar Fuentes
f249fb75f1
Use the paths to libffi's header and library even when no custom
...
location was stated with FFI_INCLUDE_DIR/FFI_LIBRARY_DIR.
llvm-svn: 124449
2011-01-27 22:58:34 +00:00
David Greene
1f8b96494e
[AVX] Clean up the code to configure target lowering for AVX. Specify
...
how to lower more/new operations. This is a prerequisite for adding
additional AVX lowering.
llvm-svn: 124447
2011-01-27 22:38:56 +00:00
Andrew Trick
3f570c28b7
Remove a temporary workaround for a lencod miscompile. Depends on the fix in r124442.
...
llvm-svn: 124443
2011-01-27 21:28:51 +00:00
Andrew Trick
6a24682579
VirtRegRewriter fix: update kill flags, which are used by the scavenger.
...
rdar://problem/8893967: JM/lencod miscompile at -arch armv7 -mthumb -O3
Added ResurrectKill to remove kill flags after we decide to reused a
physical register. And (hopefully) ensure that we call it in all the
right places.
Sorry, I'm not checking in a unit test given that it's a miscompile I
can't reproduce easily with a toy example. Failures in the rewriter
depend on a series of heuristic decisions maked during one of the many
upstream phases in codegen. This case would require coercing regalloc
to generate a couple of rematerialzations in a way that causes the
scavenger to reuse the same register at just the wrong point.
The general way to test this is to implement kill flags
verification. Then we could have a simple, robust compile-only unit
test. That would be worth doing if the whole pass was not about to
disappear. At this point we focus verification work on the next
generation of regalloc.
llvm-svn: 124442
2011-01-27 21:26:43 +00:00
Douglas Gregor
8d44712818
Clang: separate the access-control diagnostics from other diagnostics that do not have SFINAE behavior.
...
llvm-svn: 124440
2011-01-27 21:06:17 +00:00
Benjamin Kramer
114c20e190
Unbreak the build.
...
llvm-svn: 124426
2011-01-27 20:30:54 +00:00
Nick Lewycky
675f10c258
Expound upon this comparison!
...
llvm-svn: 124406
2011-01-27 19:51:31 +00:00
Nick Lewycky
af3989a145
Use dyn_cast instead of isa+cast.
...
llvm-svn: 124404
2011-01-27 19:42:43 +00:00
Oscar Fuentes
d91fccb5c3
Don't show -pedantic, -W and -Wall on the output of
...
llvm-config --cflags --cxxflags --cppflags
We shouldn't impose those flags on people who use llvm-config for
building their own projects.
llvm-svn: 124399
2011-01-27 19:29:48 +00:00
Devang Patel
14eb3db47f
Speculatively revert r124380.
...
llvm-svn: 124397
2011-01-27 19:15:01 +00:00
Devang Patel
6c3de04fdd
While legalizing SDValues do not drop SDDbgValues, trasfer them to new legal nodes.
...
Take 2. This includes fix for dragonegg crash.
llvm-svn: 124380
2011-01-27 17:43:53 +00:00
Roman Divacky
f817c82cf3
Add support for specifying register name in cfi-register/offset/def
...
as well as register number.
llvm-svn: 124379
2011-01-27 17:16:37 +00:00
Roman Divacky
991a87e2e3
Introduce virtual ParseRegister method in TargetAsmParser.
...
Create override of this method in X86/ARM/MBlaze.
llvm-svn: 124378
2011-01-27 17:14:22 +00:00
Jay Foad
284c5bc9bd
Fix indentation.
...
llvm-svn: 124375
2011-01-27 14:44:55 +00:00
Nick Lewycky
8258d2da8c
Add DenseSet::resize for API parity with DenseMap::resize.
...
llvm-svn: 124370
2011-01-27 09:10:42 +00:00
Nick Lewycky
864a35740a
Fix surprising missed optimization in mergefunc where we forgot to consider
...
that relationships like "i8* null" is equivalent to "i32* null".
llvm-svn: 124368
2011-01-27 08:38:19 +00:00
Chris Lattner
7bdd5c3eb7
Don't infinitely recurse! Patch by Marius Wachtler!
...
llvm-svn: 124366
2011-01-27 07:35:27 +00:00
Bob Wilson
08e0cec53e
Avoid modifying the OneClassForEachPhysReg map while iterating over it.
...
Linear scan regalloc is currently assuming that any register aliased with
a member of a regclass must also be in at least one regclass. That is not
always true. For example, for X86, RIP is in a regclass but IP is not.
If you're unlucky, this can cause a crash by invalidating the iterator.
llvm-svn: 124365
2011-01-27 07:26:15 +00:00
Eric Christopher
3906b33289
Add a testcase for my last checkin.
...
llvm-svn: 124358
2011-01-27 06:01:17 +00:00
Eric Christopher
9c446b2711
Use the incoming VT not the VT of where we're trying to store to determine
...
if we can store a value. Also, the exclusion is or, not and.
Fixes rdar://8920247.
llvm-svn: 124357
2011-01-27 05:44:56 +00:00
NAKAMURA Takumi
d418ff3b1a
lib/Target/X86/X86ISelDAGToDAG.cpp: __main should be WINCALL64 on Win64.
...
CALL64 marks %xmm* as dead.
llvm-svn: 124354
2011-01-27 03:20:19 +00:00
Matt Beaumont-Gay
7001cac6c5
Try harder to not have unused variables.
...
llvm-svn: 124350
2011-01-27 02:39:27 +00:00
Matt Beaumont-Gay
d984615f35
Opt-mode -Wunused-variable cleanup
...
llvm-svn: 124346
2011-01-27 01:47:50 +00:00
Devang Patel
b81f6dbc21
Reapply 124301
...
llvm-svn: 124339
2011-01-27 00:13:27 +00:00
Bill Wendling
51d9acc25b
Initialize variable to get rid of clang warning.
...
llvm-svn: 124331
2011-01-26 22:21:35 +00:00
Jay Foad
db0a7d4143
Simplify User::operator delete().
...
llvm-svn: 124330
2011-01-26 21:56:10 +00:00
Bob Wilson
e93c1add9e
Add a MnemonicIsValid method to the asm matcher.
...
Patch by Bill Wendling.
llvm-svn: 124328
2011-01-26 21:43:46 +00:00
Devang Patel
bd203876fa
Revert 124301.
...
llvm-svn: 124327
2011-01-26 21:41:22 +00:00
Bob Wilson
6675dea05d
Fix spelling of CouldMatchAmbiguouslyWith method name.
...
llvm-svn: 124324
2011-01-26 21:26:21 +00:00
Bob Wilson
397316f33a
Whitespace and 80-column fixes.
...
llvm-svn: 124323
2011-01-26 21:26:19 +00:00
Devang Patel
ac5d878d16
Revert r124302
...
llvm-svn: 124320
2011-01-26 21:12:32 +00:00
Bill Wendling
5913724ac2
Add support for printing out floating point values from the ARM assembly
...
parser. The parser will always give us a binary representation of the floating
point number.
llvm-svn: 124318
2011-01-26 20:57:43 +00:00
Bob Wilson
6850ea9790
Improve the AsmMatcher's ability to handle suboperands.
...
When an operand class is defined with MIOperandInfo set to a list of
suboperands, the AsmMatcher has so far required that operand to also define
a custom ParserMatchClass, and InstAlias patterns have not been able to
set the individual suboperands separately. This patch removes both of those
restrictions. If a "compound" operand does not override the default
ParserMatchClass, then the AsmMatcher will now parse its suboperands
separately. If an InstAlias operand has the same class as the corresponding
compound operand, then it will be handled as before; but if that check fails,
TableGen will now try to match up a sequence of InstAlias operands with the
corresponding suboperands.
llvm-svn: 124314
2011-01-26 19:44:55 +00:00
Eric Christopher
54f709d970
Temporarily revert 124275 to see if it brings the dragonegg buildbot back.
...
llvm-svn: 124312
2011-01-26 19:40:31 +00:00
Devang Patel
fab4616981
- Do not try to print nameless variable's info.
...
- Print a summary of breakpoints in the beginning.
llvm-svn: 124308
2011-01-26 19:14:14 +00:00