Nick Lewycky
aaf401241a
Add a doxygen comment for this class.
...
llvm-svn: 124480
2011-01-28 08:19:00 +00:00
Nick Lewycky
564fcca856
Reorder for readability. (Chris, is this what you meant?)
...
llvm-svn: 124479
2011-01-28 07:36:21 +00:00
Evan Cheng
aaa9606b2f
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
c5eb3733f7
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
db34be0e31
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
0af77fd45b
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
2f72a84284
Add a triple.
...
llvm-svn: 124471
2011-01-28 03:57:55 +00:00
Nick Lewycky
6593e6eaf6
Add missing include for ptrdiff_t. Patch by Joerg Sonnenberger!
...
llvm-svn: 124470
2011-01-28 03:52:25 +00:00
Nick Lewycky
b074e32641
Fold select + select where both selects are on the same condition.
...
llvm-svn: 124469
2011-01-28 03:28:10 +00:00
Rafael Espindola
6c17d54891
Print the visibility of declarations.
...
llvm-svn: 124468
2011-01-28 03:20:10 +00:00
Nico Weber
4ada0d9164
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
417fca86c4
- 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
bb8420a070
Fix PLD encoding.
...
llvm-svn: 124458
2011-01-27 23:48:34 +00:00
Kevin Enderby
e9f2f0cb0b
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
f9bab3a47a
Fix a comment typo.
...
llvm-svn: 124450
2011-01-27 23:08:52 +00:00
Oscar Fuentes
800a2afbb3
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
34f7c0d8aa
[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
c0ca67601a
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
13bb644fdd
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
dd02d62594
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
57e3d65884
Unbreak the build.
...
llvm-svn: 124426
2011-01-27 20:30:54 +00:00
Nick Lewycky
e2d46d30ae
Expound upon this comparison!
...
llvm-svn: 124406
2011-01-27 19:51:31 +00:00
Nick Lewycky
5a37e950e1
Use dyn_cast instead of isa+cast.
...
llvm-svn: 124404
2011-01-27 19:42:43 +00:00
Oscar Fuentes
632ad9bfe6
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
1cec755494
Speculatively revert r124380.
...
llvm-svn: 124397
2011-01-27 19:15:01 +00:00
Devang Patel
3b266a2780
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
ed5efb4053
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
36b1b47c5a
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
9f32cfd35e
Fix indentation.
...
llvm-svn: 124375
2011-01-27 14:44:55 +00:00
Nick Lewycky
0c572ebc46
Add DenseSet::resize for API parity with DenseMap::resize.
...
llvm-svn: 124370
2011-01-27 09:10:42 +00:00
Nick Lewycky
13e04aef2a
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
2114b762de
Don't infinitely recurse! Patch by Marius Wachtler!
...
llvm-svn: 124366
2011-01-27 07:35:27 +00:00
Bob Wilson
2d69fb4184
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
ebd8db7d00
Add a testcase for my last checkin.
...
llvm-svn: 124358
2011-01-27 06:01:17 +00:00
Eric Christopher
331cc5218d
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
f3e20b9f0f
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
a148c59231
Try harder to not have unused variables.
...
llvm-svn: 124350
2011-01-27 02:39:27 +00:00
Matt Beaumont-Gay
0cddbf2bdf
Opt-mode -Wunused-variable cleanup
...
llvm-svn: 124346
2011-01-27 01:47:50 +00:00
Devang Patel
92b7077f9e
Reapply 124301
...
llvm-svn: 124339
2011-01-27 00:13:27 +00:00
Bill Wendling
fb4ee9bbde
Initialize variable to get rid of clang warning.
...
llvm-svn: 124331
2011-01-26 22:21:35 +00:00
Jay Foad
b0c5e35929
Simplify User::operator delete().
...
llvm-svn: 124330
2011-01-26 21:56:10 +00:00
Bob Wilson
770681d7b6
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
b370bf329a
Revert 124301.
...
llvm-svn: 124327
2011-01-26 21:41:22 +00:00
Bob Wilson
2c1562ebd3
Fix spelling of CouldMatchAmbiguouslyWith method name.
...
llvm-svn: 124324
2011-01-26 21:26:21 +00:00
Bob Wilson
f4ee9e515c
Whitespace and 80-column fixes.
...
llvm-svn: 124323
2011-01-26 21:26:19 +00:00
Devang Patel
084e0628e0
Revert r124302
...
llvm-svn: 124320
2011-01-26 21:12:32 +00:00
Bill Wendling
5a13d4fa8f
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
b9b2422e89
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
cd55a46c31
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
1c7bd7f481
- 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