Devang Patel
fa6d0b4f84
Use IRBuilder while simplifying conditional branch.
...
llvm-svn: 131605
2011-05-18 23:59:51 +00:00
Eli Friedman
40a0353b96
More instcombine cleanup, towards improving debug line info.
...
llvm-svn: 131604
2011-05-18 23:58:37 +00:00
Jim Grosbach
35c032eb5e
Restore sanity to 131601.
...
llvm-svn: 131603
2011-05-18 23:56:43 +00:00
Rafael Espindola
587fa89510
Fix the cmake build.
...
llvm-svn: 131602
2011-05-18 23:56:40 +00:00
Jim Grosbach
e8791ab417
Objective C functions may use a magic '\1' on the name. Handle that when
...
dealing with them in the MCJIT.
llvm-svn: 131601
2011-05-18 23:53:21 +00:00
Eli Friedman
98235fd498
Shuffle StandardPasses.cpp into VMCore; add it to CMake.
...
llvm-svn: 131600
2011-05-18 23:51:11 +00:00
Devang Patel
877a16ea33
Use IRBuilder while simplifying branch.
...
llvm-svn: 131598
2011-05-18 23:18:47 +00:00
Eli Friedman
2bfd6b0b85
Revert unintentional commit.
...
llvm-svn: 131597
2011-05-18 23:13:10 +00:00
Eli Friedman
2fa7bea638
More instcombine simplifications towards better debug locations.
...
llvm-svn: 131596
2011-05-18 23:11:30 +00:00
Cameron Zwarich
d9f5d9fadc
Add missing mayLoad / mayStore flags to instruction definitions without patterns,
...
which fixes all of the CodeGen/MBlaze verifier failures.
llvm-svn: 131595
2011-05-18 23:03:10 +00:00
Charles Davis
3322d4dee8
Add a header patterned after MCDwarf.h for supporting Win64 exception handling
...
under MC.
llvm-svn: 131593
2011-05-18 22:48:24 +00:00
David Chisnall
ef3c74e551
Some better type safety enforcement in the standard pass list, along with some small tidies and some fixes for bugs that the stricter checking found.
...
llvm-svn: 131592
2011-05-18 22:46:02 +00:00
Cameron Zwarich
8164175e57
Reserve the segment registers on x86 to fix verifier failures in any code that
...
uses them.
llvm-svn: 131591
2011-05-18 22:24:48 +00:00
Charles Davis
844da78338
Remove comments as Chris requested.
...
llvm-svn: 131590
2011-05-18 22:13:51 +00:00
Cameron Zwarich
a3f4c0021f
Reserve r29 on Alpha. This fixes all verifier failures in CodeGen/Alpha.
...
llvm-svn: 131587
2011-05-18 21:54:32 +00:00
Tanya Lattner
6814933ea6
Handle perfect shuffle case that generates a vrev for vectors of floats.
...
Add test case.
llvm-svn: 131582
2011-05-18 21:44:54 +00:00
Eli Friedman
e1ee02ff3d
Third pass at allowing plugins to modify default passes. This time with a tweak so that we don't depend on an uninitialized argument.
...
llvm-svn: 131581
2011-05-18 21:40:04 +00:00
Devang Patel
3f94bed4e4
Use IRBuilder while simplifying return instruction.
...
llvm-svn: 131580
2011-05-18 21:33:11 +00:00
Cameron Zwarich
e410478ca7
Fix an obvious typo in r131572.
...
llvm-svn: 131579
2011-05-18 21:29:07 +00:00
Cameron Zwarich
f0b9f9d4c9
Fix more of PR8825. Now all of CodeGen/ARM passes with VerifyCoalescing turned on.
...
llvm-svn: 131578
2011-05-18 21:25:14 +00:00
Dan Gohman
13dc3428b9
When forming an ICmpZero LSRUse, normalize the non-IV operand
...
of the comparison, so that the resulting expression is fully
normalized. This fixes PR9939.
llvm-svn: 131576
2011-05-18 21:02:18 +00:00
Devang Patel
f1e313af0f
Set debug location while setting insertion point.
...
llvm-svn: 131575
2011-05-18 20:58:47 +00:00
Charles Davis
48ea9389dc
Add some more Win64 EH directives:
...
- StartChained and EndChained delimit a chained unwind area, which can contain
additional operations to be undone if an exception occurs inside of it.
- UnwindOnly declares that this function doesn't handle any exceptions. If it
has a handler, it's an unwind handler instead of an exception handler.
- Lsda declares the location and size of the LSDA, which in the Win64 EH
scheme is kept inside the UNWIND_INFO struct. Windows itself ignores the
LSDA; it's used by the Language-Specific Handler (the "Personality Function"
from DWARF).
llvm-svn: 131572
2011-05-18 20:54:10 +00:00
Devang Patel
3549e33227
Spread use of IRBuilder even more.
...
llvm-svn: 131571
2011-05-18 20:53:17 +00:00
Eli Friedman
530e34b4af
Revert r131556; it's breaking buildbots/clang tests.
...
llvm-svn: 131567
2011-05-18 20:39:27 +00:00
Devang Patel
fd9b1daf82
Use IRBuilder while simplifying switch instruction.
...
llvm-svn: 131566
2011-05-18 20:35:38 +00:00
Johnny Chen
3d6c5f4876
Disassembly of tBcc was wrongly adding 4 to the SignExtend'ed imm8:'0' immediate operand.
...
llvm-svn: 131565
2011-05-18 20:32:41 +00:00
Devang Patel
40690a2df4
Use IRBuilder while simplifying unwind.
...
llvm-svn: 131561
2011-05-18 20:01:18 +00:00
Chad Rosier
be943c5d9a
Enables vararg functions that pass all arguments via registers to be optimized into tail-calls when possible.
...
llvm-svn: 131560
2011-05-18 19:59:50 +00:00
Eli Friedman
889faa7ead
More instcombine cleanup aimed towards improving debug line info.
...
llvm-svn: 131559
2011-05-18 19:57:14 +00:00
Stuart Hastings
c77046f8d7
An imminent fix to the x86_64 byval logic will expose a flaw in the
...
x86_64 sibcall logic. I've filed PR9943 for the sibcall problem, and
this patch alters the testcase to work around the flaw. When PR9943
is fixed, this patch should be reverted.
llvm-svn: 131557
2011-05-18 19:19:17 +00:00
David Chisnall
b2d7afdada
Second pass at allowing plugins to modify default passes. This time without bonus inter-library dependencies.
...
llvm-svn: 131556
2011-05-18 19:00:41 +00:00
Evan Cheng
4787dc8f70
Revise r131553. Just use the type of the input node and forgo the bitcast. rdar://9449159.
...
llvm-svn: 131555
2011-05-18 18:59:17 +00:00
Evan Cheng
ea3c2f0e60
Fix an ARMTargetLowering::LowerSELECT bug: legalized result must have same type as input. Sorry test cases only trigger when dag combine is disabled. rdar://9449178
...
llvm-svn: 131553
2011-05-18 18:47:27 +00:00
Devang Patel
f0b8a243b9
Use IRBuilder while simplifying terminator.
...
llvm-svn: 131552
2011-05-18 18:43:31 +00:00
Devang Patel
faedd704bb
Use IRBuilder while simplifying unconditional branch.
...
llvm-svn: 131551
2011-05-18 18:28:48 +00:00
Devang Patel
9249a85cdc
Use IRBuilder while folding two entry PHINode.
...
llvm-svn: 131548
2011-05-18 18:16:44 +00:00
Eli Friedman
467850313a
Switch more inst insertion in instcombine to IRBuilder.
...
llvm-svn: 131547
2011-05-18 18:10:28 +00:00
Chad Rosier
2d11812d9a
Correct typos in TestingGuide.html
...
llvm-svn: 131546
2011-05-18 18:07:16 +00:00
Devang Patel
6eb1a7bd09
Set up IRBuilder for use during simplification.
...
llvm-svn: 131545
2011-05-18 18:01:27 +00:00
Eli Friedman
501239ebda
Switch more inst insertion in instcombine to IRBuilder.
...
llvm-svn: 131544
2011-05-18 17:58:37 +00:00
Matt Beaumont-Gay
7472bb0a7e
fix typo
...
llvm-svn: 131543
2011-05-18 17:37:10 +00:00
Eli Friedman
7ba2fd017e
Switch inst insertion in instcombine transform to IRBuilder.
...
llvm-svn: 131542
2011-05-18 17:31:55 +00:00
Devang Patel
a6e4c7a441
Use IRBuiler while constant folding terminator.
...
llvm-svn: 131541
2011-05-18 17:26:46 +00:00
Eli Friedman
0703b8a293
Force a triple on a couple of tests; we don't support fast-isel of ret on Win64.
...
llvm-svn: 131540
2011-05-18 17:16:37 +00:00
Stuart Hastings
03a1927217
Merge pmovzx test case into existing file.
...
llvm-svn: 131539
2011-05-18 17:02:04 +00:00
Stuart Hastings
5047039d6d
Fix inelegant initialization.
...
llvm-svn: 131538
2011-05-18 15:54:26 +00:00
Justin Holewinski
eb209f0916
PTX: add flag to disable mad/fma selection
...
Patch by Dan Bailey
llvm-svn: 131537
2011-05-18 15:42:23 +00:00
Duncan Sands
d3292b9f1e
Revert commit 131534 since it seems to have broken several buildbots.
...
Original log entry:
Refactor getActionType and getTypeToTransformTo ; place all of the 'decision'
code in one place.
llvm-svn: 131536
2011-05-18 14:57:56 +00:00
Nadav Rotem
b7d689c706
Refactor getActionType and getTypeToTransformTo ; place all of the 'decision'
...
code in one place.
llvm-svn: 131534
2011-05-18 12:26:38 +00:00