Eli Friedman
baf7e04afa
Fix comment.
...
llvm-svn: 75499
2009-07-13 20:58:59 +00:00
Owen Anderson
1e5155161a
Move more functionality over to LLVMContext.
...
llvm-svn: 75497
2009-07-13 20:58:05 +00:00
Dan Gohman
1a780ad8db
Move the memoization check for SCEVSignExtendExpr and
...
SCEVZeroExtendExpr ahead of the most expensive analysis. This
speeds up analysis and helps avoid pathologically bad behavior
on the testcase in PR4534.
llvm-svn: 75496
2009-07-13 20:55:53 +00:00
Eli Friedman
832f33550c
Don't bother to call commonIntCastTransforms for bitcasts; int->int
...
bitcasts will always be eliminated anyway.
llvm-svn: 75495
2009-07-13 20:53:00 +00:00
Dan Gohman
bf3719359b
Convert SCEV from FoldingSetNode to FastFoldingSetNode. This eliminates
...
a bunch of redundent code in Profile methods, and prepares for upcoming
changes to do improved memoization.
llvm-svn: 75494
2009-07-13 20:50:19 +00:00
Dan Gohman
19222a6572
Delete a spurious const.
...
llvm-svn: 75493
2009-07-13 20:46:11 +00:00
Bill Wendling
d7ca276d9f
Reverted r75484. It was causing a failure with Apple-style builds.
...
llvm-svn: 75491
2009-07-13 20:27:41 +00:00
David Greene
814f6a648f
Add infrastructure to allow post instruction printing action triggers.
...
We'll eventually use this to print comments in asm files and do other
fun things.
This adds interfaces to the AsmPrinter and changes TableGen to invoke
the postInstructionAction when appropriate. It also add parameters to
TargetAsmInfo to control comment layout.
llvm-svn: 75490
2009-07-13 20:25:48 +00:00
Chris Lattner
adc834d034
Add NetBSD to the Triple class, patch by Krister Walfridsson!
...
llvm-svn: 75489
2009-07-13 20:22:23 +00:00
Bill Wendling
1f26277c9b
More standard way of specifying greater than Leopard.
...
llvm-svn: 75488
2009-07-13 20:18:43 +00:00
Bill Wendling
4ef26e9b22
On greater than Leopard systems, place exception tables in the __TEXT section.
...
llvm-svn: 75484
2009-07-13 18:48:39 +00:00
Daniel Dunbar
d86bb86bd3
Makefile rules for generating assembly matcher.
...
- Unused, fear not cmakers.
llvm-svn: 75483
2009-07-13 18:35:35 +00:00
Dan Gohman
21f79b4239
Change printInstruction to not print a trailing newline. Value::dump
...
always adds a newline, so this fixes Value::dump printing an
extra blank line.
llvm-svn: 75481
2009-07-13 18:27:59 +00:00
Dan Gohman
9a19e608d4
Add an optional optimization to FoldingSet to allow ID values to be
...
stored rather than recomputed on each bucket traversal.
llvm-svn: 75480
2009-07-13 18:25:44 +00:00
Bob Wilson
e0478ff8e5
Fix comment typos.
...
llvm-svn: 75479
2009-07-13 18:11:36 +00:00
Chris Lattner
11cf698cf7
factor the 'optimized sort' code out into a static helper function
...
and use it from one more place. Patch by Jakub Staszak!
llvm-svn: 75478
2009-07-13 17:20:05 +00:00
Chris Lattner
b4bd955891
Move the re-sort of invalidated NonLocalPointerDeps cache earlier
...
so that all code paths get it. PR4256 was about a case where the
phi translation loop would find all preds in the Visited cache, so
it could get by without re-sorting the NonLocalPointerDeps cache.
Fix this by resorting it earlier, there is no reason not to do this.
This patch inspired by Jakub Staszak's patch.
llvm-svn: 75476
2009-07-13 17:14:23 +00:00
David Greene
0dbe5b0a97
Make some more changes suggested by Chris. Manipulators go away.
...
llvm-svn: 75472
2009-07-13 16:49:27 +00:00
Sanjiv Gupta
afb0db5554
Added a fixme for platform specific GetDirSeparator().
...
llvm-svn: 75461
2009-07-13 10:58:55 +00:00
Sanjiv Gupta
2a0e3440ff
allow mcc16 users to specify --save-temps even though it is hidden by mcc16.
...
link libstd.so with llvm-ld by default with all the programs user is trying to build.
llvm-svn: 75460
2009-07-13 10:56:29 +00:00
Daniel Dunbar
060ce73124
Match declaration to definition (missed a few).
...
llvm-svn: 75456
2009-07-13 06:04:06 +00:00
Daniel Dunbar
cf2cfb50d3
Match declaration to definition.
...
llvm-svn: 75454
2009-07-13 06:00:13 +00:00
Nick Lewycky
673f3dbbd7
Fix build on Linux.
...
llvm-svn: 75453
2009-07-13 05:49:04 +00:00
Daniel Dunbar
fdc557472e
Fix some non-sensical code.
...
- This makes it more like other similar code in Archive handling.
llvm-svn: 75452
2009-07-13 05:29:34 +00:00
Daniel Dunbar
8338833066
Switch to raw_ostream.
...
llvm-svn: 75451
2009-07-13 05:27:30 +00:00
Lang Hames
c1b01a178f
Removed some junk code that snuck in to an earlier commit.
...
llvm-svn: 75450
2009-07-13 05:01:19 +00:00
Nick Lewycky
0cc1d245c4
Fix an error in ConstantRange::getSignedMax on wrapped ranges. Thanks once
...
again to Daniel Dunbar and KLEE!
llvm-svn: 75449
2009-07-13 04:50:21 +00:00
Nick Lewycky
41a9bdab7b
'i8 full-range' sign extended to i16 should equal [-128, 128) not [-128, 127).
...
Found by Daniel Dunbar and KLEE.
llvm-svn: 75448
2009-07-13 04:17:23 +00:00
Owen Anderson
393d8b0a0c
Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp.
...
This involves temporarily hard wiring some parts to use the global context. This isn't ideal, but it's
the only way I could figure out to make this process vaguely incremental.
llvm-svn: 75445
2009-07-13 04:09:18 +00:00
Nick Lewycky
fee90bcb80
Multiply was very wrong for wrapped ranges. This supplies a half-fix that will
...
generally return Full on all wrapped inputs. "Fixes" PR4545.
llvm-svn: 75444
2009-07-13 03:27:41 +00:00
Nick Lewycky
7280c39dc7
Fix a bug summing two full sets. The overflow checking doesn't handle sets as
...
large as the full set, only those one size smaller. Thanks to Daniel Dunbar
who found this bug using Klee!
llvm-svn: 75443
2009-07-13 02:49:08 +00:00
Daniel Dunbar
c6592df02d
Match declaration to definition.
...
llvm-svn: 75440
2009-07-12 23:50:34 +00:00
Daniel Dunbar
e79e475000
Match declaration to definition.
...
llvm-svn: 75438
2009-07-12 22:46:08 +00:00
Chris Lattner
b8dac327a7
remove tests for removed intrinsics.
...
llvm-svn: 75433
2009-07-12 21:30:06 +00:00
Chris Lattner
d3eba0efb8
remove llvm.part.set.* and llvm.part.select.*. They have never been
...
implemented in codegen, have no frontend to generate them, and are
better implemented with pattern matching (like the ppc backend does
to generate rlwimi/rlwinm etc).
PR4543
llvm-svn: 75430
2009-07-12 21:08:53 +00:00
Daniel Dunbar
4aa12d4330
Use llvm_report_error, not llvm_unreachable.
...
llvm-svn: 75429
2009-07-12 21:01:49 +00:00
Torok Edwin
d2f2458584
Mention that llvm_report_error() does not return.
...
llvm-svn: 75428
2009-07-12 21:01:44 +00:00
Daniel Dunbar
b9b0e0fc3d
Add an LLVM API change.
...
llvm-svn: 75426
2009-07-12 20:41:27 +00:00
Daniel Dunbar
995f9a8a15
Improve sys::Path::makeAbsolute on Win32.
...
- Patch by Viktor Kutuzov!
- Minor tweak by me to add llvm_unreachable calls on FIXMEd error paths.
llvm-svn: 75424
2009-07-12 20:23:56 +00:00
Torok Edwin
67153904ec
Fix assert(0) conversion, as suggested by Chris.
...
llvm-svn: 75423
2009-07-12 20:07:01 +00:00
Daniel Dunbar
29416147f7
Clarify a FIXME.
...
llvm-svn: 75422
2009-07-12 19:45:34 +00:00
Chris Lattner
cf99e77cc3
"UNIX paths can contain non-ASCII characters, so Path::isValid() should not reject paths with such characters in them. The attached patch removes the check from Path::isValid()."
...
patch by Benjamin Kramer!
llvm-svn: 75421
2009-07-12 19:01:16 +00:00
Jakob Stoklund Olesen
8511b1d5ad
Implement support for promotion of AND/OR/XOR on integer types.
...
The blackfin processor has a legal i16 type, but only logic operations on i32.
llvm-svn: 75419
2009-07-12 18:10:18 +00:00
Jakob Stoklund Olesen
2792392244
Fix types in PromoteNode handling of CTPOP and friends.
...
llvm-svn: 75418
2009-07-12 17:43:20 +00:00
Jakob Stoklund Olesen
3f85980927
Add CCIfSRet calling convention predicate.
...
The blackfin calling convention uses a different register for sret arguments.
llvm-svn: 75417
2009-07-12 13:15:50 +00:00
Torok Edwin
62902fd6c8
Remove extra \n from LLVM_UNREACHABLE calls.
...
llvm-svn: 75416
2009-07-12 07:15:17 +00:00
Nick Lewycky
31db02e0ba
Make this clearer for the mathematically inclined. Thanks to Duncan Sands for
...
going over the text!
llvm-svn: 75414
2009-07-12 05:44:08 +00:00
Nick Lewycky
dc5ef94320
Implement udiv for ConstantRanges.
...
llvm-svn: 75413
2009-07-12 05:18:18 +00:00
Bill Wendling
dcf4c8e237
Temporarily revert r75408. It appears to break the Apple-style builds:
...
x86_64-apple-darwin10-gcc -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wmissing-format-attribute -mdynamic-no-pic -DHAVE_CONFIG_H -I. -I. -I/Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmgcc42.roots/llvmgcc42~obj/src/gcc -I/Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmgcc42.roots/llvmgcc42~obj/src/gcc/. -I/Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmgcc42.roots/llvmgcc42~obj/src/gcc/../include -I./../intl -I/Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmgcc42.roots/llvmgcc42~obj/src/gcc/../libcpp/include -I/Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmgcc42.roots/llvmgcc42~obj/src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmCore.roots/llvmCore~dst/Developer/usr/local/include -I/Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmCore.roots/llvmCore~obj/src/include -DENABLE_LLVM -I/Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmCore.roots/llvmCore~dst/Developer/usr/local/include -D_DEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DLLVM_VERSION_INFO='"9999"' -DBUILD_LLVM_APPLE_STYLE /Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmgcc42.roots/llvmgcc42~obj/src/gcc/tree-ssa-alias.c -o tree-ssa-alias.o
/var/tmp//ccJQ2JBT.s:4134:Incorrect register `%rcx' used with `l' suffix
make[2]: *** [tree-ssa-live.o] Error 1
make[2]: *** Waiting for unfinished jobs....
llvm-svn: 75412
2009-07-12 02:49:22 +00:00
Nick Lewycky
7cb010e885
This is not overly conservative.
...
Some = [10, 2730). A subset of that is [1024..2048) which covers every possible
10-bit pattern.
llvm-svn: 75411
2009-07-12 02:28:40 +00:00