Jim Grosbach
1d479dbc55
Generalize the register matching code in DAGISel a bit.
...
llvm-svn: 126731
2011-03-01 01:37:19 +00:00
Talin
3a0a30d44d
Add an END_WITH_NULL accessor for ConstantStruct.
...
llvm-svn: 126714
2011-02-28 23:53:27 +00:00
Owen Anderson
1401dbd211
Fix warning when building with clang++.
...
llvm-svn: 126679
2011-02-28 19:58:06 +00:00
Dan Gohman
06d70015ce
Delete the GEPSplitter experiment.
...
llvm-svn: 126671
2011-02-28 19:47:47 +00:00
Dan Gohman
b8a25f49f3
Delete the SimplifyHalfPowrLibCalls pass, which was unused, and
...
only existed as the result of a misunderstanding.
llvm-svn: 126669
2011-02-28 19:41:14 +00:00
Dan Gohman
161058838c
Delete the LiveValues pass. I won't get get back to the project it
...
was started for in the foreseeable future.
llvm-svn: 126668
2011-02-28 19:37:59 +00:00
Stuart Hastings
67c5c3e939
Support for byval parameters on ARM. Will be enabled by a forthcoming
...
patch to the front-end. Radar 7662569.
llvm-svn: 126655
2011-02-28 17:17:53 +00:00
Chris Lattner
2ca62f910d
add the ability to walk the scope tree and insert at not-the-current
...
scope.
llvm-svn: 126591
2011-02-27 22:51:57 +00:00
Chris Lattner
67b5d71eb2
add a data() method.
...
llvm-svn: 126590
2011-02-27 22:51:37 +00:00
Cameron Zwarich
68f677a612
Fix PR9324 / <rdar://problem/9052489> by handling the case where a PHI has no uses.
...
llvm-svn: 126567
2011-02-27 08:06:01 +00:00
Tobias Grosser
1b4f94070f
cmake: Add xdot.py support as it already exists in autoconf.
...
llvm-svn: 126563
2011-02-27 04:11:05 +00:00
Tobias Grosser
3ac8689fa3
Pass the graph to the DOTGraphTraits.getEdgeAttributes().
...
This follows the interface of getNodeAttributes.
llvm-svn: 126562
2011-02-27 04:11:03 +00:00
Daniel Dunbar
06dfe8e9c5
Support: Add llvm::AreStatisticsEnabled().
...
llvm-svn: 126558
2011-02-26 23:17:12 +00:00
Owen Anderson
b2c80da4ae
Allow targets to specify a the type of the RHS of a shift parameterized on the type of the LHS.
...
llvm-svn: 126518
2011-02-25 21:41:48 +00:00
Cameron Zwarich
fcf51fd298
Roll out r126425 and r126450 to see if it fixes the failures on the buildbots.
...
llvm-svn: 126488
2011-02-25 16:30:32 +00:00
Nick Lewycky
aa06169f7c
Update the NoFolder to work with current IRBuilder.
...
llvm-svn: 126479
2011-02-25 07:13:35 +00:00
Joerg Sonnenberger
afb36fad99
Restore r125595 (reverted in r126336) with modifications:
...
Introduce a variable in the AsmParserExtension whether [] is valid in an
expression. If it is true, parse them like (). Enable this for ELF only.
llvm-svn: 126443
2011-02-24 21:59:22 +00:00
Devang Patel
b037383a35
Enable DebugInfo support for COFF object files.
...
Patch by Nathan Jeffords!
llvm-svn: 126425
2011-02-24 21:04:00 +00:00
Richard Osborne
42f52e737e
Add XCore intrinsic for eeu instruction.
...
llvm-svn: 126384
2011-02-24 13:39:18 +00:00
Duncan Sands
47481b9754
Rewrite the vector part of getExtendedTypeAction to make it more
...
understandable (at least I find it easier to understand like this).
No intended functionality change.
llvm-svn: 126382
2011-02-24 11:54:18 +00:00
Cameron Zwarich
a62fc89a04
Merge information about the number of zero, one, and sign bits of live-out
...
registers at phis. This enables us to eliminate a lot of pointless zexts during
the DAGCombine phase. This fixes <rdar://problem/8760114>.
llvm-svn: 126380
2011-02-24 10:00:25 +00:00
Cameron Zwarich
3cf9280214
Add a getNumSignBits() method to APInt.
...
llvm-svn: 126379
2011-02-24 10:00:20 +00:00
Cameron Zwarich
97eb52da7b
Add a mechanism for invalidating the LiveOutInfo of a PHI, and use it whenever
...
a block is visited before all of its predecessors.
llvm-svn: 126378
2011-02-24 10:00:16 +00:00
Cameron Zwarich
988faf91bd
Track blocks visited in reverse postorder.
...
llvm-svn: 126377
2011-02-24 10:00:13 +00:00
Cameron Zwarich
6470647383
Refactor the LiveOutInfo interface into a few methods on FunctionLoweringInfo
...
and make the actual map private.
llvm-svn: 126376
2011-02-24 10:00:08 +00:00
Michael J. Spencer
a5a8defa92
Depricate PathV1::isAbsolute.
...
llvm-svn: 126348
2011-02-24 01:02:32 +00:00
Richard Osborne
bfa5cc0e08
Add XCore intrinsic for clre instruction.
...
llvm-svn: 126322
2011-02-23 18:52:05 +00:00
Richard Osborne
4995b05f56
Add llvm.xcore.waitevent intrinsic. The effect of this intrinsic is to enable
...
events on the thread and wait until a resource is ready to event. The vector
of the resource that is ready is returned.
llvm-svn: 126320
2011-02-23 18:35:59 +00:00
Richard Osborne
2c610aa3ed
Add XCore intrinsic for the setv instruction.
...
llvm-svn: 126315
2011-02-23 16:46:37 +00:00
Richard Osborne
aab96995f6
Add XCore intrinsic for settw instruction.
...
llvm-svn: 126313
2011-02-23 14:45:03 +00:00
Frits van Bommel
026982e24f
Implement TODO for implicit C-array-to-ArrayRef conversion.
...
llvm-svn: 126311
2011-02-23 13:43:06 +00:00
Stuart Hastings
bf83659d11
Omit private_extern declarations of extern symbols; followup to
...
r124468. Patch by Rafael Avila de Espindola!
llvm-svn: 126297
2011-02-23 02:27:05 +00:00
Nick Lewycky
fc7222bfc4
Fix C++0x incompatibility. The signature of std::make_pair<> changes from:
...
template <class T1, class T2> pair<T1,T2> make_pair(const T1&, const T2&);
to
template <class T1, class T2> pair<V1, V2> make_pair(T1&&, T2&&);
so explicitly specifying the template arguments to make_pair<> is going to break
when C++0x rolls through. Replace them with equivalent std::pair<>. Patch by
James Dennett!
llvm-svn: 126256
2011-02-22 22:48:47 +00:00
Devang Patel
9b4127349c
Follow LLVM coding style.
...
clang uses DBuilder, so it requries corresponding change.
llvm-svn: 126231
2011-02-22 18:56:12 +00:00
Cameron Zwarich
7cf88763e0
MachineConstantPoolValues are not uniqued, so they need to be freed if they
...
share entries. Add a DenseSet to MachineConstantPool for the MachineCPVs that
it owns.
This will hopefully fix the MC/ARM/elf-reloc-01.ll failure on the leaks bots.
llvm-svn: 126218
2011-02-22 08:54:30 +00:00
Cameron Zwarich
f8b22b3483
Roll out r126169 and r126170 in an attempt to fix the selfhost bot.
...
llvm-svn: 126185
2011-02-22 03:24:52 +00:00
Cameron Zwarich
800f85baf9
Merge information about the number of zero, one, and sign bits of live-out registers
...
at phis. This enables us to eliminate a lot of pointless zexts during the DAGCombine
phase. This fixes <rdar://problem/8760114>.
llvm-svn: 126170
2011-02-22 00:46:27 +00:00
Devang Patel
f3292b2196
Revert r124611 - "Keep track of incoming argument's location while emitting LiveIns."
...
In other words, do not keep track of argument's location. The debugger (gdb) is not prepared to see line table entries for arguments. For the debugger, "second" line table entry marks beginning of function body.
This requires some coordination with debugger to get this working.
- The debugger needs to be aware of prolog_end attribute attached with line table entries.
- The compiler needs to accurately mark prolog_end in line table entries (at -O0 and at -O1+)
llvm-svn: 126155
2011-02-21 23:21:26 +00:00
Richard Osborne
1ae65c7cb8
Add XCore intrinsics for various instructions on ports.
...
llvm-svn: 126132
2011-02-21 18:23:30 +00:00
Duncan Sands
ecbbf0825b
If the phi node was used by an unreachable instruction that ends up using
...
itself without going via a phi node then we could return false here in
spite of making a change. Also, tweak the comment because this method
can (and always could) return true without deleting the original phi node.
For example, if the phi node was used by a read-only invoke instruction
which is used by another phi node phi2 which is only used by and only uses
the invoke, then phi2 would be deleted but not the invoke instruction and
not the original phi node.
llvm-svn: 126129
2011-02-21 17:32:05 +00:00
Joerg Sonnenberger
eef2f9009d
Use a vector of pairs to implement the section stack, not two
...
independent vectors.
llvm-svn: 126099
2011-02-21 01:07:42 +00:00
Oscar Fuentes
3145e923c1
Put targets on folders, if the IDE supports the feature.
...
Requires CMake 2.8.3 or newer.
llvm-svn: 126092
2011-02-20 22:06:10 +00:00
Argyrios Kyrtzidis
e9fb6b891e
Allow getting the address of the value in a PointerUnion or PointerIntPair if one is
...
confident enough that he knows what he is doing.
llvm-svn: 126019
2011-02-19 03:55:58 +00:00
Ted Kremenek
f66e5b695f
Add ImmutableMap methods 'manualRetain()', 'manualRelease()', and 'getRootWithoutRetain()' to help more aggressively reclaim memory in the static analyzer.
...
llvm-svn: 126011
2011-02-19 01:59:21 +00:00
Devang Patel
0555fd38b3
Provide enums to build complex address calucation expressions.
...
(This is infact direct copy from DIFactory, which is disappearing soon.)
llvm-svn: 125989
2011-02-18 23:28:53 +00:00
Devang Patel
f20e5a905f
Remove unused tag.
...
llvm-svn: 125988
2011-02-18 23:23:09 +00:00
Devang Patel
4192802280
Provide tag strings for llvm specific tags.
...
llvm-svn: 125986
2011-02-18 23:06:29 +00:00
Devang Patel
b7ae3ccb84
Do not lose debug info of an inlined function argument even if the argument is only used through GEPs.
...
This time with a fix that avoids using invalidated DenseMap iterator.
llvm-svn: 125984
2011-02-18 22:43:42 +00:00
Chris Lattner
7e5d8aa6f9
Now that -loop-idiom uses TargetLibraryInfo properly, it doesn't
...
need to be pulled out of the pass manager when the user specifies
-fno-builtin. It can intelligently determine which libcalls to
optimize based on what is enabled in TargetLibraryInfo. This
allows -fno-builtin-foo to work someday.
llvm-svn: 125981
2011-02-18 22:36:36 +00:00
Chris Lattner
1341df93f7
add a way to disable all builtins, wire it up to opt's -disable-simplifylibcalls flag.
...
llvm-svn: 125978
2011-02-18 22:34:03 +00:00