Dale Johannesen
44233430ea
Add the testcase from PR 4668. This works at the
...
moment, but it's a fragile area.
llvm-svn: 78358
2009-08-07 00:04:42 +00:00
Lang Hames
66ecec971d
New C++ PBQP solver. Currently about as fast (read _slow_) as the old C based solver, but I'll be working to improve that. The PBQP allocator has been updated to use the new solver.
...
llvm-svn: 78354
2009-08-06 23:32:48 +00:00
Dale Johannesen
3cdd3d3633
Fix PR 4626, a crash in branch folding after OptimizeBlock
...
produced a CFG it wasn't prepared for.
llvm-svn: 78351
2009-08-06 22:56:40 +00:00
Dale Johannesen
b2db5fd3d0
Use stripPointerCasts instead of partially rewriting it.
...
llvm-svn: 78350
2009-08-06 22:45:51 +00:00
Jakob Stoklund Olesen
ec528b270e
Vanity.
...
llvm-svn: 78345
2009-08-06 21:54:23 +00:00
Nicolas Geoffray
0cd17db516
Output the new StructType constructor, which takes the context of the
...
module as first argument.
llvm-svn: 78340
2009-08-06 21:31:35 +00:00
Jakob Stoklund Olesen
83399fc5d2
Get rid of RegScavenger::backwards() before the bitrot spreads.
...
If we need it one day, there is nothing wrong with putting it back in.
llvm-svn: 78337
2009-08-06 21:19:03 +00:00
Devang Patel
86c0c7abf1
Remove dead code.
...
llvm-svn: 78335
2009-08-06 20:57:44 +00:00
Devang Patel
157f0b79c8
Use DebugInfoFinder
...
llvm-svn: 78334
2009-08-06 20:53:24 +00:00
Devang Patel
ee39ff2666
Use DebugInfoFinder.
...
llvm-svn: 78333
2009-08-06 20:53:06 +00:00
Bob Wilson
bd7627b23e
Implement Neon VST[234] operations.
...
llvm-svn: 78330
2009-08-06 18:47:44 +00:00
Bob Wilson
5cbc89337b
Fix incorrect intrinsic declarations.
...
llvm-svn: 78329
2009-08-06 18:46:26 +00:00
Dale Johannesen
8cafc06175
Testcase for llvm-gcc 78324 (although in normal
...
testing mode it won't test much).
llvm-svn: 78325
2009-08-06 17:28:23 +00:00
Dan Gohman
8456ae6bc8
Tidy up this testcase.
...
llvm-svn: 78322
2009-08-06 17:11:55 +00:00
David Goodwin
3aafcc1dd2
Add parameter to pattern classes to enable an itinerary to be specified for instructions. For now just use the existing itineraries or NoItinerary.
...
llvm-svn: 78321
2009-08-06 16:52:47 +00:00
Chris Lattner
2d90fbe8be
Fix several fixmes and clean up code by sinking *all* section
...
creation activity into the target-specific subclasses of TLOF.
Before this, globals with explicit sections could be created by
the base class.
1. make getOrCreateSection protected, add a new getExplicitSectionGlobal
pure virtual method to assign sections to globals with a specified
section.
2. eliminate getSpecialCasedSectionGlobals, which is now PIC specific.
3. eliminate the getKindForNamedSection virtual method, which is
now just a static method for ELF.
4. Add implementions of getExplicitSectionGlobal for ELF/PECOFF/Darwin/PIC16.
They are now all detangled and understandable, woo! :)
llvm-svn: 78319
2009-08-06 16:39:58 +00:00
John Mosby
69ad27c7e3
Reg Scavenging generalization (Thumb support):
...
- start support for new PEI w/reg alloc, allow running RS from emit{Pro,Epi}logue() target hooks.
- fix minor issue with recursion detection.
llvm-svn: 78318
2009-08-06 16:32:47 +00:00
Chris Lattner
affa6e37ef
go through PIC16TargetObjectFile to make sections instead of
...
creating them directly in the pic16 asmprinter.
llvm-svn: 78317
2009-08-06 16:27:28 +00:00
Chris Lattner
c5342dabc4
reduce testcase.
...
llvm-svn: 78315
2009-08-06 16:14:33 +00:00
Devang Patel
d0c245bd84
Fix comment.
...
llvm-svn: 78313
2009-08-06 15:39:34 +00:00
Dan Gohman
e94b3f7a34
Add assertion checks after the calls to LowerFormalArguments, LowerCall,
...
and LowerReturn, to verify that the targets' hooks have respected some
of their postconditions.
llvm-svn: 78312
2009-08-06 15:37:27 +00:00
Dan Gohman
904eb68a6a
Remove an over-aggressive assert. Functions with empty struct return
...
types don't have any return values, from CodeGen's perspective.
This fixes PR4688.
llvm-svn: 78311
2009-08-06 15:07:58 +00:00
Anton Korobeynikov
2024baeeb8
Add note about msys perl needed for windows/mingw32 builds.
...
Patch by John Thompson!
llvm-svn: 78304
2009-08-06 12:54:58 +00:00
Anton Korobeynikov
9c59e1a990
Add tests for X86-64 code model handling. Small and kernel for now.
...
llvm-svn: 78300
2009-08-06 12:25:20 +00:00
Anton Korobeynikov
0c6314a3e2
We need to sext global addresses in kernel code model, not zext
...
llvm-svn: 78299
2009-08-06 11:23:24 +00:00
Dan Gohman
668a0ff5ef
Fix a bug in x86's PreprocessForRMW logic that was exposed
...
by aggressive chain operand optimization. UpdateNodeOperands
does not modify the node in place if it would result in
a node identical to an existing node.
llvm-svn: 78297
2009-08-06 09:22:57 +00:00
Dan Gohman
01b8a3593b
Fix a few places in DAGCombiner that were creating all-ones-bits
...
and high-bits values in ways that weren't correct for integer
types wider than 64 bits. This fixes a miscompile in
PPMacroExpansion.cpp in clang on x86-64.
llvm-svn: 78295
2009-08-06 09:18:59 +00:00
Anton Korobeynikov
9232ddb6f2
Missed part of recent kernel codemodel tweaks
...
llvm-svn: 78293
2009-08-06 09:11:19 +00:00
Chris Lattner
ece2bb9052
add a testcase for my llvm-gcc hack.
...
llvm-svn: 78289
2009-08-06 06:18:52 +00:00
Daniel Dunbar
5cce0d81d1
Don't search the entire type table just to delete a type by name.
...
- This also fixes the ENABLE_EXPENSIVE_CHECKS failure on vmcore.ml.
llvm-svn: 78287
2009-08-06 06:04:35 +00:00
Sanjiv Gupta
749f6d30d6
llvm-ld has a new option called -b to specify the name of bitcode output file, use that.
...
llvm-svn: 78282
2009-08-06 04:09:26 +00:00
Chris Lattner
53626c5606
this passes.
...
llvm-svn: 78281
2009-08-06 03:55:49 +00:00
Andreas Bolka
eb5ba4eddf
Simplify the ZIV tester to the max.
...
As suggested by Nick Lewycky.
llvm-svn: 78277
2009-08-06 03:10:33 +00:00
Sanjiv Gupta
16ccd693aa
XFAIL it while it is being worked on.
...
llvm-svn: 78275
2009-08-06 02:19:20 +00:00
Bob Wilson
6fb1102b9a
Add tests for new NEON vld instructions.
...
llvm-svn: 78264
2009-08-06 00:38:31 +00:00
Bob Wilson
905678ab37
Neon does not actually have VLD{234}.64 instructions.
...
These operations will have to be synthesized from other instructions.
llvm-svn: 78263
2009-08-06 00:24:27 +00:00
Bob Wilson
a12289f373
Convert more Neon tests to FileCheck.
...
llvm-svn: 78261
2009-08-05 23:51:20 +00:00
Owen Anderson
b904acbec0
Update unit test.
...
llvm-svn: 78260
2009-08-05 23:28:57 +00:00
Owen Anderson
3d0e1b855d
Privatize the StructType table, which unfortunately involves routing contexts through a number of APIs.
...
llvm-svn: 78258
2009-08-05 23:16:16 +00:00
Bob Wilson
6ee52e0047
Add a new pre-allocation pass to assign adjacent registers for Neon instructions
...
that have that constraint. This is currently just assigning a fixed set of
registers, and it only handles VLDn for n=2,3,4 with DPR registers.
I'm going to expand it to handle more operations next; we can make it smarter
once everything is working correctly.
llvm-svn: 78256
2009-08-05 23:12:45 +00:00
Anton Korobeynikov
8e6a142223
Better handle kernel code model. Also, generalize the things and fix one
...
subtle bug with small code model.
llvm-svn: 78255
2009-08-05 23:01:26 +00:00
Dale Johannesen
33bc4c045e
Adjust test for llvm-gcc checkin 78249.
...
llvm-svn: 78251
2009-08-05 22:18:47 +00:00
Dan Gohman
2bce18dae9
Use GR32 for copies between GR32_NOSP and GR32_NOREX, as neither
...
is a subset of the other, but both are subsets of GR32.
llvm-svn: 78250
2009-08-05 22:18:26 +00:00
Daniel Dunbar
49dc5e993d
Make block and function count available via ProfileInfo.
...
- Part of optimal static profiling patch sequence by Andreas Neustifter.
llvm-svn: 78247
2009-08-05 21:51:16 +00:00
Daniel Dunbar
abc51fe31b
Suppress compiler warning.
...
llvm-svn: 78246
2009-08-05 21:42:40 +00:00
Dan Gohman
7cc0d1906c
Use (void *)(intptr_t) to cast function addresses to void*
...
for use with sys::Path::GetMainExecutable, to avoid warnings
with -pedantic.
llvm-svn: 78245
2009-08-05 21:03:39 +00:00
David Goodwin
6e4065d7c6
When using NEON for single-precision FP, the NEON result must be placed in D0-D15 as these are the only D registers with S subregs. Introduce a new regclass to represent D0-D15 and use it in the NEON single-precision FP patterns.
...
llvm-svn: 78244
2009-08-05 21:02:22 +00:00
David Greene
af3c172859
Fix some column padding bugs, reorganize things as suggested by Chris
...
and eliminate complexity. Yay!
llvm-svn: 78243
2009-08-05 21:00:52 +00:00
Chris Lattner
8a74485e06
remove the 'DataSectionStartSuffix' and 'TextSectionStartSuffix' knobs.
...
llvm-svn: 78242
2009-08-05 20:49:52 +00:00
Dan Gohman
ba72f59923
Fix FindExecutable to use sys::Path::GetMainExecutable instead of
...
just argv[0]. And remove the code for searching the current
working directory and for searching PATH; the point of FindExecutable
is not to find whatever version of the executable can be found by
searching around, but to find an executable that accompanies the
current executable.
Update the tools to use sys::Program::FindProgramByName when they
want PATH searching.
llvm-svn: 78240
2009-08-05 20:21:17 +00:00