NAKAMURA Takumi
7f269a5123
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126197
2011-02-22 07:19:20 +00:00
NAKAMURA Takumi
68b4d6429e
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126196
2011-02-22 07:19:12 +00:00
NAKAMURA Takumi
ec693007ce
test/CodeGen/X86/vec_cast.ll: Mark as XFAIL: migw,win32 for workaround of PR8311.
...
llvm-svn: 126195
2011-02-22 07:19:03 +00:00
NAKAMURA Takumi
d44c74a8a6
test/CodeGen/X86/red-zone.ll: Add explicit -mtriple=x86_64-linux.
...
Redzone is not applicable on Win64.
llvm-svn: 126194
2011-02-22 07:18:55 +00:00
Evan Cheng
f7c6f8580b
Guard against de-referencing MBB.end().
...
llvm-svn: 126192
2011-02-22 07:07:59 +00:00
Evan Cheng
6e3d087477
available_externally (hidden or not) GVs are always accessed via stubs. rdar://9027648.
...
llvm-svn: 126191
2011-02-22 06:58:34 +00:00
Andrew Trick
ec08eae0aa
VirtRegRewriter assertion fix.
...
Apparently it's ok for multiple operands to "kill" the same register.
Fixes PR9237.
llvm-svn: 126190
2011-02-22 06:52:56 +00:00
Cameron Zwarich
c942ffcae4
Roll out r126169 and r126170 in an attempt to fix the selfhost bot.
...
llvm-svn: 126185
2011-02-22 03:24:52 +00:00
Sean Callanan
419a1b871e
Added a testcase for the enhanced disassembly bug
...
fixed in r126147, where a field in the X86 decode
structure was being read as bits, not bytes.
llvm-svn: 126182
2011-02-22 02:19:18 +00:00
Sean Callanan
2fd268300e
Fixed llvm-mc in edis mode to use the result of
...
operand.evaluate as an error code, not as the
contents of the operand.
llvm-svn: 126181
2011-02-22 02:09:15 +00:00
Sean Callanan
6619ddaec6
Fixed lit.cfg to no longer recognize the old
...
edis name as needing expansion. This tool was
been replaced by llvm-mc long ago.
llvm-svn: 126180
2011-02-22 02:05:53 +00:00
Eric Christopher
58b95654bc
Only use blx for external function calls on thumb, these could be fixed
...
up by the dynamic linker, but it's better to use the correct instruction
to begin with.
Fixes rdar://9011034
llvm-svn: 126176
2011-02-22 01:37:10 +00:00
Cameron Zwarich
4c6c791d94
Eliminate valgrind warnings from Python on the 32-bit as well.
...
llvm-svn: 126171
2011-02-22 01:00:10 +00:00
Cameron Zwarich
63ed1f4c67
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
Cameron Zwarich
939fceef5b
Have isel visit blocks in reverse postorder rather than an undefined order. This
...
allows for the information propagated across basic blocks to be merged at phis.
llvm-svn: 126169
2011-02-22 00:46:22 +00:00
Joerg Sonnenberger
9dceff5417
Recognize loopz and loopnz as aliases for loope and loopne.
...
From Dimitry Andric.
llvm-svn: 126168
2011-02-22 00:43:07 +00:00
Rafael Espindola
e4a04cce2b
Implement xgetbv and xsetbv.
...
Patch by Jai Menon.
llvm-svn: 126165
2011-02-22 00:35:18 +00:00
Eric Christopher
de9e3eaf5f
Revert r125960, it's breaking darwin10 bootstrap.
...
llvm-svn: 126163
2011-02-21 23:52:19 +00:00
Evan Cheng
aaa5bd52f4
Skipping over debugvalue instructions to determine whether the split spot is in a IT block. rdar://9030770
...
llvm-svn: 126159
2011-02-21 23:40:47 +00:00
Evan Cheng
f5f2a92f8f
Add more debugging output.
...
llvm-svn: 126158
2011-02-21 23:39:48 +00:00
Joerg Sonnenberger
dfe33572b5
Handle FK_PCRel_1 and add a test case for this and FK_PCRel_4.
...
llvm-svn: 126157
2011-02-21 23:25:41 +00:00
Devang Patel
d5c4589795
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
Jakob Stoklund Olesen
508829f1d1
Add SplitKit::isOriginalEndpoint and use it to force live range splitting to terminate.
...
An original endpoint is an instruction that killed or defined the original live
range before any live ranges were split.
When splitting global live ranges, avoid creating local live ranges without any
original endpoints. We may still create global live ranges without original
endpoints, but such a range won't be split again, and live range splitting still
terminates.
llvm-svn: 126151
2011-02-21 23:09:46 +00:00
Sean Callanan
8aaf83f2b8
Fixed a bug in the X86 disassembler where a member of the
...
X86 instruction decode structure was being interpreted as
being in units of bits, although it is actually stored in
units of bytes.
llvm-svn: 126147
2011-02-21 21:55:05 +00:00
Stuart Hastings
8181f2d5a3
End the line if we return early. Radar 9012638.
...
llvm-svn: 126141
2011-02-21 21:07:07 +00:00
David Greene
daf8097c16
Add a convenience tool for doing comparison builds of the LLVM
...
ecosystem. This is a handy utility for checking changes before
committing them to the repository.
llvm-svn: 126136
2011-02-21 19:23:22 +00:00
Chris Lattner
30e6844ca9
Better OpenBSD support, patch by Amit Kulkarni. I have no way to test
...
that this doesn't break gold, but it seems reasonable to me.
llvm-svn: 126135
2011-02-21 18:38:56 +00:00
Richard Osborne
bd0e21b5ca
Add XCore intrinsics for various instructions on ports.
...
llvm-svn: 126132
2011-02-21 18:23:30 +00:00
Stuart Hastings
736a9b66c2
Test case for r126127. Radar 9012638.
...
llvm-svn: 126131
2011-02-21 18:08:40 +00:00
Duncan Sands
77c058dc70
The stack should be 16 byte aligned on 32 bit solaris. Patch by Yuri.
...
llvm-svn: 126130
2011-02-21 17:37:17 +00:00
Duncan Sands
17a277da6d
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
Stuart Hastings
d7ca2e5b61
Fix to correctly support attribute((section("__DATA, __common"))).
...
Radar 9012638.
llvm-svn: 126127
2011-02-21 17:27:17 +00:00
Chris Lattner
e7dc7e1e5b
a serious "compare CSE" issue that is nontrivial to get right,
...
but which is responsible for us doing really bad things to 256.bzip2.
llvm-svn: 126126
2011-02-21 17:03:47 +00:00
Chris Lattner
83c60ae907
fix a crasher in disabled code (on variable stride loops)
...
llvm-svn: 126125
2011-02-21 17:02:55 +00:00
Duncan Sands
702e8b136e
Simplify RecursivelyDeleteDeadPHINode. The only functionality change
...
should be that if the phi is used by a side-effect free instruction with
no uses then the phi and the instruction now get zapped (checked by the
unittest).
llvm-svn: 126124
2011-02-21 16:27:36 +00:00
NAKAMURA Takumi
a03e9f0267
Target/X86/X86FastISel: [PR6275] Fix Win32's dllimport function with fastisel.
...
"dllimport" function must not be GlobalVariable, but Function. It is enough to check with GlobalValue.
test/CodeGen/X86/dll-linkage.ll is updated to check llc -O0.
llvm-svn: 126110
2011-02-21 04:50:06 +00:00
Venkatraman Govindaraju
1a5bbc7f1e
Generate correct Sparc32 ABI compliant code for functions that return a struct.
...
llvm-svn: 126108
2011-02-21 03:42:44 +00:00
NAKAMURA Takumi
684e41daef
CMake: Define LLVM_INCLUDE_TESTS in cmake/modules/HandleLLVMOptions.cmake. It affects testing stuff on clang-standalone build.
...
llvm-svn: 126107
2011-02-21 03:21:06 +00:00
NAKAMURA Takumi
14b5d12c1e
CMake: Fix breakage on clang standalone build.
...
llvm-svn: 126106
2011-02-21 03:20:57 +00:00
Chris Lattner
c373140c8b
add a missed loop deletion case.
...
llvm-svn: 126103
2011-02-21 02:13:39 +00:00
Chris Lattner
9d2899115f
Add some (disabled code) to print out negative strides.
...
llvm-svn: 126102
2011-02-21 02:08:54 +00:00
Chris Lattner
8760c28fe1
add an idiom that loop idiom could theoretically catch.
...
llvm-svn: 126101
2011-02-21 01:33:38 +00:00
Cameron Zwarich
3384d8f317
A lo/hi mul has higher latency than an imul r,ri, e.g. 5 cycles compared to 3
...
on Core 2 and Nehalem, so the code we generate is better than GCC's here.
llvm-svn: 126100
2011-02-21 01:29:32 +00:00
Joerg Sonnenberger
2204260330
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
Cameron Zwarich
b7e676db6c
The signed version of our "magic number" computation for the integer approximation
...
of a constant had a minor typo introduced when copying it from the book, which
caused it to favor negative approximations over positive approximations in many
cases. Positive approximations require fewer operations beyond the multiplication.
In the case of division by 3, we still generate code that is a single instruction
larger than GCC's code.
llvm-svn: 126097
2011-02-21 00:22:02 +00:00
Oscar Fuentes
22247bd624
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
Rafael Espindola
5fd4a261e7
Add some limited support for labels in org directives. Hopefully enough to fix
...
PR9245.
llvm-svn: 126091
2011-02-20 20:20:07 +00:00
Rafael Espindola
83ad96cc73
Dispose modules early and only create codegen when the plugin is being
...
used by the linker and not by nm or ar.
llvm-svn: 126089
2011-02-20 18:28:29 +00:00
Nick Lewycky
ecae3aec02
Make RecursivelyDeleteDeadPHINode delete a phi node that has no users and add a
...
test for that. With this change, test/CodeGen/X86/codegen-dce.ll no longer finds
any instructions to DCE, so delete the test.
Also renamed J and JP to I and IP in RecursivelyDeleteDeadPHINode.
llvm-svn: 126088
2011-02-20 18:05:56 +00:00
Rafael Espindola
5a77325398
Fix some memory leaks and avoid looking in the hash tables twice.
...
libxul links in 7m0.403s.
llvm-svn: 126085
2011-02-20 16:27:25 +00:00