Chris Lattner
c487057a1e
factor the code for simplifying (icmp)|(icmp) into its own function.
...
llvm-svn: 59402
2008-11-16 05:20:07 +00:00
Chris Lattner
6b5b2c3606
do some computation with apints instead of ConstantInts.
...
llvm-svn: 59401
2008-11-16 05:14:43 +00:00
Chris Lattner
f47d16afe3
merge a check into a place where it is simpler.
...
llvm-svn: 59400
2008-11-16 05:10:52 +00:00
Mon P Wang
b6661b480b
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.
llvm-svn: 59399
2008-11-16 05:06:27 +00:00
Chris Lattner
3b058783bc
factor a whole bunch of code out into a helper function.
...
llvm-svn: 59398
2008-11-16 05:06:21 +00:00
Chris Lattner
f9dd858359
simplify the conditions on two gigantic if's, decreasing indentation
...
a bit. Next step is to factor out into their own helper functions.
llvm-svn: 59397
2008-11-16 04:55:20 +00:00
Chris Lattner
762c52d684
simplify some instcombine matches by using m_Specific
...
llvm-svn: 59395
2008-11-16 04:46:19 +00:00
Zhongxing Xu
fb7e7e8158
Fix 80-col violation.
...
llvm-svn: 59394
2008-11-16 04:44:41 +00:00
Chris Lattner
047dc0a77a
add a new m_Specific pattern that matches only if we have a specific Value*.
...
llvm-svn: 59393
2008-11-16 04:38:30 +00:00
Chris Lattner
a5aee38775
Use new m_SelectCst template to eliminate macros.
...
llvm-svn: 59392
2008-11-16 04:33:38 +00:00
Chris Lattner
f612178d64
add a new template for matching a select between two constants.
...
llvm-svn: 59391
2008-11-16 04:33:10 +00:00
Chris Lattner
cba75c1b7b
simplify code.
...
llvm-svn: 59390
2008-11-16 04:26:55 +00:00
Chris Lattner
21f18c9760
Handle the case where there is no "not". It is possible it got
...
folded into the select.
llvm-svn: 59389
2008-11-16 04:25:26 +00:00
Chris Lattner
6afddeeed1
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.
llvm-svn: 59388
2008-11-16 04:24:12 +00:00
Zhongxing Xu
cfe0df8609
Add partial specialization of FoldingSetTrait for ImmutableList.
...
llvm-svn: 59387
2008-11-16 04:23:49 +00:00
Chris Lattner
4f8153d48f
make this actually test what it is trying to.
...
llvm-svn: 59386
2008-11-16 04:21:51 +00:00
Zhongxing Xu
b62b5ce749
Fix 80-column violation.
...
llvm-svn: 59385
2008-11-16 04:14:33 +00:00
Nick Lewycky
1cddd8346f
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.
llvm-svn: 59384
2008-11-16 04:14:25 +00:00
Oscar Fuentes
0b07355baa
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.
llvm-svn: 59383
2008-11-16 04:13:19 +00:00
Chris Lattner
9dd963a73a
rearrange some code, no functionality change.
...
llvm-svn: 59381
2008-11-16 03:56:24 +00:00
Chris Lattner
0c0c68bab4
if we're going to use a macro, use it maximally. no functionality change.
...
llvm-svn: 59380
2008-11-16 03:54:57 +00:00
Oscar Fuentes
9e15bc331b
CMake: Forces linking of the rest of architecture targets and its
...
respective asm printers on MSVC.
Based on a patch by Scott Graham.
llvm-svn: 59379
2008-11-15 22:51:03 +00:00
Oscar Fuentes
42942c0bc5
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!
llvm-svn: 59378
2008-11-15 21:36:30 +00:00
Oscar Fuentes
bc0f4b6c9a
CMake: Removed some cruft.
...
llvm-svn: 59376
2008-11-15 20:51:18 +00:00
Oscar Fuentes
d7820a0c15
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 .
llvm-svn: 59374
2008-11-15 20:35:25 +00:00
Nick Lewycky
3889c7ebf0
Clean up some strange whitespace.
...
llvm-svn: 59373
2008-11-15 20:32:33 +00:00
Nick Lewycky
75d57a3bc3
Correct this error message.
...
llvm-svn: 59370
2008-11-15 17:50:47 +00:00
Zhongxing Xu
bce4760ed8
Add Profile method to ImmutableList.
...
llvm-svn: 59362
2008-11-15 09:26:02 +00:00
Duncan Sands
52ce276405
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.
llvm-svn: 59361
2008-11-15 09:25:38 +00:00
Mon P Wang
4421962b9b
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.
llvm-svn: 59357
2008-11-15 06:05:52 +00:00
Oscar Fuentes
9abd2759a2
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.
llvm-svn: 59346
2008-11-15 02:08:08 +00:00
Evan Cheng
7ac8120105
Fix fuitos encoding.
...
llvm-svn: 59344
2008-11-15 00:40:57 +00:00
Oscar Fuentes
a7630d40c0
CMake: Moved generation of Intrinsics.gen to
...
include/llvm/CMakeLists.txt. Does it with the `tablegen' cmake macro.
llvm-svn: 59342
2008-11-15 00:24:38 +00:00
Dan Gohman
95967fc7b7
Correct a comment.
...
llvm-svn: 59341
2008-11-15 00:24:23 +00:00
Dan Gohman
b4151fd731
Move ScheduleDAGList's LatencyPriorityQueue class out to a separate file.
...
llvm-svn: 59340
2008-11-15 00:23:40 +00:00
Oscar Fuentes
c036da8d8e
CMake: Remove unused tablegenning code from tools/llvmc2/driver.
...
llvm-svn: 59333
2008-11-14 23:59:50 +00:00
Devang Patel
86c9f12e47
Refactor code.
...
Strip debug information before stripping symbol names.
llvm-svn: 59328
2008-11-14 22:49:37 +00:00
Oscar Fuentes
2d0e56a05a
CMake: Use LLVM_MAIN_SRC_DIR instead of CMAKE_SOURCE_DIR, for
...
consistency.
Patch by Kevin Andre!
llvm-svn: 59326
2008-11-14 22:21:02 +00:00
Oscar Fuentes
fab3ce2295
CMake: Fixed dependencies of .cpp source files on .td and tablegenned
...
files.
llvm-svn: 59325
2008-11-14 22:06:14 +00:00
Dan Gohman
521cee6a9c
Add support for building a ScheduleDAG from MachineInstrs. This is currently
...
fairly conservative; it doesn't do alias-analysis queries and it doesn't
attempt to break anti-dependencies.
llvm-svn: 59324
2008-11-14 21:47:58 +00:00
Evan Cheng
626e85dfc2
Fix MOVrx, MOVsrl_flag, and MOVsra_flag encodings.
...
llvm-svn: 59314
2008-11-14 20:09:11 +00:00
Dale Johannesen
29e1b2e9fd
Remove unneeded stuff from GRAD register class.
...
llvm-svn: 59311
2008-11-14 18:10:48 +00:00
Richard Osborne
e30cb5908e
[XCore] Remove whitespace in the description used when
...
registering XCoreTargetMachine.
llvm-svn: 59308
2008-11-14 16:19:56 +00:00
Richard Osborne
c2b2d5e6cf
[XCore] Fix expansion of 64 bit add/sub. Don't custom expand
...
these operations if ladd/lsub are not available on the current
subtarget.
llvm-svn: 59305
2008-11-14 15:59:19 +00:00
Richard Osborne
8f86bb4d20
Add XCore intrinsics for getid (returns thread id) and bitrev (reverses
...
bits in a word).
llvm-svn: 59296
2008-11-14 10:12:16 +00:00
Lang Hames
ed5d29fea5
Test commit.
...
llvm-svn: 59293
2008-11-14 06:51:35 +00:00
Oscar Fuentes
e7f0c69eeb
CMake: Disallow in-source builds except when building with the Visual
...
Studio IDE. CMake would overwrite the makefiles distributed with LLVM.
llvm-svn: 59292
2008-11-14 03:43:18 +00:00
Evan Cheng
c6f581034a
ARM / Mac OS X also wants to invalidate icache after jitting.
...
llvm-svn: 59291
2008-11-14 02:33:17 +00:00
Dan Gohman
3abe79e3e9
Add a version of NewSUnit for creating units with MachineInstrs.
...
llvm-svn: 59282
2008-11-14 00:41:36 +00:00
Dan Gohman
bab393fdff
For post-regalloc scheduling, remove the instructions from the block
...
before re-inserting them.
llvm-svn: 59281
2008-11-14 00:33:17 +00:00