Dan Gohman
4495850afb
Move RegsForValue to an anonymous namespace, since it is only used
...
in this file.
llvm-svn: 89675
2009-11-23 17:46:23 +00:00
Dan Gohman
b0befa7c20
Move some more code out of SelectionDAGBuild.cpp and into
...
FunctionLoweringInfo.cpp.
llvm-svn: 89674
2009-11-23 17:42:46 +00:00
David Goodwin
07713477dc
Minor itinerary fixes for FP instructions.
...
llvm-svn: 89672
2009-11-23 17:34:12 +00:00
Ted Kremenek
b63a5eedf7
Update CMake file.
...
llvm-svn: 89671
2009-11-23 17:26:04 +00:00
Dan Gohman
086e19c874
Move the FunctionLoweringInfo class and some related utility functions out
...
of SelectionDAGBuild.h/cpp into its own files, to help separate
general lowering logic from SelectionDAG-specific lowering logic.
llvm-svn: 89667
2009-11-23 17:16:22 +00:00
Chris Lattner
23bebfe8d5
fix comment, thanks all :)
...
llvm-svn: 89666
2009-11-23 17:07:35 +00:00
Chris Lattner
1637c0e720
use the new isNoAlias method to simplify some code, only do an escaping check if
...
we have a non-constant pointer. Constant pointers can't be local.
llvm-svn: 89665
2009-11-23 16:46:41 +00:00
Chris Lattner
29221ce8d7
whitespace cleanup, tidying
...
llvm-svn: 89664
2009-11-23 16:45:27 +00:00
Chris Lattner
faf117b46b
speed up BasicAA a bit by implementing a long-standing TODO.
...
llvm-svn: 89663
2009-11-23 16:44:43 +00:00
Chris Lattner
51f6279013
add a helper
...
llvm-svn: 89662
2009-11-23 16:38:54 +00:00
Dan Gohman
29dbc79996
Move FunctionPassManagerImpl's dumpArguments and dumpPasses calls
...
out of its run function and into its doInitialization method, so
that it does the dump once instead of once per function.
llvm-svn: 89660
2009-11-23 16:24:18 +00:00
Dan Gohman
58bb87921b
Make ConstantFoldConstantExpression recursively visit the entire
...
ConstantExpr, not just the top-level operator. This allows it to
fold many more constants.
Also, make GlobalOpt call ConstantFoldConstantExpression on
GlobalVariable initializers.
llvm-svn: 89659
2009-11-23 16:22:21 +00:00
Dan Gohman
0ef3e7cf76
Fix a use of an invalidated iterator in the case where there are multiple
...
adjacent uses of a dead basic block from the same user. This fixes PR5596.
llvm-svn: 89658
2009-11-23 16:13:39 +00:00
Duncan Sands
efd23f129e
I forgot to update the prototype for LLVMBuildIntCast when correcting
...
the body to not pass the name for the isSigned parameter. However it
seems that changing prototypes is a big-no-no, so here I revert the
previous change and pass "true" for isSigned, meaning this always does
a signed cast, which was the previous behaviour assuming the name was
not NULL! Some other C function needs to be introduced for the general
case of signed or unsigned casts. This hopefully unbreaks the ocaml
binding.
llvm-svn: 89648
2009-11-23 10:49:03 +00:00
Nick Lewycky
deb3d7dfbc
Start catching LLVMContext misuse in the verifier.
...
llvm-svn: 89646
2009-11-23 04:52:00 +00:00
Nick Lewycky
b3bedf4b2d
Pull LLVMContext out of PromoteMemToReg.
...
llvm-svn: 89645
2009-11-23 03:50:44 +00:00
Nick Lewycky
76fbcdaaa7
Remove LLVMContext and its include.
...
llvm-svn: 89644
2009-11-23 03:34:29 +00:00
Nick Lewycky
8cbd0c3156
Remove unused LLVMContext.
...
llvm-svn: 89642
2009-11-23 03:29:18 +00:00
Nick Lewycky
1328a7b47f
Remove dead LLVMContext argument.
...
llvm-svn: 89641
2009-11-23 03:26:09 +00:00
Nick Lewycky
9d1ee635e3
Reapply r88830 with a bugfix: this transform only applies to icmp eq/ne. This
...
fixes part of PR5438.
llvm-svn: 89639
2009-11-23 03:17:33 +00:00
Oscar Fuentes
a24207aad2
CMake: Updated library dependencies.
...
llvm-svn: 89637
2009-11-23 00:40:39 +00:00
Oscar Fuentes
cc71a4aee8
CMake: Do not try to install a target before it is defined.
...
llvm-svn: 89636
2009-11-23 00:32:42 +00:00
Oscar Fuentes
6cbe196ddc
CMake: generate targets for tools and examples even when
...
LLVM_BUILD_TOOLS or LLVM_BUILD_EXAMPLES are OFF.
llvm-svn: 89635
2009-11-23 00:21:43 +00:00
Daniel Dunbar
da651bf31a
FileCheck, PR5239: Try to find the intended match on failures, but looking for a
...
good nearby fuzzy match. Frequently the input is nearly correct, and just
showing the user the a nearby sensible match is enough to diagnose the problem.
- The "fuzzyness" is pretty simple and arbitrary, but worked on my three test
cases. If you encounter problems, or places you think FileCheck should have
guessed but didn't, please add test cases to PR5239.
For example, previously FileCheck would report this:
--
t.cpp:21:55: error: expected string not found in input
// CHECK: define void @_Z2f25f2_s1([[i64_i64_ty]] %a0)
^
<stdin>:19:30: note: scanning from here
define void @_Z2f15f1_s1(%1) nounwind {
^
<stdin>:19:30: note: with variable "i64_i64_ty" equal to "%0"
--
and now it also reports this:
--
<stdin>:27:1: note: possible intended match here
define void @_Z2f25f2_s1(%0) nounwind {
^
--
which makes it clear that the CHECK just has an extra ' %a0' in it, without
having to check the input.
llvm-svn: 89631
2009-11-22 22:59:26 +00:00
Daniel Dunbar
acbdd9f541
FileCheck: When a string using variable references fails to match, print
...
additional information about the current definitions of the variables used in
the string.
llvm-svn: 89628
2009-11-22 22:08:06 +00:00
Daniel Dunbar
11a4dce179
SourceMgr: Add ShowLine argument to PrintMessage, to allow suppressing the source line output.
...
llvm-svn: 89627
2009-11-22 22:08:00 +00:00
Daniel Dunbar
1b60708ac9
Allow '_' in FileCheck variable names, it is nice to have at least one
...
separate character.
- Chris, OK?
llvm-svn: 89626
2009-11-22 22:07:50 +00:00
Jim Grosbach
f49995d449
Add getFrameIndexReference() to TargetRegisterInfo, which allows targets to
...
tell debug info which base register to use to reference a frame index on a
per-index basis. This is useful, for example, in the presence of dynamic
stack realignment when local variables are indexed via the stack pointer and
stack-based arguments via the frame pointer.
llvm-svn: 89620
2009-11-22 20:14:00 +00:00
Jim Grosbach
928cb87167
Move default FrameReg val to getFrameIndexReference(). Otherwise, debug info can get bogus values.
...
llvm-svn: 89618
2009-11-22 20:05:32 +00:00
Jim Grosbach
0acdac3bf0
80-column cleanup
...
llvm-svn: 89612
2009-11-22 19:20:36 +00:00
Jakob Stoklund Olesen
a58473532a
Teach MachineBasicBlock::updateTerminator() to handle a failing TII->ReverseBranchCondition(Cond) call.
...
This fixes the MallocBench/cfrac test case regression.
llvm-svn: 89608
2009-11-22 18:28:04 +00:00
Daniel Dunbar
0df7d52ac1
Update doc re: LLVM_BUILD_EXAMPLES.
...
llvm-svn: 89607
2009-11-22 18:27:51 +00:00
Daniel Dunbar
d4a7e3e760
Use ExtractElementInst::Create instead of new; patch by Artur Pietrek!
...
llvm-svn: 89606
2009-11-22 18:27:43 +00:00
Chris Lattner
73422d2e9b
add fixme for dubious code. Duncan, what do you think?
...
llvm-svn: 89602
2009-11-22 16:16:48 +00:00
Chris Lattner
632f60ccc9
remove a silly condition that doesn't make a lot of sense anymore.
...
llvm-svn: 89601
2009-11-22 16:15:59 +00:00
Chris Lattner
59be5d3703
reduce indentation, no functionality change.
...
llvm-svn: 89600
2009-11-22 16:05:05 +00:00
Chris Lattner
b6ecd40652
Remove the AliasAnalysis::getMustAliases method, which is dead.
...
The hasNoModRefInfoForCalls isn't worth it as a filter because
basicaa provides m/r info and everything chains to it, so remove
it.
llvm-svn: 89599
2009-11-22 16:01:44 +00:00
Edward O'Callaghan
573a04cfbb
Miss two, PR5307.
...
llvm-svn: 89596
2009-11-22 15:35:28 +00:00
Edward O'Callaghan
a295e7bd9b
Convert Thumb2 tests to FileCheck for PR5307.
...
llvm-svn: 89595
2009-11-22 15:18:27 +00:00
Benjamin Kramer
7968de0cde
Turns out stuff gets allocated to different registers depending on the subtarget.
...
llvm-svn: 89594
2009-11-22 15:15:52 +00:00
Edward O'Callaghan
d1c7b40bb5
Convert ARM tests to FileCheck for PR5307.
...
llvm-svn: 89593
2009-11-22 14:23:33 +00:00
Benjamin Kramer
a08534a88d
Convert test to FileCheck.
...
llvm-svn: 89589
2009-11-22 13:16:36 +00:00
Edward O'Callaghan
1a250b4109
Forgot to alter RUN line when converting to FileCheck.
...
llvm-svn: 89588
2009-11-22 13:09:48 +00:00
Edward O'Callaghan
5ae4559914
Fix for bad FileCheck converts in revision 89584.
...
llvm-svn: 89586
2009-11-22 12:50:05 +00:00
Edward O'Callaghan
949850890f
Convert a few tests to FileCheck for PR5307.
...
llvm-svn: 89584
2009-11-22 11:45:44 +00:00
Bob Wilson
f8f20e67a3
Fix whitespace.
...
llvm-svn: 89582
2009-11-22 04:24:42 +00:00
Bob Wilson
5d46596707
Fix pr5470. Tablegen handles template arguments by temporarily setting their
...
values, resolving references to them, and then removing the definitions.
If a template argument is set to an undefined value, we need to resolve
references to that argument to an explicit undefined value. The current code
leaves the reference to the template argument as it is, which causes an
assertion failure later when the definition of the template argument is
removed.
llvm-svn: 89581
2009-11-22 03:58:57 +00:00
Nick Lewycky
e7829c73f2
Remove dead code. While there, also turn a few 'T* ' into 'T *' to match the
...
rest of the file.
llvm-svn: 89577
2009-11-22 02:38:11 +00:00
Jim Grosbach
33f06ed72e
Generate more correct debug info for frame indices.
...
llvm-svn: 89576
2009-11-22 02:32:29 +00:00
Anton Korobeynikov
5511c0260f
Minor optimization: when doing eq/ne comparions and RHS is a constant - swap operands, this will allow us to fold imm into comparison.
...
llvm-svn: 89574
2009-11-22 01:14:08 +00:00