Devang Patel
9024c19242
Revert r107202. It is not adding any value.
...
llvm-svn: 111870
2010-08-24 00:06:12 +00:00
Eric Christopher
a1652c6ea6
Don't need the extra register here.
...
llvm-svn: 111864
2010-08-23 23:28:04 +00:00
Mikhail Glushenkov
8001ceb30e
llvmc: Make syntax more consistent.
...
CompilationGraph and LanguageMap definitions do not use special syntax anymore.
llvm-svn: 111862
2010-08-23 23:21:23 +00:00
Devang Patel
45a818bea5
Let FE use derived types for DW_TAG_friend.
...
Patch by Alexander Herz!
llvm-svn: 111861
2010-08-23 23:16:25 +00:00
Eric Christopher
2f01adebca
Add some more "get address into register" code and a more TODOs/FIXMEs.
...
llvm-svn: 111860
2010-08-23 23:14:31 +00:00
Eric Christopher
7ec47db6b2
Add an ARMFunctionInfo member and use it.
...
llvm-svn: 111854
2010-08-23 22:32:45 +00:00
Dan Gohman
1aabedd6b3
Verify that a non-uniqued non-temporary MDNode is not deleted via
...
MDNode::deleteTemporary.
llvm-svn: 111853
2010-08-23 22:32:05 +00:00
Eric Christopher
e0d09e27f8
Start getting ARM loads/address computation going.
...
llvm-svn: 111850
2010-08-23 21:44:12 +00:00
Benjamin Kramer
b08a868783
Fix thinko. Having no tests is great ...
...
llvm-svn: 111848
2010-08-23 21:32:00 +00:00
Jim Grosbach
33f85d977a
Remove the MFI storage of the local allocation block size. It's not needed.
...
llvm-svn: 111847
2010-08-23 21:29:29 +00:00
Benjamin Kramer
005c0b532e
Reduce code duplication.
...
llvm-svn: 111846
2010-08-23 21:23:52 +00:00
Benjamin Kramer
8961d86d95
ELFObjectWriter: Run ComputeSymbolTable before recording relocations. This way we can use the information it has computed and don't have to recompute the same stuff over and over again.
...
llvm-svn: 111844
2010-08-23 21:19:37 +00:00
Bruno Cardoso Lopes
ed9ff8d8d0
Start using target speficic nodes for shuffles: pshufhw and pshuflw
...
llvm-svn: 111837
2010-08-23 20:41:02 +00:00
Jim Grosbach
2bce13a3a4
Better handling of local offsets for downwards growing stacks. This corrects
...
relative offsets when there are offsets encoded in the instructions and
simplifies final allocation in PEI. rdar://8277890
llvm-svn: 111836
2010-08-23 20:40:38 +00:00
Gabor Greif
6bd4b1cc6c
tyops
...
llvm-svn: 111835
2010-08-23 20:30:51 +00:00
Owen Anderson
9f7621fa94
Turn LVI back off, I have a testcase now.
...
llvm-svn: 111834
2010-08-23 19:59:27 +00:00
Chris Lattner
f0f35c4aea
Add a new llvm.x86.int intrinsic, allowing access to the
...
x86 int and int3 instructions. Patch by Peter Housel!
llvm-svn: 111831
2010-08-23 19:39:25 +00:00
Mikhail Glushenkov
68d96f1d5c
llvmc: Allow multiple LanguageMaps.
...
llvm-svn: 111829
2010-08-23 19:24:16 +00:00
Mikhail Glushenkov
741dc5578b
Add a TODO.
...
llvm-svn: 111828
2010-08-23 19:24:12 +00:00
Mikhail Glushenkov
14e2900dfd
llvmc: Properly handle (error) in edge properties.
...
llvm-svn: 111827
2010-08-23 19:24:08 +00:00
Mikhail Glushenkov
d70ada534a
llvmc: Do not mention plugins in the code.
...
llvm-svn: 111826
2010-08-23 19:24:00 +00:00
Mikhail Glushenkov
7128448296
Trailing whitespace.
...
llvm-svn: 111825
2010-08-23 19:23:54 +00:00
Benjamin Kramer
be1f37f512
Add the symbol offset to the relocation value when we relocate against section. By Roman Divacky.
...
llvm-svn: 111824
2010-08-23 19:05:46 +00:00
Dan Gohman
602bb31883
formatted_tool_output_file::close needs to flush its buffer before
...
closing the underlying stream.
llvm-svn: 111822
2010-08-23 18:43:24 +00:00
Devang Patel
cf6c6b4038
Handle qualified constants that are directly folded by FE.
...
PR 7920.
llvm-svn: 111820
2010-08-23 18:25:56 +00:00
Benjamin Kramer
c67b87ec44
Use the proper relocation section + cleanup, from Roman Divacky.
...
llvm-svn: 111819
2010-08-23 18:24:20 +00:00
Benjamin Kramer
926ba6058b
Avoid O(n*m) complexity in StringRef::find_first(_not)_of(StringRef).
...
- Cache used characters in a bitset to reduce memory overhead to just 32 bytes.
- On my core2 this code is faster except when the checked string was very short
(smaller than the list of delimiters).
llvm-svn: 111817
2010-08-23 18:16:08 +00:00
Owen Anderson
ee69c0112d
Re-enable LazyValueInfo. Monitoring for failures.
...
llvm-svn: 111816
2010-08-23 18:12:23 +00:00
Owen Anderson
fe3d206e65
Now that PassInfo and Pass::ID have been separated, move the rest of the passes over to the new registration API.
...
llvm-svn: 111815
2010-08-23 17:52:01 +00:00
Benjamin Kramer
e4c21a06f7
StringRef tweaks:
...
- Respect find_first_of(char's From parameter instead of silently dropping it.
- Prefer std::string() to std::string("")
llvm-svn: 111814
2010-08-23 17:44:13 +00:00
Chris Lattner
f4dfc7aaab
random improvement for variable shift codegen.
...
llvm-svn: 111813
2010-08-23 17:30:29 +00:00
Chandler Carruth
49b7cdd14c
Try to escape the '$'s in these so they reach the underlying 'sh' invocation.
...
I have no idea how lit did the right thing here, but other test runners don't.
llvm-svn: 111805
2010-08-23 08:54:19 +00:00
Chandler Carruth
e0ed6ee921
Fix some GCC warnings by providing a virtual destructor in the base of a class
...
hierarchy with virtual methods and using llvm_unreachable to properly indicate
unreachable states which would otherwise leave variables uninitialized.
llvm-svn: 111803
2010-08-23 08:25:07 +00:00
Anton Korobeynikov
a68e2a53a1
Revert invalid r111792. Jump tables are not broken on x86-64 / coff,
...
it's COFF emitter which does not support differences of two symbols
(and needs to be fixed). GAS is pretty fine with code produced.
llvm-svn: 111801
2010-08-23 07:38:51 +00:00
Michael J. Spencer
82f1603fa7
Revert part of my last commit. the mingw32 build bot doesn't seem to like it.
...
llvm-svn: 111793
2010-08-23 05:25:23 +00:00
Michael J. Spencer
c52ac23659
Workaround broken jump tables on x86-64 COFF.
...
llvm-svn: 111792
2010-08-23 04:45:37 +00:00
Chris Lattner
299b129955
remove some dead code.
...
llvm-svn: 111791
2010-08-23 03:12:06 +00:00
Nick Lewycky
c529c1c041
Verify the predicates on icmp/fcmp. Suggested by Jeff Yasskin!
...
llvm-svn: 111787
2010-08-22 23:45:14 +00:00
Eli Friedman
64c0b96dd3
Delete dead comment.
...
llvm-svn: 111744
2010-08-21 20:19:51 +00:00
Anton Korobeynikov
c3294e6abe
Use rip-rel addressing on win64 by default. For this we just
...
defaults to small pic code model.
llvm-svn: 111741
2010-08-21 17:21:11 +00:00
Benjamin Kramer
8ae4730ad7
Use MDNode::destroy(). Fixes a delete/free mismatch.
...
llvm-svn: 111739
2010-08-21 15:07:23 +00:00
Michael J. Spencer
18689045ce
MC: Add partial x86-64 support to COFF.
...
llvm-svn: 111728
2010-08-21 05:58:13 +00:00
Dan Gohman
ad0acc2bf2
Add an assert to MDNode::deleteTemporary check that the node being deleted
...
is not non-temporary.
llvm-svn: 111713
2010-08-21 02:52:29 +00:00
Dan Gohman
30b8e6cfd2
Fix x86 fast-isel's cmp+branch folding to avoid folding when the
...
comparison is in a different basic block from the branch. In such
cases, the comparison's operands may not have initialized virtual
registers available.
llvm-svn: 111709
2010-08-21 02:32:36 +00:00
Bruno Cardoso Lopes
1998fbbf1a
Prepare LowerVECTOR_SHUFFLEv8i16 to use x86 target specific nodes directly
...
llvm-svn: 111704
2010-08-21 01:32:18 +00:00
Bob Wilson
c3856a5130
Replace some NEON vmovl intrinsic that I missed earlier.
...
llvm-svn: 111696
2010-08-20 23:22:43 +00:00
Bruno Cardoso Lopes
28d9071635
This is the first step towards refactoring the x86 vector shuffle code. The
...
general idea here is to have a group of x86 target specific nodes which are
going to be selected during lowering and then directly matched in isel.
The commit includes the addition of those specific nodes and a *bunch* of
patterns, and incrementally we're going to switch between them and what we
have right now. Both the patterns and target specific nodes can change as
we move forward with this work.
llvm-svn: 111691
2010-08-20 22:55:05 +00:00
Dan Gohman
31ab7e6b8c
CreateTemporaryType doesn't needs its Context argument.
...
llvm-svn: 111687
2010-08-20 22:39:47 +00:00
Bill Wendling
163660135e
Create the new linker type "linker_private_weak_def_auto".
...
It's similar to "linker_private_weak", but it's known that the address of the
object is not taken. For instance, functions that had an inline definition, but
the compiler decided not to inline it. Note, unlike linker_private and
linker_private_weak, linker_private_weak_def_auto may have only default
visibility. The symbols are removed by the linker from the final linked image
(executable or dynamic library).
llvm-svn: 111684
2010-08-20 22:05:50 +00:00
Dan Gohman
072e7bdcd4
Introduce a new temporary MDNode concept. Temporary MDNodes are
...
not part of the IR, are not uniqued, and may be safely RAUW'd.
This replaces a variety of alternate mechanisms for achieving
the same effect.
llvm-svn: 111681
2010-08-20 22:02:26 +00:00