Mikhail Glushenkov
010887765a
Add a layer of indirection to make plugins more flexible.
...
Use strings instead of TableGen defs in the compilation graph
definition. Makes it easier for the plugins to modify an existing graph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59447 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-17 17:29:18 +00:00
Dan Gohman
6560c000a1
Don't use the isPending flag to mean what the isAvailable flag means.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59445 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-17 16:37:30 +00:00
Zhongxing Xu
69e3bd10ec
move partial template specialization to FoldingSet.h.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59434 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-17 02:40:00 +00:00
Mon P Wang
28088d3c04
Fixed legalization of CONVERT_RNDSAT for integers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59432 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-17 00:41:12 +00:00
Lang Hames
1aed723261
Removed 2008-10-17-SpillerBug.ll as it does not provide an accurate test of PR2898.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59431 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 23:30:12 +00:00
Chris Lattner
37a1ebb24c
punctuate, add wording about patches contributed by others.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59417 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 17:40:16 +00:00
Torok Edwin
b079a391c8
If SI->size() is 0, we are not allowed to dereference ->begin().
...
This fixed PR3078.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59416 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 17:21:25 +00:00
Lang Hames
684bd46a57
2008-10-17-SpillerBug.ll is currently failing, but this doesn't reflect an actual regression of PR2898. This test should probably be removed. I've XFAILed it for now to keep buildbot quiet while this is considered.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59415 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 13:11:09 +00:00
Lang Hames
27601ef832
Big PBQP allocator update. Adds coalescing support, stack slot coloring, several bug-fixes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59414 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 12:12:54 +00:00
Chris Lattner
1a6111f32d
eliminate some std::set's.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59409 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 07:17:51 +00:00
Chris Lattner
3f914f0138
simplify loop
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59406 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 06:35:18 +00:00
Chris Lattner
cb504b95c5
simplify a bunch more instcombines to use m_Specific etc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59403 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 05:38:51 +00:00
Chris Lattner
69d4ced68d
factor the code for simplifying (icmp)|(icmp) into its own function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59402 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 05:20:07 +00:00
Chris Lattner
aa3e157845
do some computation with apints instead of ConstantInts.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59401 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 05:14:43 +00:00
Chris Lattner
ea065fbdd8
merge a check into a place where it is simpler.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59400 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 05:10:52 +00:00
Mon P Wang
c7849c22f4
Improved shuffle normalization to avoid using extract/build when we
...
can extract using different indexes for two vectors. Added a few tests
for vector shuffles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59399 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 05:06:27 +00:00
Chris Lattner
29cd5ba621
factor a whole bunch of code out into a helper function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59398 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 05:06:21 +00:00
Chris Lattner
b9553d693b
simplify the conditions on two gigantic if's, decreasing indentation
...
a bit. Next step is to factor out into their own helper functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59397 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:55:20 +00:00
Chris Lattner
6046fb7bef
simplify some instcombine matches by using m_Specific
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59395 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:46:19 +00:00
Zhongxing Xu
0cf717d6b8
Fix 80-col violation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59394 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:44:41 +00:00
Chris Lattner
a236c89ee3
add a new m_Specific pattern that matches only if we have a specific Value*.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59393 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:38:30 +00:00
Chris Lattner
321e6a6e82
Use new m_SelectCst template to eliminate macros.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59392 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:33:38 +00:00
Chris Lattner
67abc10616
add a new template for matching a select between two constants.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59391 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:33:10 +00:00
Chris Lattner
a6a474dca9
simplify code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59390 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:26:55 +00:00
Chris Lattner
a74cefa6d3
Handle the case where there is no "not". It is possible it got
...
folded into the select.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59389 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:25:26 +00:00
Chris Lattner
faaf951fab
factor a bunch of copy/paste code out into a helper function.
...
Eliminate the cases checking for cond?0:-1, since that is already
handled by commutative checking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59388 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:24:12 +00:00
Zhongxing Xu
f5b55475b3
Add partial specialization of FoldingSetTrait for ImmutableList.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59387 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:23:49 +00:00
Chris Lattner
6093b36f47
make this actually test what it is trying to.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59386 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:21:51 +00:00
Zhongxing Xu
2c228834fc
Fix 80-column violation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59385 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:14:33 +00:00
Nick Lewycky
d72a81ee64
Don't brute-force analyze cubic or higher polynomials.
...
If this patch causes a performance regression for anyone, please let me know,
and it can be fixed in a different way with much more effort.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59384 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:14:25 +00:00
Oscar Fuentes
808e3a9266
CMake: MSVC: Pass list of components the right way to msvc_llvm_config
...
and siblings. Support targets whose name does not end on
`CodeGen'. Remove a performance bottleneck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59383 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 04:13:19 +00:00
Chris Lattner
1ca0c9922b
rearrange some code, no functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59381 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 03:56:24 +00:00
Chris Lattner
7d3b4e92ab
if we're going to use a macro, use it maximally. no functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59380 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-16 03:54:57 +00:00
Oscar Fuentes
7f6f21ebae
CMake: Forces linking of the rest of architecture targets and its
...
respective asm printers on MSVC.
Based on a patch by Scott Graham.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59379 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 22:51:03 +00:00
Oscar Fuentes
92adc19be9
Adds extern "C" ints to the .cpp files that use RegisterTarget, as
...
well as 2 files that use "Registrator"s. These are to be used by the
MSVC builds, as the Win32 linker does not include libs that are
otherwise unreferenced, even if global constructors in the lib have
side-effects.
Patch by Scott Graham!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59378 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 21:36:30 +00:00
Oscar Fuentes
232ed2d373
CMake: Removed some cruft.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59376 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 20:51:18 +00:00
Oscar Fuentes
2c688da09e
CMake: Recursively invokes cmake using the right directories.
...
LLVM_MAIN_SRC_DIR and LLVM_BINARY_DIR are not the cmake top level
directories when LLVM is embedded on the build of other project.
Fixes PR #3072 .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59374 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 20:35:25 +00:00
Nick Lewycky
ac44d25bdd
Clean up some strange whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59373 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 20:32:33 +00:00
Nick Lewycky
70c44f0cce
Correct this error message.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59370 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 17:50:47 +00:00
Zhongxing Xu
2ef5d4cd6a
Add Profile method to ImmutableList.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59362 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 09:26:02 +00:00
Duncan Sands
c529168f29
When splitting a SHUFFLE_VECTOR, try to have the result
...
use SHUFFLE_VECTOR instead. If not practical, fall back
to the old scheme of building the split result by hand
using a BUILD_VECTOR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59361 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 09:25:38 +00:00
Mon P Wang
49292f1651
Add missing widen operations, fixed widening for extracting a subvector,
...
and when loading/storing a widen vector, make sure that they are loaded
and stored in consecutive order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59357 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 06:05:52 +00:00
Oscar Fuentes
50925fbed4
CMake: Adds header and TableGen files to Visual Studio solution. A new
...
dummy library, `llvm_headers_do_not_build', is created for containing
all header and TableGen files under include/llvm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59346 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 02:08:08 +00:00
Evan Cheng
7e2cc91d2d
Fix fuitos encoding.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59344 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 00:40:57 +00:00
Oscar Fuentes
422fcf3837
CMake: Moved generation of Intrinsics.gen to
...
include/llvm/CMakeLists.txt. Does it with the `tablegen' cmake macro.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59342 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 00:24:38 +00:00
Dan Gohman
14ad6fce43
Correct a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59341 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 00:24:23 +00:00
Dan Gohman
ade9f18934
Move ScheduleDAGList's LatencyPriorityQueue class out to a separate file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59340 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 00:23:40 +00:00
Oscar Fuentes
2833f59cad
CMake: Remove unused tablegenning code from tools/llvmc2/driver.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59333 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14 23:59:50 +00:00
Devang Patel
229de95eab
Refactor code.
...
Strip debug information before stripping symbol names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59328 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14 22:49:37 +00:00
Oscar Fuentes
cccecb8ea2
CMake: Use LLVM_MAIN_SRC_DIR instead of CMAKE_SOURCE_DIR, for
...
consistency.
Patch by Kevin Andre!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59326 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14 22:21:02 +00:00