Devang Patel
d785fbf971
Check exisiting dbg MDKind first.
...
llvm-svn: 82568
2009-09-22 20:54:13 +00:00
Victor Hernandez
d2cc74eb2d
No need to verify that malloc's return type is i8*.
...
llvm-svn: 82561
2009-09-22 18:50:03 +00:00
David Goodwin
a5762a1955
Use early returns.
...
llvm-svn: 82554
2009-09-22 16:47:52 +00:00
Daniel Dunbar
595fbf539a
Revert "Don't allow formatted_ostream to be unbuffered, even if its underlying
...
buffer", while we work out a solution.
Dan convinced me that making debugging annoying for him is worse than 10x being
slower for me. :)
llvm-svn: 82553
2009-09-22 16:33:42 +00:00
Daniel Dunbar
eb22aecd0b
... missed hiding a variable for MSVC only.
...
llvm-svn: 82552
2009-09-22 16:10:35 +00:00
Daniel Dunbar
e4ec127dcd
Hide MSVC specific CRT interaction behind _MSC_VER.
...
llvm-svn: 82551
2009-09-22 15:58:35 +00:00
Mikhail Glushenkov
4cd6a6887f
Remove the GetProcessId() call from Win32/Program.inc, take 2.
...
GetProcessId() was introduced only in Windows XP, and we want to support earlier
versions.
llvm-svn: 82548
2009-09-22 15:40:32 +00:00
Daniel Dunbar
34413e6018
Fix commento.
...
llvm-svn: 82544
2009-09-22 10:30:34 +00:00
Daniel Dunbar
b8a623820a
lit: When executing shell scripts internally, don't allow piped stderr on any
...
commands except the last one, instead redirect the stderr to a temporary
file. This sidesteps a potential deadlocking issue.
llvm-svn: 82538
2009-09-22 09:50:38 +00:00
Daniel Dunbar
06695b3ea1
Add a magic LLVM_DISABLE_CRT_DEBUG environment variable which we check in RegisterHandler and use to disable the Win32 crash dialogs. These are a major blocker to any kind of automated testing.
...
Also, tweak the 'lit' test runner to set this variable unconditionally.
llvm-svn: 82537
2009-09-22 09:50:28 +00:00
Evan Cheng
6e04d960a3
Forgot this.
...
llvm-svn: 82536
2009-09-22 08:47:59 +00:00
Evan Cheng
97c8597450
Fix PR5024. LiveVariables::FindLastPartialDef should return a set of sub-registers that were defined by the last partial def, not just a single sub-register.
...
llvm-svn: 82535
2009-09-22 08:34:46 +00:00
Daniel Dunbar
5b14b53729
Initial support for running LLVM tests from cmake.
...
llvm-svn: 82534
2009-09-22 07:38:44 +00:00
Daniel Dunbar
e338cab441
Generate lit.site.cfg from a .in file, as clang does.
...
llvm-svn: 82533
2009-09-22 07:38:33 +00:00
Daniel Dunbar
3012c38197
Use Compiler.h macro instead of __attribute__.
...
llvm-svn: 82532
2009-09-22 07:38:23 +00:00
Daniel Dunbar
076bf0d011
CMake: Fix definition of LTDL_SHLIB_EXT for Darwin.
...
llvm-svn: 82530
2009-09-22 06:09:37 +00:00
Daniel Dunbar
0ba272283d
Fix llvm-config --src-root and --obj-root for CMake builds.
...
llvm-svn: 82529
2009-09-22 06:09:31 +00:00
Daniel Dunbar
25f8e30355
llvm-config: Remove unused variables.
...
llvm-svn: 82528
2009-09-22 06:09:22 +00:00
Daniel Dunbar
3ea67f7fdc
Actually use the arguments with the resolved executable path.
...
llvm-svn: 82527
2009-09-22 06:09:13 +00:00
Daniel Dunbar
badca39b69
Revert "Get rid of GetProcessId in Win32/Program.inc.", this breaks
...
ExecuteAndWait.
llvm-svn: 82522
2009-09-22 04:44:56 +00:00
Daniel Dunbar
797bf7ca92
lit: Don't use close_fds=True on Windows.
...
llvm-svn: 82521
2009-09-22 04:44:37 +00:00
Daniel Dunbar
79874e8a8e
lit: When executing commands internally, perform PATH resolution ourselves.
...
llvm-svn: 82520
2009-09-22 04:44:26 +00:00
Daniel Dunbar
ac9a646035
Switch FoldingSet::AddString to StringRef based API.
...
- This also fixes a dereference of std::string::end, which makes MSVC unhappy and was causing all the static analyzer clang tests to fail.
llvm-svn: 82517
2009-09-22 03:34:53 +00:00
Daniel Dunbar
a75b499af8
Workaround what I believe is an MSVC bug where it emits a definition for a
...
static const class member into each translation unit, with external linkage???
- If someone understands this issue better, please clue me in, I haven't
consulted the standard yet.
llvm-svn: 82516
2009-09-22 03:34:40 +00:00
Daniel Dunbar
14c9a4d355
Switch DIDescriptor to use a TrackingVH. - This makes it much safer to work with debug info, since it was extraordinarily easy to have dangling pointers thanks to MDNode uniquing.
...
llvm-svn: 82507
2009-09-22 02:03:18 +00:00
Daniel Dunbar
6d5513977b
Add a TrackingVH value handle.
...
This is designed for tracking a value even when it might move (like WeakVH), but it is an error to delete the referenced value (unlike WeakVH0. TrackingVH is templated like AssertingVH on the tracked Value subclass, it is an error to RAUW a tracked value to an incompatible type.
For implementation reasons the latter error is only diagnosed on accesses to a mis-RAUWed TrackingVH, because we don't want a virtual interface in a templated class.
The former error is also only diagnosed on access, so that clients are allowed to delete a tracked value, as long as they don't use it. This makes it easier for the client to reason about destruction.
llvm-svn: 82506
2009-09-22 02:02:33 +00:00
Evan Cheng
07d521ed99
Fix a pasto. Also simplify for Bill's benefit.
...
llvm-svn: 82505
2009-09-22 01:48:19 +00:00
Evan Cheng
ff7fe7f353
Minor bug fix. LowerSubregs should translate
...
%S0<def> = EXTRACT_SUBREG %Q0<kill>, 1
to
%S0<def> = IMPLICIT_DEF %Q0<imp-use,kill>
Implicit_def does not *read* any register so the operand should be marked "implicit". The missing "implicit" marker on the operand is wrong, but it doesn't actually break anything.
llvm-svn: 82503
2009-09-22 00:29:40 +00:00
Chris Lattner
611a14fce0
Fix PR5023: The instruction form of DominatorTree::dominates did not
...
take into consideration that the result of an invoke is only valid in
the normal dest, not the unwind dest. This caused 'PHINode::hasConstantValue'
to return true in an invalid situation, causing mem2reg to delete a phi that
was actually needed. This caused a crash building 483.xalancbmk.
llvm-svn: 82491
2009-09-21 22:39:35 +00:00
Chris Lattner
1ceac42392
move DominatorTree::dominates for instructions out of line,
...
no functionality change.
llvm-svn: 82490
2009-09-21 22:30:50 +00:00
Chris Lattner
78d19af97a
tidy up
...
llvm-svn: 82489
2009-09-21 22:27:34 +00:00
Chris Lattner
f5afe18457
tidy up
...
llvm-svn: 82488
2009-09-21 22:26:02 +00:00
Evan Cheng
a6d602a5c1
Clean up spill weight computation. Also some changes to give loop induction
...
variable increment / decrement slighter high priority.
This has major impact on some micro-benchmarks. On MultiSource/Applications
and spec tests, it's a minor win. It also reduce 256.bzip instruction count
by 8%, 55 on 164.gzip on i386 / Darwin.
llvm-svn: 82485
2009-09-21 21:12:25 +00:00
David Goodwin
0db84be1dc
Add Cortex-A8 VFP model.
...
llvm-svn: 82483
2009-09-21 20:52:17 +00:00
Dan Gohman
c50bd99a43
Change MachineMemOperand's alignment value to be the alignment of
...
the base pointer, without the offset. This matches MemSDNode's
new alignment behavior, and holds more interesting information.
llvm-svn: 82473
2009-09-21 19:47:04 +00:00
Dan Gohman
f8ca240cd0
Add a comment mentioning the rdar number associated with this test.
...
llvm-svn: 82471
2009-09-21 18:32:20 +00:00
Dan Gohman
7a076e642e
Add support for rematerializing FsFLD0SS and FsFLD0SD as constant-pool
...
loads in order to reduce register pressure.
llvm-svn: 82470
2009-09-21 18:30:38 +00:00
Dan Gohman
5eb4fde3c3
Recognize SSE min and max opportunities in even more cases.
...
And fix a bug with the behavior of min/max instructions formed from
fcmp uge comparisons.
Also, use FiniteOnlyFPMath() for this code instead of UnsafeFPMath,
as it is more specific.
llvm-svn: 82466
2009-09-21 18:03:22 +00:00
Dan Gohman
cca0e25a9e
Fix the offset values for these memoperands. For frame objects, the
...
PseudoSourceValue already effectively represents the offset from the
frame base, so the actual offset should not be added to it.
llvm-svn: 82465
2009-09-21 17:58:09 +00:00
Chris Lattner
1d9ca20bf5
big endian systems shift by bits too, hopefully this will fix the ppc
...
bootstrap problems.
llvm-svn: 82464
2009-09-21 17:55:47 +00:00
Dan Gohman
3359b05815
Nick pointed out that DominanceFrontier and DominanceTree are preserved
...
by setPreservesCFG().
llvm-svn: 82463
2009-09-21 17:54:42 +00:00
Dan Gohman
ea9d53d563
Remove the special-case for constants in PHI nodes; it's not really
...
helpful, and it didn't correctly handle the case of constants input
to PHIs for backedges.
llvm-svn: 82462
2009-09-21 17:53:35 +00:00
Chris Lattner
b1c7502032
fix PR5016, a crash I introduced in GVN handing first class
...
arrays and structs, which cannot be bitcast to integers.
llvm-svn: 82460
2009-09-21 17:24:04 +00:00
Mikhail Glushenkov
487c2ba4ee
Use raw_ostream::indent instead of passing strings.
...
llvm-svn: 82456
2009-09-21 15:53:44 +00:00
Dan Gohman
d02f922c92
Fix this assertion string to mention subreg_to_reg.
...
llvm-svn: 82455
2009-09-21 15:18:33 +00:00
Nuno Lopes
cdb4b7116b
initialize SymbolsCanStartWithDigit to false by default
...
llvm-svn: 82454
2009-09-21 14:11:56 +00:00
Xerxes Ranby
7d02d9ebba
Update cmake.
...
llvm-svn: 82449
2009-09-21 08:08:29 +00:00
Jakob Stoklund Olesen
905edd97e4
Verify that phi instructions refer to MBBs in the CFG.
...
The machine code verifier no longer tolerates phi instructions with noop
operands. All MBBs on a phi instruction must be in the CFG.
llvm-svn: 82448
2009-09-21 07:19:08 +00:00
Chris Lattner
45b58ae047
enable non-local analysis and PRE of large store -> little load.
...
This doesn't kick in too much because of phi translation issues,
but this can be resolved in the future.
llvm-svn: 82447
2009-09-21 06:48:08 +00:00
Chris Lattner
8debc9ab3e
convert an std::pair to an explicit struct.
...
llvm-svn: 82446
2009-09-21 06:30:24 +00:00