Bill Wendling
747a2ba2a1
Revert accidental commit.
...
llvm-svn: 91635
2009-12-17 23:45:18 +00:00
Bill Wendling
2911fdb37b
Turn off critical edge splitting for landing pads. The introduction of a
...
non-landing pad basic block as the successor to a block that ends in an
unconditional jump will cause block folding to remove the added block as a
successor. Thus eventually removing it AND the landing pad entirely. Critical
edge splitting is an optimization, so we can safely turn it off when dealing
with landing pads.
llvm-svn: 91634
2009-12-17 23:42:32 +00:00
Jeffrey Yasskin
f39a138a7c
Revert r91623 to unbreak the buildbots.
...
llvm-svn: 91632
2009-12-17 22:44:34 +00:00
Eli Friedman
9543d05079
Allow instcombine to combine "sext(a) >u const" to "a >u trunc(const)".
...
llvm-svn: 91631
2009-12-17 22:42:29 +00:00
Jeffrey Yasskin
f4d06414ec
Don't codegen available_externally functions. Fixes http://llvm.org/PR5735 .
...
llvm-svn: 91626
2009-12-17 21:35:29 +00:00
Eli Friedman
8afea2d095
Make the ptrtoint comparison simplification work if one side is a global.
...
llvm-svn: 91624
2009-12-17 21:27:47 +00:00
Evan Cheng
d765952b17
Remove an unused option.
...
llvm-svn: 91623
2009-12-17 21:23:58 +00:00
Chris Lattner
2e0b4ea606
tabs -> spaces.
...
llvm-svn: 91622
2009-12-17 21:23:46 +00:00
Eli Friedman
ff5c248066
Slightly generalize transformation of memmove(a,a,n) so that it also applies
...
to memcpy. (Such a memcpy is technically illegal, but in practice is safe
and is generated by struct self-assignment in C code.)
llvm-svn: 91621
2009-12-17 21:07:31 +00:00
Jeffrey Yasskin
d43aca2c4d
Make Path use StringRef instead of std::string where possible.
...
llvm-svn: 91620
2009-12-17 21:02:39 +00:00
Bill Wendling
ff2ae3828e
Temporarily revert 91337. It's causing testcase failures.
...
$ svn merge -c -91337 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r91337 into '.':
U lib/CodeGen/AsmPrinter/DwarfException.cpp
llvm-svn: 91618
2009-12-17 20:41:01 +00:00
Steve Naroff
cbffdd23ee
Fix Windows build breakage...
...
llvm-svn: 91617
2009-12-17 20:39:34 +00:00
Ken Dyck
8eb2574e35
Introduce EVT::getHalfSizedIntegerVT() for use in ExpandUnalignedStore() in
...
LegalizeDAG.cpp. Unlike the code it replaces, which simply decrements the simple
type by one, getHalfSizedIntegerVT() searches for the smallest simple integer
type that is at least half the size of the type it is called on. This approach
has the advantage that it will continue working if a new value type (such as
i24) is added to MVT.
Also, in preparation for new value types, remove the assertions that
non-power-of-2 8-bit-mutiple types are Extended when legalizing extload and
truncstore operations.
llvm-svn: 91614
2009-12-17 20:09:43 +00:00
Chris Lattner
b944c6eca5
finish cleaning up StructLayoutMap.
...
llvm-svn: 91612
2009-12-17 20:00:21 +00:00
Jeffrey Yasskin
9afe974318
This fixes a memory leak in OpaqueType found by Google's internal heapchecker.
...
llvm-svn: 91611
2009-12-17 19:55:06 +00:00
Eric Christopher
9219efa49e
Fix unused variable warning.
...
llvm-svn: 91609
2009-12-17 19:07:19 +00:00
Bob Wilson
9d4b46c0e6
Re-revert 91459. It's breaking the x86_64 darwin bootstrap.
...
llvm-svn: 91607
2009-12-17 18:34:24 +00:00
Evan Cheng
d6b6eaa734
Remove debugging code.
...
llvm-svn: 91604
2009-12-17 18:03:12 +00:00
Jim Grosbach
f0ce3421ee
Add more detail for getting started on Windows.
...
Patch from jon.forums at gmail.com
llvm-svn: 91603
2009-12-17 17:18:11 +00:00
Ken Dyck
319b2ed194
In LowerEXTRACT_VECTOR_ELT, force an i32 value type for PEXTWR instead of
...
incrementing the simple value type of the 16-bit type, which would give the
wrong type if an intemediate MVT (such as i24) were introduced.
llvm-svn: 91602
2009-12-17 15:31:52 +00:00
Evan Cheng
18e334195d
Revert 91280-91283, 91286-91289, 91291, 91293, 91295-91296. It apparently introduced a non-deterministic behavior in the optimizer somewhere.
...
llvm-svn: 91598
2009-12-17 09:39:49 +00:00
Mikhail Glushenkov
43372db9d7
Regenerate.
...
llvm-svn: 91595
2009-12-17 07:49:26 +00:00
Mikhail Glushenkov
40eeddfb23
Add a 'set_option' action for use in OptionPreprocessor.
...
llvm-svn: 91594
2009-12-17 07:49:16 +00:00
Mikhail Glushenkov
29f6764c94
Refactoring, no functionality change.
...
llvm-svn: 91593
2009-12-17 07:48:49 +00:00
Mikhail Glushenkov
f95b51aeac
s/TokenizeCmdline/TokenizeCmdLine/
...
llvm-svn: 91592
2009-12-17 07:48:34 +00:00
Chandler Carruth
e8571122ee
Update CMake build to include HexDisassembler.cpp.
...
llvm-svn: 91589
2009-12-17 06:35:17 +00:00
Eli Friedman
5c7e38b936
Aggressively flip compare constant expressions where appropriate; constant
...
folding in particular expects null to be on the RHS.
llvm-svn: 91587
2009-12-17 06:07:04 +00:00
Bob Wilson
db6c6a5e63
Fix a comment grammaro.
...
llvm-svn: 91584
2009-12-17 05:07:36 +00:00
Bob Wilson
b27f554691
BIT_CONVERT nodes are used for vector types, too.
...
llvm-svn: 91582
2009-12-17 05:05:36 +00:00
Sean Callanan
023fdbe1b6
Test harness for the LLVM disassembler. When invoked
...
with -disassemble, llvm-mc now accepts lines of the
form
0x00 0x00
and passes the resulting bytes to the disassembler for
the chosen (or default) target, printing the result.
llvm-svn: 91579
2009-12-17 01:49:59 +00:00
Evan Cheng
dbd8789125
Revert this dag combine change:
...
Fold (zext (and x, cst)) -> (and (zext x), cst)
DAG combiner likes to optimize expression in the other way so this would end up cause an infinite looping.
llvm-svn: 91574
2009-12-17 00:40:05 +00:00
Johnny Chen
04b3259f9d
Renamed "tCMNZ" to "tCMNz" to be consistent with other similar namings.
...
llvm-svn: 91571
2009-12-16 23:36:52 +00:00
John McCall
8ee507f0f5
Silence a clang warning about the deprecated (but perfectly reasonable in
...
context) increment-of-bool idiom.
llvm-svn: 91564
2009-12-16 20:31:50 +00:00
Daniel Dunbar
70f0e3d7d0
Reapply r91392, it was only unmasking the bug, and since TOT is still broken having it reverted does no good.
...
llvm-svn: 91560
2009-12-16 20:10:05 +00:00
Daniel Dunbar
c4abbc0ab6
Reapply r91459, it was only unmasking the bug, and since TOT is still broken having it reverted does no good.
...
llvm-svn: 91559
2009-12-16 20:09:53 +00:00
Jim Grosbach
666c19db99
Mark STREX* as earlyclobber for the success result register.
...
llvm-svn: 91555
2009-12-16 19:44:06 +00:00
Jim Grosbach
483afaa7f7
Add @earlyclobber TableGen constraint
...
llvm-svn: 91554
2009-12-16 19:43:02 +00:00
Bill Wendling
18fe802d05
Remove superfluous 'extern' variable that was causing a warning with clang.
...
llvm-svn: 91552
2009-12-16 19:36:42 +00:00
Jakob Stoklund Olesen
e8d568962e
Reuse lowered phi nodes.
...
Tail duplication produces lots of identical phi nodes in different basic
blocks. Teach PHIElimination to reuse the join registers when lowering a phi
node that is identical to an already lowered node. This saves virtual
registers, and more importantly it avoids creating copies the the coalescer
doesn't know how to eliminate.
Teach LiveIntervalAnalysis about the phi joins with multiple uses.
This patch significantly reduces code size produced by -pre-regalloc-taildup.
llvm-svn: 91549
2009-12-16 18:55:53 +00:00
Daniel Dunbar
9d1eac0cdd
Fix one more missing this-> to placate that picky clang++.
...
llvm-svn: 91536
2009-12-16 11:38:03 +00:00
Daniel Dunbar
929f303477
Revert "Reapply 91184 with fixes and an addition to the testcase to cover the
...
problem", this broke llvm-gcc bootstrap for release builds on
x86_64-apple-darwin10.
This reverts commit db22309800b224a9f5f51baf76071d7a93ce59c9.
llvm-svn: 91534
2009-12-16 10:56:17 +00:00
Daniel Dunbar
bcd7588947
Revert "Initial work on disabling the scheduler. This is a work in progress, and
...
this", this broke llvm-gcc bootstrap for release builds on
x86_64-apple-darwin10.
llvm-svn: 91533
2009-12-16 10:56:02 +00:00
Chris Lattner
2d5fc1649a
reapply my strstr optimization. I have reproduced the x86-64 bootstrap
...
miscompile (i386.o miscompares) but it happens both with and without
this patch.
llvm-svn: 91532
2009-12-16 09:32:05 +00:00
Chris Lattner
4b21831c59
fix more missing this->'s to placate clang++
...
llvm-svn: 91531
2009-12-16 09:17:12 +00:00
Chris Lattner
ccad2e6bd4
Fix a missing this-> that clang++ notices.
...
llvm-svn: 91530
2009-12-16 09:09:54 +00:00
Chris Lattner
eee37b7ba5
now that libsystem no longer uses SmallVector, we can move
...
SmallVectorBase::grow_pod out of line, finally satisfying PR3758.
llvm-svn: 91529
2009-12-16 08:44:24 +00:00
Chris Lattner
9581391002
remove use of SmallVector from Path::makeUnique. Path::makeUnique
...
is not used by anything performance sensitive, so just use std::string.
llvm-svn: 91528
2009-12-16 08:40:44 +00:00
Chris Lattner
4b57931af3
eliminate an extraneous use of SmallVector in a case where
...
a fixed size buffer is perfectly fine.
llvm-svn: 91527
2009-12-16 08:35:54 +00:00
Chris Lattner
7ea3176b0c
factor out the grow() method for all pod implementations into one
...
common function. It is still an inline method, which will be fixed next.
llvm-svn: 91526
2009-12-16 08:34:40 +00:00
Victor Hernandez
f6bcc2747e
Use different name for argument and field
...
llvm-svn: 91524
2009-12-16 08:10:57 +00:00