Daniel Dunbar
4f57d77e40
NewNightlyTest.pl - Add -noremoveatend option.
...
- Like -noremove, except the build directory is still purged prior to building
but isn't removed at the end of the test run (so the build products can be
examined if need be).
llvm-svn: 75527
2009-07-13 22:17:49 +00:00
Chris Lattner
f8542ba3a9
eliminate a bunch of code in print_pcrel_imm for printing symbols, using
...
printSymbolOperand instead.
llvm-svn: 75526
2009-07-13 22:07:30 +00:00
Dan Gohman
fc7699405c
Whitespace cleanups.
...
llvm-svn: 75525
2009-07-13 22:05:32 +00:00
Dan Gohman
e6b4babcbb
Fix an 80-column violation.
...
llvm-svn: 75524
2009-07-13 22:04:06 +00:00
Dan Gohman
80a9942593
Move isLCSSAForm, isLoopInvariant, getCanonicalInductionVariable,
...
and related functions out of LoopBase and into Loop, since they
are specific to BasicBlock-based loops. This also allows the code
to be moved out-of-line.
llvm-svn: 75523
2009-07-13 22:02:44 +00:00
Oscar Fuentes
304396a8c3
CMake: Refuses to work for out-of-source builds when tablegenned files
...
are found mixed with the sources. Fixes PR 4522.
llvm-svn: 75522
2009-07-13 21:58:44 +00:00
Chris Lattner
40091b8cef
move a method and add a comment, no functionality change.
...
llvm-svn: 75520
2009-07-13 21:53:19 +00:00
Dan Gohman
cc85ae132c
Make Loop and MachineLoop be subclasses of LoopBase, rather than typedefs,
...
using the Curiously Recurring Template Pattern with LoopBase.
This will help further refactoring, and future functionality for
Loop. Also, Headers can now foward-declare Loop, instead of pulling
in LoopInfo.h or doing tricks.
llvm-svn: 75519
2009-07-13 21:51:15 +00:00
Chris Lattner
a479bf1afa
refactor operand printing to remove hte last of the "mem" modifier hack. The
...
only remaining modifier is "subreg".
llvm-svn: 75516
2009-07-13 21:48:33 +00:00
Devang Patel
9d582d1782
Use AsmPrinter's Mangler to remove leading '1' from linkage names.
...
llvm-svn: 75515
2009-07-13 21:48:26 +00:00
Eli Friedman
42170b0a9e
Misc simplifications to InstCombiner::commonIntCastTransforms. Most of
...
the changes are allowed by not calling this function for bitcasts.
The Instruction::AShr case is dead because
SimplifyDemandedInstructionBits handles that case.
llvm-svn: 75514
2009-07-13 21:45:57 +00:00
David Goodwin
160521095b
Fix FP elimination code to work for Thumb-2 addrmode AddrModeT2_so. This fixes SingleSource/Benchmarks/Stanford/Queens (among others).
...
llvm-svn: 75513
2009-07-13 21:43:08 +00:00
Chris Lattner
bf25a209dc
refactor symbol printing so the whole "mem" thing is handled in fewer places.
...
llvm-svn: 75512
2009-07-13 21:41:08 +00:00
Dan Gohman
e65c917ecf
Reapply 75252, with a fix to avoid the infinite recursion case. The
...
check for avoiding re-analyzing a widening cast needed to happen
earlier, as getSCEV itself may result in a isLoopGuardedByCond query.
llvm-svn: 75511
2009-07-13 21:35:55 +00:00
Oscar Fuentes
cb234fec50
CMake: tablegen: Add .td files under the inlude/llvm directory
...
hierarchy to the list of dependencies.
llvm-svn: 75510
2009-07-13 21:35:00 +00:00
Owen Anderson
e4dcecd006
As Chris pointed out, this doesn't actually need an LLVMContext to operate.
...
llvm-svn: 75508
2009-07-13 21:27:19 +00:00
Devang Patel
b4c9579e69
revert rev. 75503 for now.
...
llvm-svn: 75507
2009-07-13 21:26:33 +00:00
Devang Patel
31b3d7b53f
Use Mangler to remove leading '1' from linkage names.
...
llvm-svn: 75503
2009-07-13 21:19:56 +00:00
Kevin Enderby
c9d93ef2c6
add llvm-mc support for parsing the .subsections_via_symbols directive.
...
llvm-svn: 75500
2009-07-13 21:03:15 +00:00
Eli Friedman
7f3a529ae9
Fix comment.
...
llvm-svn: 75499
2009-07-13 20:58:59 +00:00
Owen Anderson
542619e6d5
Move more functionality over to LLVMContext.
...
llvm-svn: 75497
2009-07-13 20:58:05 +00:00
Dan Gohman
74a0ba15d3
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
f13aa44d4f
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
3a302cbb08
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
ce93e419c0
Delete a spurious const.
...
llvm-svn: 75493
2009-07-13 20:46:11 +00:00
Bill Wendling
e3ac197457
Reverted r75484. It was causing a failure with Apple-style builds.
...
llvm-svn: 75491
2009-07-13 20:27:41 +00:00
David Greene
de54478bf0
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
01218d5b17
Add NetBSD to the Triple class, patch by Krister Walfridsson!
...
llvm-svn: 75489
2009-07-13 20:22:23 +00:00
Bill Wendling
1b7661e588
More standard way of specifying greater than Leopard.
...
llvm-svn: 75488
2009-07-13 20:18:43 +00:00
Bill Wendling
0a860df8ef
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
2841ea4749
Makefile rules for generating assembly matcher.
...
- Unused, fear not cmakers.
llvm-svn: 75483
2009-07-13 18:35:35 +00:00
Dan Gohman
a4f709ee5a
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
b3c1afc14b
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
844d6c82a7
Fix comment typos.
...
llvm-svn: 75479
2009-07-13 18:11:36 +00:00
Chris Lattner
370aadabfc
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
2f0c1c44d5
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
20f6ac0738
Make some more changes suggested by Chris. Manipulators go away.
...
llvm-svn: 75472
2009-07-13 16:49:27 +00:00
Sanjiv Gupta
63bdb56274
Added a fixme for platform specific GetDirSeparator().
...
llvm-svn: 75461
2009-07-13 10:58:55 +00:00
Sanjiv Gupta
ed5db9dd30
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
3a86fe943c
Match declaration to definition (missed a few).
...
llvm-svn: 75456
2009-07-13 06:04:06 +00:00
Daniel Dunbar
334f808562
Match declaration to definition.
...
llvm-svn: 75454
2009-07-13 06:00:13 +00:00
Nick Lewycky
c07adb7b0b
Fix build on Linux.
...
llvm-svn: 75453
2009-07-13 05:49:04 +00:00
Daniel Dunbar
78be93acb3
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
763ace92c0
Switch to raw_ostream.
...
llvm-svn: 75451
2009-07-13 05:27:30 +00:00
Lang Hames
43edca25b3
Removed some junk code that snuck in to an earlier commit.
...
llvm-svn: 75450
2009-07-13 05:01:19 +00:00
Nick Lewycky
571bf54569
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
5edc459220
'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
53a52215b5
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
5302389442
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
73b704dd9c
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
65553d4505
Match declaration to definition.
...
llvm-svn: 75440
2009-07-12 23:50:34 +00:00
Daniel Dunbar
61d1a7230a
Match declaration to definition.
...
llvm-svn: 75438
2009-07-12 22:46:08 +00:00
Chris Lattner
92ce8381f5
remove tests for removed intrinsics.
...
llvm-svn: 75433
2009-07-12 21:30:06 +00:00
Chris Lattner
7b9d6ebb9c
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
5e2ebcba40
Use llvm_report_error, not llvm_unreachable.
...
llvm-svn: 75429
2009-07-12 21:01:49 +00:00
Torok Edwin
9de79f7e90
Mention that llvm_report_error() does not return.
...
llvm-svn: 75428
2009-07-12 21:01:44 +00:00
Daniel Dunbar
97880ae12a
Add an LLVM API change.
...
llvm-svn: 75426
2009-07-12 20:41:27 +00:00
Daniel Dunbar
df555fd6f8
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
08954aa4e1
Fix assert(0) conversion, as suggested by Chris.
...
llvm-svn: 75423
2009-07-12 20:07:01 +00:00
Daniel Dunbar
6d6023b5f7
Clarify a FIXME.
...
llvm-svn: 75422
2009-07-12 19:45:34 +00:00
Chris Lattner
a3c69aeb65
"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
ed0e1a0552
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
6b9f63cafa
Fix types in PromoteNode handling of CTPOP and friends.
...
llvm-svn: 75418
2009-07-12 17:43:20 +00:00
Jakob Stoklund Olesen
db953aacc7
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
69208f0f9e
Remove extra \n from LLVM_UNREACHABLE calls.
...
llvm-svn: 75416
2009-07-12 07:15:17 +00:00
Nick Lewycky
ba7ec324b1
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
f1b8cb3760
Implement udiv for ConstantRanges.
...
llvm-svn: 75413
2009-07-12 05:18:18 +00:00
Bill Wendling
5b76fc03ae
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
071e176667
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
Nick Lewycky
2951c990cd
Implement ConstantRange::multiply based on the code in LoopVR.
...
llvm-svn: 75410
2009-07-12 02:19:05 +00:00
Eli Friedman
575db66e1b
Remove check which is duplicated in
...
InstCombiner::visitSelectInstWithICmp.
llvm-svn: 75409
2009-07-12 02:00:05 +00:00
Chris Lattner
02c4339bde
eliminate MOV64r0 in favor of a Pat<> pattern. This is only nontrivial because
...
the div lowering code explicitly references it.
llvm-svn: 75408
2009-07-12 00:47:55 +00:00
Chris Lattner
f39f55d46c
add nounwind
...
llvm-svn: 75407
2009-07-12 00:46:16 +00:00
Chris Lattner
bbe228ba10
be explicit about making comments real sentences.
...
llvm-svn: 75406
2009-07-12 00:10:24 +00:00
Nick Lewycky
d57fb023e0
Darwin prepends an _ to internal globals, Linux doesn't.
...
llvm-svn: 75405
2009-07-11 23:48:59 +00:00
Chris Lattner
38df005e12
fix x86-64 static codegen to materialize the address of a global with movl instead
...
of lea. It is better for code size (and presumably efficiency) to use:
movl $foo, %eax
rather than:
leal foo, eax
Both give a nice zero extending "move immediate" instruction, the former is just
smaller. Note that global addresses should be handled different by the x86
backend, but I chose to follow the style already in place and add more fixme's.
llvm-svn: 75403
2009-07-11 23:17:29 +00:00
Chris Lattner
48cee9b4c1
fix a bug in my cleanup patch
...
llvm-svn: 75402
2009-07-11 23:07:30 +00:00
Chris Lattner
4d10f1a6c9
comment cleanup, reduce nesting.
...
llvm-svn: 75398
2009-07-11 22:50:33 +00:00
Chris Lattner
24f6ad5ae4
remove some dead patterns, WrapperRIP doesn't exist in -static mode
...
anymore, so these aren't needed.
llvm-svn: 75397
2009-07-11 22:47:21 +00:00
Chris Lattner
a797d376de
silence vc++ warning.
...
llvm-svn: 75394
2009-07-11 22:32:37 +00:00
Chris Lattner
2f67295aac
silence a vc++ warning.
...
llvm-svn: 75393
2009-07-11 22:31:59 +00:00
Chris Lattner
056dfc6f90
this test was incorrect for x86-64 static. It passed on darwin, because darwin
...
doesn't have static x86-64 mode.
llvm-svn: 75392
2009-07-11 22:30:05 +00:00
Daniel Dunbar
8bda49a827
Tweak comment.
...
llvm-svn: 75391
2009-07-11 22:06:10 +00:00
Daniel Dunbar
d66cc5c781
Update CMakeLists.txt
...
llvm-svn: 75389
2009-07-11 21:53:14 +00:00
Daniel Dunbar
9dc326fbaa
Fix unused function warning.
...
llvm-svn: 75386
2009-07-11 21:24:52 +00:00
Nick Lewycky
c0bf46b226
Revert r75252 which was causing some crashes at compile time.
...
llvm-svn: 75384
2009-07-11 20:38:25 +00:00
Chris Lattner
e91900097e
Fix PR4533, which is about buggy codegen in x86-64 -static mode.
...
Basically, using:
lea symbol(%rip), %rax
is not valid in -static mode, because the current RIP may not be
within 32-bits of "symbol" when an app is built partially pic and
partially static. The fix for this is to compile it to:
lea symbol, %rax
It would be better to codegen this as:
movq $symbol, %rax
but that will come next.
The hard part of fixing this bug was fixing abi-isel, which was actively
testing for the wrong behavior. Also, the RUN lines are completely impossible
to understand what they are testing. To help with this, convert the -static
x86-64 codegen tests to use filecheck. This is much more stable and makes it
more clear what the codegen is expected to be.
llvm-svn: 75382
2009-07-11 20:29:19 +00:00
Torok Edwin
4eb1ad2086
Fix comment.
...
llvm-svn: 75380
2009-07-11 20:13:58 +00:00
Torok Edwin
56d0659726
assert(0) -> LLVM_UNREACHABLE.
...
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.
llvm-svn: 75379
2009-07-11 20:10:48 +00:00
Daniel Dunbar
3085b57bb8
Stub out assembly matcher (.s -> MCInst) tblgen backend.
...
llvm-svn: 75378
2009-07-11 19:39:44 +00:00
Mikhail Glushenkov
0decbb2ad0
Regenerate.
...
llvm-svn: 75376
2009-07-11 19:28:00 +00:00
Mikhail Glushenkov
bee767fa26
Update documentation.
...
llvm-svn: 75375
2009-07-11 19:27:40 +00:00
Mikhail Glushenkov
3c9e8d3b1f
Delete the temp dir even when '--temp-dir' is specified.
...
llvm-svn: 75374
2009-07-11 19:27:07 +00:00
Nick Lewycky
fc69ee2cc6
Fix handling of max and full set.
...
A full set is a constant range that represents any number. If you take the
umax of that and [5, 10) you end up with [5, INT_MAX] because the values less
than 5 would be umax's against a value which is at least 5.
llvm-svn: 75372
2009-07-11 19:22:21 +00:00
Chris Lattner
0029c0e57a
improve filecheck's "scanning from here" caret position.
...
llvm-svn: 75371
2009-07-11 19:21:09 +00:00
Chris Lattner
2c3e5cdf3d
make filecheck default to canonicalizing horizontal whitespace
...
away. This way you can write a space and it matches arbitrary spaces and tabs.
llvm-svn: 75370
2009-07-11 18:58:15 +00:00
Nick Lewycky
17a4fa84ee
Break the world's largest unit test down a few logical lines. No semantic
...
changes.
llvm-svn: 75369
2009-07-11 18:43:20 +00:00
Sanjiv Gupta
594006524b
Erase the temp dir before starting.
...
llvm-svn: 75367
2009-07-11 17:35:46 +00:00
Nick Lewycky
9c5fc41547
Clarify and simplify.
...
llvm-svn: 75366
2009-07-11 17:04:01 +00:00
Dan Gohman
a32ee1d3f2
Don't use a void return type with a function that returns a value.
...
llvm-svn: 75364
2009-07-11 13:56:14 +00:00
Torok Edwin
ccb29cd290
Convert more assert(0)+abort() -> LLVM_UNREACHABLE,
...
and abort()/exit() -> llvm_report_error().
llvm-svn: 75363
2009-07-11 13:10:19 +00:00
Chris Lattner
20adc670b2
We get the P modifier wrong in a lot of cases, just add some more rigorous testing.
...
In addition to fixing this, I still need to do some more testing on darwin.
llvm-svn: 75362
2009-07-11 08:30:22 +00:00
Evan Cheng
017288a4fc
Don't put IT instruction before conditional branches.
...
llvm-svn: 75361
2009-07-11 07:26:20 +00:00
Evan Cheng
0794c6a083
Smarter isel of ldrsb / ldrsh. Only make use of these when [r,r] address is feasible.
...
llvm-svn: 75360
2009-07-11 07:08:13 +00:00
Evan Cheng
cd4cdd1157
Major changes to Thumb (not Thumb2). Many 16-bit instructions either modifies CPSR when they are outside the IT blocks, or they can predicated when in Thumb2. Move the implicit def of CPSR to an optional def which defaults CPSR. This allows the 's' bit to be toggled dynamically.
...
A side-effect of this change is asm printer is now using unified assembly. There are some minor clean ups and fixes as well.
llvm-svn: 75359
2009-07-11 06:43:01 +00:00
Evan Cheng
bf041366c4
80 col violation.
...
llvm-svn: 75358
2009-07-11 06:37:27 +00:00
Nick Lewycky
dcfdce9067
Move a method that creates constant ranges relative to another constant range
...
per icmp predicate out of predsimplify and into ConstantRange.
Add another utility method that determines whether one range is a subset of
another. Combine with the former to determine whether icmp pred range, range
is known to be true or not.
llvm-svn: 75357
2009-07-11 06:15:39 +00:00
Evan Cheng
ede2ce71aa
Fix up support for OptionalDefOperand when it defaults to an actual register def. I need this to get ready for major Thumb1 surgery.
...
llvm-svn: 75328
2009-07-11 01:06:50 +00:00
Eli Friedman
106f2885d1
Use CreateStackStoreLoad helper in more places.
...
llvm-svn: 75320
2009-07-11 00:11:07 +00:00
Evan Cheng
b4dfce2dba
Two-address pass should use findCommutedOpIndices to determine what registers are commuted.
...
llvm-svn: 75317
2009-07-11 00:04:23 +00:00
Evan Cheng
1297799096
Use findCommutedOpIndices to find the operands to commute.
...
llvm-svn: 75312
2009-07-10 23:26:12 +00:00
Bob Wilson
a51f8ebf1a
Add superclasses of ARM Neon quad registers. The Q2PR class contains pairs of
...
quad registers and the Q4PR class holds sets of 4 quad registers.
llvm-svn: 75309
2009-07-10 23:09:06 +00:00
Bob Wilson
73fd66c06b
Add new vector types for 192-bit, 348-bit and 512-bit sizes.
...
These are needed to represent ARM Neon struct datatypes containing 2, 3 or 4
separate vectors.
llvm-svn: 75308
2009-07-10 23:05:09 +00:00
Chris Lattner
2745607dc6
remove the "debug" modifier, it is only used by one instruction which can
...
never be generated.
llvm-svn: 75305
2009-07-10 22:34:11 +00:00
Bob Wilson
bf8e4c1128
Refactor TableGen's llvm::getName to share code with llvm::getEnumName,
...
since names are the same for almost all the types.
llvm-svn: 75302
2009-07-10 22:25:24 +00:00
Chris Lattner
07cadaf113
add support for .zerofill, patch by Kevin Enderby!
...
llvm-svn: 75301
2009-07-10 22:20:30 +00:00
Jeffrey Yasskin
228be77c19
Oops. s/#if defined(USE_OPROFILE)/#if USE_OPROFILE/. We #define
...
USE_OPROFILE to 0 on some paths through configure, which does the
wrong thing with #if defined().
llvm-svn: 75300
2009-07-10 22:13:21 +00:00
Chris Lattner
a6009306c2
make pcrel and non-pcrel global printing more similar.
...
llvm-svn: 75298
2009-07-10 21:57:21 +00:00
David Goodwin
73f4e3f442
Support remote execute for ARM.
...
llvm-svn: 75292
2009-07-10 21:39:28 +00:00
Evan Cheng
7997cbf2d5
Undo my brain cramp.
...
llvm-svn: 75290
2009-07-10 21:31:42 +00:00
David Greene
c97b778b3c
Make changes suggested by Chris and eliminate newly-added raw_ostream
...
hooks as they're no longer needed.
The major change with this patch is to make formatted_raw_ostream usable
by any client of raw_ostream.
llvm-svn: 75283
2009-07-10 21:14:44 +00:00
Jeffrey Yasskin
efbc3a52b6
Regenerate configure after r75279.
...
llvm-svn: 75280
2009-07-10 21:09:55 +00:00
Jeffrey Yasskin
bf3d6ba557
Add a --with-oprofile flag to configure, which uses OProfile's agent
...
library to tell it the addresses of JITted functions. For a
particular program, this changes the opreport -l output from:
samples % image name symbol name
48182 98.9729 anon (tgid:19412 range:0x7f12ccaab000-0x7f12cdaab000) anon (tgid:19412 range:0x7f12ccaab000-0x7f12cdaab000)
11 0.0226 libstdc++.so.6.0.9 /usr/lib/libstdc++.so.6.0.9
to:
samples % image name symbol name
24565 60.7308 19814.jo fib_left
15365 37.9861 19814.jo fib_right
22 0.0544 ld-2.7.so do_lookup_x
llvm-svn: 75279
2009-07-10 21:08:20 +00:00
Chris Lattner
25e7f91559
code model is never set to default.
...
llvm-svn: 75278
2009-07-10 21:03:06 +00:00
Chris Lattner
7dce9919e1
fix indentation
...
llvm-svn: 75277
2009-07-10 21:01:59 +00:00
Chris Lattner
21c2940553
remove the now-dead TM argument to these methods.
...
llvm-svn: 75276
2009-07-10 21:00:45 +00:00
Chris Lattner
ba4d73310a
make PIC vs DynamicNoPIC be explicit in PICStyles.
...
llvm-svn: 75275
2009-07-10 20:58:47 +00:00
Chris Lattner
bd3e560f1a
some minor simplifications.
...
llvm-svn: 75274
2009-07-10 20:53:38 +00:00
Chris Lattner
e2f524f176
add a couple of predicates to test for "stub style pic in PIC mode" and "stub style pic in dynamic-no-pic" mode.
...
llvm-svn: 75273
2009-07-10 20:47:30 +00:00
Dan Gohman
028e6158c2
Remove ScalarEvolution::hasSCEV, which isn't being used, and which
...
breaks encapsulation. Also remove a dead prototype for setSCEV.
llvm-svn: 75272
2009-07-10 20:25:29 +00:00
Duncan Sands
48d983c86e
Avoid compiler warnings when assertions are turned off.
...
llvm-svn: 75269
2009-07-10 20:10:14 +00:00
Duncan Sands
45210aab86
Avoid compiler warnings if assertions turned off.
...
llvm-svn: 75267
2009-07-10 20:07:07 +00:00
Evan Cheng
bb00fe0dc6
CMOVxx doesn't swap operands which it's commuted.
...
llvm-svn: 75266
2009-07-10 19:26:57 +00:00
Evan Cheng
f075943584
Remove TargetInstrInfo::CommuteChangesDestination and added findCommutedOpIndices which returns the operand indices which are swapped (when applicable). This allows for some code clean up and future enhancements.
...
llvm-svn: 75264
2009-07-10 19:15:51 +00:00
Sanjiv Gupta
62609a4131
Link std.lib (.bc code) with llvm-ld.
...
Link devices.lib (processor specific variables) with mplink.
llvm-svn: 75263
2009-07-10 19:04:05 +00:00
Owen Anderson
c490dee828
Fix unit tests.
...
llvm-svn: 75262
2009-07-10 18:58:29 +00:00
Chris Lattner
e3c4765bac
convert test to use FileCheck, which is much more precise and faster than
...
the previous RUN lines. Hopefully this will be an inspiration for future
tests :)
llvm-svn: 75261
2009-07-10 18:34:47 +00:00
Chris Lattner
b797115561
add missing *, patch by Peter O'Gorman!
...
llvm-svn: 75259
2009-07-10 18:28:19 +00:00
Owen Anderson
4898c32ce9
Push LLVMContext through the TypeBuilder API. There are no users for this in-tree, so I can't really test it.
...
If you're using this, and it's broken, please send patches.
llvm-svn: 75257
2009-07-10 18:10:10 +00:00
David Greene
68ba0df07d
Eliminate an unnecessary include.
...
llvm-svn: 75256
2009-07-10 17:55:38 +00:00
Owen Anderson
16e7674f4b
Push LLVMContext through the PatternMatch API.
...
llvm-svn: 75255
2009-07-10 17:35:01 +00:00
David Goodwin
81cdd21dcb
Predicate VFP instructions on HasVFP2 instead of IsARM. This allows VFP instructions with thumb-2.
...
llvm-svn: 75254
2009-07-10 17:03:29 +00:00
Dan Gohman
a9938d8226
Generalize ScalarEvolution's cast-folding code to support more kinds
...
of loops. Add several new functions to for working with ScalarEvolution's
add-hoc value-range analysis functionality.
llvm-svn: 75252
2009-07-10 16:42:52 +00:00
Owen Anderson
96b491a1fa
Update for GlobalVariables ctor change.
...
llvm-svn: 75251
2009-07-10 16:42:19 +00:00
David Goodwin
c9b1efd515
t2LDM_RET does not fall-through.
...
llvm-svn: 75250
2009-07-10 15:33:46 +00:00
Duncan Sands
0006349f4d
Add Thumb2ITBlockPass.cpp to CMakeLists.txt, fixing
...
the cmake build.
llvm-svn: 75246
2009-07-10 08:31:50 +00:00
Chris Lattner
9531b039b9
make this more like printOperand. Perhaps some merging will happen
...
tomorrow.
llvm-svn: 75245
2009-07-10 07:50:52 +00:00
Chris Lattner
20073edf67
simplify fast isel by using ClassifyGlobalReference. This
...
elimiantes the last use of GVRequiresExtraLoad, so delete it.
llvm-svn: 75244
2009-07-10 07:48:51 +00:00
Chris Lattner
93f0f79178
eliminate GVRequiresRegister, replacing it with predicates we
...
need for other purposes.
llvm-svn: 75243
2009-07-10 07:38:24 +00:00
Chris Lattner
2ff35f528c
change a bunch of logic in LowerGlobalAddress to leverage the work
...
done in ClassifyGlobalReference instead of reconstructing the info
awkwardly.
llvm-svn: 75240
2009-07-10 07:34:39 +00:00