Mikhail Glushenkov
1acdd98295
Make -o a prefix option.
...
Both 'llvmc -o file' and 'llvmc -ofile' should work.
llvm-svn: 62211
2009-01-14 02:02:16 +00:00
Devang Patel
cf0db71b85
Do not construct debug scope if RootScope *is* null.
...
llvm-svn: 62209
2009-01-14 01:34:32 +00:00
Ted Kremenek
da4930d361
Add member template MallocAllocator::Allocate(Num) (to match the same function in BumpPtrAllocator).
...
llvm-svn: 62202
2009-01-14 00:38:21 +00:00
Chris Lattner
2461d79aa9
rewrite OptimizeAwayTrappingUsesOfLoads to 1) avoid a temporary
...
vector and extraneous loop over it, 2) not delete globals used by
phis/selects etc which could actually be useful. This fixes PR3321.
Many thanks to Duncan for narrowing this down.
llvm-svn: 62201
2009-01-14 00:12:58 +00:00
Devang Patel
1da8253b35
Removoe MachineModuleInfo methods (and related DebugInfoDesc class hierarchy) that were used to handle debug info.
...
llvm-svn: 62199
2009-01-13 23:54:55 +00:00
Nuno Lopes
b5a8a4b4dd
fix memleaks
...
llvm-svn: 62198
2009-01-13 23:35:49 +00:00
Dan Gohman
6f5847ccfc
BT appears to be available on all >= i386 chips.
...
llvm-svn: 62196
2009-01-13 23:27:15 +00:00
Dan Gohman
9c2ee40c1c
Don't use a BT instruction if the AND has multiple uses.
...
llvm-svn: 62195
2009-01-13 23:25:30 +00:00
Dan Gohman
8c835f6285
Disable the register+memory forms of the bt instructions for now. Thanks
...
to Eli for pointing out that these forms don't ignore the high bits of
their index operands, and as such are not immediately suitable for use
by isel.
llvm-svn: 62194
2009-01-13 23:23:30 +00:00
Devang Patel
ba388f3905
Keep "has debug info" big in MachineModuleInfo to avoid circular dependency between AsmPrinter and CodeGen.
...
llvm-svn: 62191
2009-01-13 23:02:17 +00:00
Devang Patel
7a618394f6
Undo previous checkin.
...
llvm-svn: 62190
2009-01-13 22:54:57 +00:00
Dale Johannesen
e458c47a74
Fix testsuite regressions from recursive inlining.
...
llvm-svn: 62189
2009-01-13 22:43:37 +00:00
Devang Patel
e0f23e966d
Use DwarfWriter to record dbg variables.
...
llvm-svn: 62185
2009-01-13 21:44:10 +00:00
Devang Patel
ab5ef6abf1
Use dwarf writer to decide whether the module has debug info or not.
...
llvm-svn: 62184
2009-01-13 21:25:00 +00:00
Dan Gohman
15e69a394a
Add bt instructions that take immediate operands.
...
llvm-svn: 62180
2009-01-13 20:33:23 +00:00
Dan Gohman
e84cfeac5f
Fix a few more JIT encoding issues in the BT instructions.
...
llvm-svn: 62179
2009-01-13 20:32:45 +00:00
Dan Gohman
f94a4aba16
Use assertions to check for conditions that should never happen.
...
llvm-svn: 62178
2009-01-13 20:25:24 +00:00
Dan Gohman
9e9858781c
The list-td and list-tdrr schedulers don't yet support physreg
...
scheduling dependencies. Add assertion checks to help catch
this.
It appears the Mips target defaults to list-td, and it has a
regression test that uses a physreg dependence. Such code was
liable to be miscompiled, and now evokes an assertion failure.
llvm-svn: 62177
2009-01-13 20:24:13 +00:00
Dan Gohman
958861e65e
Make instcombine ensure that all allocas are explicitly aligned at at
...
least their preferred alignment.
llvm-svn: 62176
2009-01-13 20:18:38 +00:00
Sanjiv Gupta
b712a41535
Checking in conditionals, function call, arrays and libcalls implementation.
...
llvm-svn: 62174
2009-01-13 19:18:47 +00:00
Dan Gohman
c7fe713e72
Avoid referring to edge D after the Succs or Preds arrays have
...
been modified, to avoid trouble in the (unlikely) scenario that
D is a reference to an element in one of those arrays.
llvm-svn: 62173
2009-01-13 19:08:45 +00:00
Duncan Sands
975f2428ba
When replacing uses and the same node is reached
...
via two paths, process it once not twice, d'oh!
Analysis, testcase and original patch thanks to
Mon Ping Wang.
llvm-svn: 62169
2009-01-13 15:17:14 +00:00
Duncan Sands
21b6c02d9d
Mark this XFAIL for the moment.
...
llvm-svn: 62168
2009-01-13 15:15:46 +00:00
Duncan Sands
439d97a6cb
Fix some typos. Also, the WidenedVectors map
...
was not being cleaned by ExpungeNode.
llvm-svn: 62167
2009-01-13 14:42:39 +00:00
Duncan Sands
8267463dec
Correct a comment - this is not a sign extension.
...
llvm-svn: 62166
2009-01-13 14:04:14 +00:00
Duncan Sands
661959b54e
Correct a comment.
...
llvm-svn: 62165
2009-01-13 13:48:44 +00:00
Nick Lewycky
911bb6122c
Wind SCEV back in time, to Nov 18th. This 'fixes' PR3275, PR3294, PR3295,
...
PR3296 and PR3302.
llvm-svn: 62160
2009-01-13 09:18:58 +00:00
Chris Lattner
70d79bbe85
add a new insertAfter method, patch by Tom Jablin!
...
llvm-svn: 62158
2009-01-13 07:43:51 +00:00
Chris Lattner
50de4f0704
make -march=cpp handle the nocapture attribute, make it assert if it
...
sees attributes it doesn't know.
llvm-svn: 62155
2009-01-13 07:22:22 +00:00
Evan Cheng
6fd76e738c
Un-tabify.
...
llvm-svn: 62151
2009-01-13 06:08:37 +00:00
Owen Anderson
fee3404e0f
Fix fallout from r62144. Evan, please double check this.
...
llvm-svn: 62150
2009-01-13 06:05:10 +00:00
Evan Cheng
a706a020bc
FIX llvm-gcc bootstrap on x86_64 linux. If a virtual register is copied to a physical register, it's not necessarily defined by a copy. We have to watch out it doesn't clobber any sub-register that might be live during its live interval. If the live interval crosses a basic block, then it's not safe to check with the less conservative check (by scanning uses and defs) because it's possible a sub-register might be live out of the block.
...
llvm-svn: 62144
2009-01-13 03:57:45 +00:00
Devang Patel
eed0505ed8
Use DebugInfo interface to lower dbg_* intrinsics.
...
llvm-svn: 62127
2009-01-13 00:35:13 +00:00
Devang Patel
6d7fd4b913
Use DebugInfo interface to lower dbg_* intrinsics.
...
llvm-svn: 62126
2009-01-13 00:32:17 +00:00
Devang Patel
13a43a3789
Start using DebugInfo API to emit debug info.
...
llvm-svn: 62125
2009-01-13 00:20:51 +00:00
Dan Gohman
276142c95b
Document several current CodeGen limitations in LangRef.html.
...
Patches for any of these are welcome!
llvm-svn: 62120
2009-01-12 23:12:39 +00:00
Devang Patel
68ef0f4ecb
Emit debug info, only if at least one compile unit is seen.
...
llvm-svn: 62118
2009-01-12 23:09:42 +00:00
Devang Patel
4379343f92
If multiple compile units are seen then emit them independently. In other words, do not force all DIEs into first, whatever it is, compile unit.
...
Note, multiple compile unit support is not well tested (it did not work correctly until now anyway.)
llvm-svn: 62116
2009-01-12 23:05:55 +00:00
Devang Patel
283436f4b9
Avoid cast<>, use light weith wrapper directly.
...
llvm-svn: 62115
2009-01-12 22:58:14 +00:00
Devang Patel
261d3cb2af
Use SrcLineInfo from DwarfWriter. The MachineModuleInfo copy will disappear soon.
...
llvm-svn: 62114
2009-01-12 22:54:42 +00:00
Dale Johannesen
12bb54e183
Enable recursive inlining. Reduce inlining threshold
...
back to 200; 400 seems to be too high, loses more than
it gains.
llvm-svn: 62107
2009-01-12 22:11:50 +00:00
Devang Patel
78077adf03
Add classof() methods to support isa<> and other related facilities.
...
llvm-svn: 62104
2009-01-12 21:38:43 +00:00
Dan Gohman
bdb0a5b773
The LLVM Assembly Language Reference incorrectly stated that the
...
prefix used for dll{import,export} is _imp__; it is actually __imp_.
Patch by Mahadevan R!
llvm-svn: 62103
2009-01-12 21:35:55 +00:00
Dan Gohman
b9e5badcf9
Fix the instructions to work even when PATH does not contain ".".
...
Thanks to Martin Geisse for pointing this out!
llvm-svn: 62102
2009-01-12 21:29:24 +00:00
Duncan Sands
bcdbfb63dc
Rename getABITypeSize to getTypePaddedSize, as
...
suggested by Chris.
llvm-svn: 62099
2009-01-12 20:38:59 +00:00
Devang Patel
27f9c78c56
Add DwarfWriter interface to mainipulate source location info.
...
( May be this info should be directly handled by the dwarf writer ? )
llvm-svn: 62096
2009-01-12 19:17:34 +00:00
Chris Lattner
e53b562bee
remove some dead options.
...
llvm-svn: 62095
2009-01-12 19:02:50 +00:00
Devang Patel
149d412a0e
Clear debug info at the end of function processing.
...
llvm-svn: 62092
2009-01-12 18:48:36 +00:00
Devang Patel
89a815941c
There is no need to maintain separate labelid list in the dwarf writer. It is not a good idea.
...
llvm-svn: 62090
2009-01-12 18:41:00 +00:00
Rafael Espindola
2fed481c49
Remove some dead code from the days llvm had type planes.
...
There might be more dead code, but with llvm-gcc bootstrap broken on linux x86-64 it is had to test :-(
llvm-svn: 62088
2009-01-12 15:53:25 +00:00