Eli Friedman
a6c7a3d44e
PR4548: optimize zext+udiv+trunc to udiv.
...
llvm-svn: 75539
2009-07-13 22:46:01 +00:00
Owen Anderson
3e807fb553
Inline EvalVectorOp in order to get rid of passing-pointer-to-static-methods behavior.
...
llvm-svn: 75538
2009-07-13 22:41:06 +00:00
Bruno Cardoso Lopes
046ddf7ca0
Cleanup the global emission and refactor some code
...
llvm-svn: 75537
2009-07-13 22:40:39 +00:00
Owen Anderson
1169a91099
Fix the build.
...
llvm-svn: 75536
2009-07-13 22:40:32 +00:00
Daniel Dunbar
b122c24619
NewNightlyTest.pl - Add -configure-args option.
...
- For adding arbitrary arguments to pass to configure.
llvm-svn: 75535
2009-07-13 22:31:58 +00:00
Eli Friedman
47839d3dec
Fix bug in run-line.
...
llvm-svn: 75534
2009-07-13 22:31:30 +00:00
Dan Gohman
5d53d0b73b
Add testcases for PR4538, PR4537, and PR4534.
...
llvm-svn: 75533
2009-07-13 22:30:31 +00:00
Chris Lattner
6ace4d4863
clean up some syntax.
...
llvm-svn: 75532
2009-07-13 22:28:21 +00:00
Eli Friedman
6b51ac6728
Canonicalize boolean +/- a constant to a select.
...
(I think it's reasonably clear that we want to have a canonical form for
constructs like this; if anyone thinks that a select is not the best
canonical form, please tell me.)
llvm-svn: 75531
2009-07-13 22:27:52 +00:00
Dan Gohman
5c3d16883e
Fix a few assertion strings.
...
llvm-svn: 75530
2009-07-13 22:20:53 +00:00
Dan Gohman
8e93bc202e
Forward-declare Loop and LoopInfo instead of #including LoopInfo.h.
...
llvm-svn: 75529
2009-07-13 22:19:41 +00:00
Owen Anderson
3501454313
These don't really need contexts either.
...
llvm-svn: 75528
2009-07-13 22:18:28 +00:00
Daniel Dunbar
2692bf38f5
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
2f4b2d3ea3
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
b8ec6716fd
Whitespace cleanups.
...
llvm-svn: 75525
2009-07-13 22:05:32 +00:00
Dan Gohman
370f5f3116
Fix an 80-column violation.
...
llvm-svn: 75524
2009-07-13 22:04:06 +00:00
Dan Gohman
9a7df22e10
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
dd0e3f0ab5
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
734c817d24
move a method and add a comment, no functionality change.
...
llvm-svn: 75520
2009-07-13 21:53:19 +00:00
Dan Gohman
f6caa6f1e3
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
1c9a2afaa9
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
af27c5b2bd
Use AsmPrinter's Mangler to remove leading '1' from linkage names.
...
llvm-svn: 75515
2009-07-13 21:48:26 +00:00
Eli Friedman
b2a8c4ffc9
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
9634e3ff8f
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
575e7ab711
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
a9953c0a28
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
d7a89664c6
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
7b2ee7dc21
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
f1387bc427
revert rev. 75503 for now.
...
llvm-svn: 75507
2009-07-13 21:26:33 +00:00
Devang Patel
ca075d2f7a
Use Mangler to remove leading '1' from linkage names.
...
llvm-svn: 75503
2009-07-13 21:19:56 +00:00
Kevin Enderby
a461788d6a
add llvm-mc support for parsing the .subsections_via_symbols directive.
...
llvm-svn: 75500
2009-07-13 21:03:15 +00:00
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