Eli Friedman
9f62600eb7
Make the demanded bits/elements optimizations preserve debug line information.
...
I'm not sure this is quite ideal, but I can't really think of any better way to do it.
llvm-svn: 131616
2011-05-19 01:20:42 +00:00
Jim Grosbach
02bb9abfb3
Avoid a Twine that referenced a tmp (which proceded to go out of scope before
...
the Twine was used).
llvm-svn: 131612
2011-05-19 00:45:05 +00:00
Devang Patel
c5390e2f7f
Use IRBuilder.
...
llvm-svn: 131609
2011-05-19 00:13:33 +00:00
Rafael Espindola
175cee362f
Another try at fixing cmake.
...
llvm-svn: 131608
2011-05-19 00:13:04 +00:00
Devang Patel
ecb22f0544
Use IRBuilder while simplifying unreachable.
...
llvm-svn: 131607
2011-05-19 00:09:21 +00:00
Rafael Espindola
0a9911d920
Revert my previous patch. The cmake build had already been fixed.
...
llvm-svn: 131606
2011-05-19 00:02:45 +00:00
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