Craig Topper
9d9d92eab0
Remove HexagonGenIntrinsics.inc from Hexagon cmake file. It does not appear in the Makefile and the output it produces isn't used. The Hexagon intrinsics are all in the global Intrinsics.gen.
...
llvm-svn: 151514
2012-02-27 02:59:43 +00:00
Craig Topper
ae4e236c50
Update tblgen command guide. Remove unused tblgen InstrEnumEmitter files.
...
llvm-svn: 151513
2012-02-27 02:31:09 +00:00
Jia Liu
65a3b4e8b8
delete useless comment&blank
...
llvm-svn: 151512
2012-02-27 02:21:34 +00:00
Rafael Espindola
2d9b864afe
Fix this assert. IP can point to an instruction with strange dominance
...
properties (invoke). Just assert that the instruction we return dominates
the insertion point.
llvm-svn: 151511
2012-02-27 02:13:03 +00:00
Craig Topper
ab46706aa9
X86 disassembler support for jcxz, jecxz, and jrcxz. Fixes PR11643. Patch by Kay Tiong Khoo.
...
llvm-svn: 151510
2012-02-27 01:54:29 +00:00
Chad Rosier
3c578aa81b
Remove more GCC FE build stuff.
...
llvm-svn: 151507
2012-02-26 22:26:37 +00:00
Chad Rosier
9457d2b63a
Installing the GCC front end is no longer supported.
...
llvm-svn: 151506
2012-02-26 22:17:05 +00:00
Chad Rosier
cb11644ed8
Cleanup the LLVM Getting Started page.
...
llvm-svn: 151505
2012-02-26 22:12:59 +00:00
Chad Rosier
9458712b9a
Add href to clang in overview.
...
llvm-svn: 151503
2012-02-26 21:34:02 +00:00
Chad Rosier
d8384abc3c
Remove references to llvm-gcc from overview and tutorial.
...
llvm-svn: 151502
2012-02-26 21:31:25 +00:00
Nadav Rotem
6eccbedc5f
Add support for random constant vectors.
...
Patch by Joey Gouly.
llvm-svn: 151489
2012-02-26 13:56:18 +00:00
Nadav Rotem
65d5297fd2
Style fix: Remove unneeded parentheses.
...
llvm-svn: 151488
2012-02-26 12:34:17 +00:00
Nadav Rotem
2449d16831
Fix a bug in the code that checks if a store value is a vector of i1s
...
llvm-svn: 151487
2012-02-26 12:00:22 +00:00
Nadav Rotem
3680054079
Fix compilation on MSVC. Rename "_BB" to "Block"
...
Thanks zygoloid.
llvm-svn: 151481
2012-02-26 08:59:25 +00:00
Nadav Rotem
a77007fc95
fix a copy-and-paste error in the docs
...
llvm-svn: 151480
2012-02-26 08:43:43 +00:00
Nadav Rotem
8ce0029942
Add a random .LL file generator to stress-test different llvm components.
...
llvm-svn: 151479
2012-02-26 08:35:53 +00:00
Rafael Espindola
868ea25522
Add testcase for the previous commit.
...
llvm-svn: 151475
2012-02-26 05:49:57 +00:00
Rafael Espindola
c333947449
Don't call dominates on unreachable instructions. Should fix the dragonegg
...
build. Testcase is still reducing.
llvm-svn: 151474
2012-02-26 05:30:08 +00:00
Hal Finkel
abe41f723f
Default TargetData alignment information for 128-bit floating-point types.
...
llvm-svn: 151473
2012-02-26 04:13:31 +00:00
Rafael Espindola
137548bb3e
And update the comment...
...
llvm-svn: 151472
2012-02-26 02:36:56 +00:00
Rafael Espindola
e63adef174
Enable the assert that got all this dominator work started.
...
llvm-svn: 151471
2012-02-26 02:29:18 +00:00
Rafael Espindola
c97c3343f1
Use the DT dominates function in the verifier.
...
llvm-svn: 151470
2012-02-26 02:23:37 +00:00
Rafael Espindola
34b7c064cb
Change the implementation of dominates(inst, inst) to one based on what the
...
verifier does. This correctly handles invoke.
Thanks to Duncan, Andrew and Chris for the comments.
Thanks to Joerg for the early testing.
llvm-svn: 151469
2012-02-26 02:19:19 +00:00
Rafael Espindola
f5f6146ba4
Don't call dominates on unreachable instructions.
...
llvm-svn: 151468
2012-02-26 02:14:25 +00:00
Nick Lewycky
a93c874757
Reinstate the optimization from r151449 with a fix to not turn 'gep %x' into
...
'gep null' when the icmp predicate is unsigned (or is signed without inbounds).
llvm-svn: 151467
2012-02-26 02:09:49 +00:00
Rafael Espindola
d9e654ca63
Don't call dominates on unreachable instructions.
...
llvm-svn: 151466
2012-02-26 01:50:14 +00:00
Nick Lewycky
849715d31f
Roll these back to r151448 until I figure out how they're breaking
...
MultiSource/Applications/lua.
llvm-svn: 151463
2012-02-25 23:01:19 +00:00
Nick Lewycky
1636c6eaef
An argument and a local identified object (eg. a noalias call) could turn out
...
equal if both are null. In the test, scope type %t and global @y by adding a
'gep' prefix to them.
llvm-svn: 151452
2012-02-25 20:19:07 +00:00
Nick Lewycky
808d0e3fa7
Fix five-letter typo in comment.
...
llvm-svn: 151450
2012-02-25 19:12:58 +00:00
Nick Lewycky
94be1c7d95
Teach instsimplify to be more aggressive when analyzing comparisons of pointers
...
by using llvm::isIdentifiedObject. Also teach it to handle GEPs that have
the same base pointer and constant operands. Fixes PR11238!
llvm-svn: 151449
2012-02-25 19:07:42 +00:00
Nick Lewycky
dce2cfc335
Move isKnownNonNull from private implementation detail of BasicAA to a public
...
function that others can use, next to llvm::isIdentifiedObject.
llvm-svn: 151446
2012-02-25 10:56:28 +00:00
Nick Lewycky
57a70ec2c4
Remove spurious emacs mode marker.
...
llvm-svn: 151440
2012-02-25 07:20:06 +00:00
Hal Finkel
3aea686faa
Revert r151278, breaks static linking.
...
Reverting this because it breaks static linking on ppc64. Specifically, it may be linkonce_odr functions that are the problem.
With this patch, if you link statically, calls to some functions end up calling their descriptor addresses instead
of calling to their entry points. This causes the execution to fail with SIGILL (b/c the descriptor address just
has some pointers, not code).
llvm-svn: 151433
2012-02-25 03:40:11 +00:00
NAKAMURA Takumi
17b6271b41
Target/X86: Fix assertion failures and warnings caused by r151382 _ftol2 lowering for i386-*-win32 targets. Patch by Joe Groff.
...
[Joe Groff] Hi everyone. My previous patch applied as r151382 had a few problems:
Clang raised a warning, and X86 LowerOperation would assert out for
fptoui f64 to i32 because it improperly lowered to an illegal
BUILD_PAIR. Here's a patch that addresses these issues. Let me know if
any other changes are necessary. Thanks.
llvm-svn: 151432
2012-02-25 03:37:25 +00:00
Chad Rosier
7ebe024853
Add comment.
...
llvm-svn: 151431
2012-02-25 03:07:57 +00:00
Chad Rosier
096b8c0365
Add support for disabling llvm.lifetime intrinsics in the AlwaysInliner. These
...
are optimization hints, but at -O0 we're not optimizing. This becomes a problem
when the alwaysinline attribute is abused.
rdar://10921594
llvm-svn: 151429
2012-02-25 02:56:01 +00:00
Lang Hames
25553028ff
Make the peephole optimizer clear kill flags on a vreg if it's about to add new
...
uses of the vreg, since the old kills may no longer be valid. This was causing
-verify-machineinstrs to complain about uses after kills, and could potentially
have been causing subtle register allocation issues, but I haven't come across a
test case yet.
llvm-svn: 151425
2012-02-25 02:01:00 +00:00
Chad Rosier
06b04ed725
Fix indentation.
...
llvm-svn: 151420
2012-02-25 01:10:59 +00:00
Eric Christopher
3975f7b73a
Grammar-o.
...
llvm-svn: 151418
2012-02-25 01:02:44 +00:00
Lang Hames
6ec3b488f8
Fixed typo.
...
llvm-svn: 151417
2012-02-25 00:46:38 +00:00
Akira Hatanaka
8fc9a35d3f
Add definitions of floating point multiply add/sub and negative multiply
...
add/sub instructions.
llvm-svn: 151415
2012-02-25 00:21:52 +00:00
Akira Hatanaka
3b3ee53886
Add an option to use a virtual register as the global base register instead of
...
reserving a physical register ($gp or $28) for that purpose.
This will completely eliminate loads that restore the value of $gp after every
function call, if the register allocator assigns a callee-saved register, or
eliminate unnecessary loads if it assigns a temporary register.
example:
.cpload $25 // set $gp.
...
.cprestore 16 // store $gp to stack slot 16($sp).
...
jalr $25 // function call. clobbers $gp.
lw $gp, 16($sp) // not emitted if callee-saved reg is chosen.
...
lw $2, 4($gp)
...
jalr $25 // function call.
lw $gp, 16($sp) // not emitted if $gp is not live after this instruction.
...
llvm-svn: 151402
2012-02-24 22:34:47 +00:00
Benjamin Kramer
62ed7b9b09
Remove unused cl::opt, make another opt static.
...
llvm-svn: 151398
2012-02-24 22:09:25 +00:00
Jakob Stoklund Olesen
090f01cde9
Add missing static
...
llvm-svn: 151396
2012-02-24 21:52:44 +00:00
Ahmed Charles
1f34683467
Fix undefined behavior.
...
llvm-svn: 151385
2012-02-24 19:06:15 +00:00
Jim Grosbach
33082fabe9
Thumb2 asm aliases for wide bitwise w/ immediate instructions.
...
llvm-svn: 151384
2012-02-24 19:06:05 +00:00
Chris Lattner
b01936f21a
fix PR12075, a regression in a recent transform I added. In unreachable code, gep chains can be infinite. Just like "stripPointerCasts", use a set to keep track of visited instructions so we don't recurse infinitely.
...
llvm-svn: 151383
2012-02-24 19:01:58 +00:00
Michael J. Spencer
d2f0ce2674
Add WIN_FTOL_* psudo-instructions to model the unique calling convention
...
used by the Win32 _ftol2 runtime function. Patch by Joe Groff!
llvm-svn: 151382
2012-02-24 19:01:22 +00:00
Jakob Stoklund Olesen
c077e0f945
Add a -stress-regalloc=<N> option.
...
This will limit all register classes to N registers in order to stress
test register allocation.
llvm-svn: 151379
2012-02-24 18:34:20 +00:00
Hal Finkel
784c4bf068
X11/X2 loads around indirect calls on ppc64 should not be deleted.
...
llvm-svn: 151374
2012-02-24 17:54:01 +00:00